Paper/Java via itzg/minecraft-server in docker compose; whitelist and ops synchronized from Ansible, RCON on localhost only, explicit EULA flag. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
49 lines
1.1 KiB
YAML
49 lines
1.1 KiB
YAML
---
|
|
- name: check minecraft eula acceptance
|
|
assert:
|
|
that: minecraft_eula | bool
|
|
fail_msg: "Set minecraft_eula: true to accept the Minecraft EULA (https://aka.ms/MinecraftEULA)."
|
|
|
|
- name: setup minecraft directories
|
|
file:
|
|
state: directory
|
|
path: "{{ item }}"
|
|
owner: root
|
|
group: root
|
|
mode: 0750
|
|
loop:
|
|
- "{{ minecraft_dir }}"
|
|
- "{{ minecraft_inst }}"
|
|
|
|
# the container runs as uid/gid 1000
|
|
- name: setup minecraft data directory
|
|
file:
|
|
state: directory
|
|
path: "{{ minecraft_data_location }}"
|
|
owner: "1000"
|
|
group: "1000"
|
|
mode: 0750
|
|
|
|
- name: template minecraft compose file
|
|
template:
|
|
src: opt/minecraft/docker-compose.yml.j2
|
|
dest: "{{ minecraft_inst }}/docker-compose.yml"
|
|
mode: 0644
|
|
owner: root
|
|
group: root
|
|
notify: restart minecraft
|
|
|
|
- name: template minecraft environment
|
|
template:
|
|
src: opt/minecraft/.env.j2
|
|
dest: "{{ minecraft_inst }}/.env"
|
|
mode: 0640
|
|
owner: root
|
|
group: root
|
|
notify: restart minecraft
|
|
|
|
- name: start minecraft
|
|
community.docker.docker_compose_v2:
|
|
project_src: "{{ minecraft_inst }}"
|
|
state: present
|