Ubuntu-Ansible-Setup/roles/squad-server/templates/docker-compose.yml.j2

98 lines
3.2 KiB
Plaintext
Raw Normal View History

{# vim:shiftwidth=2 #}
2023-01-22 22:06:14 -06:00
# {{ ansible_managed }}
version: '3.9'
services:
{% for server in squad_servers %}
squadjs-{{ server.docker.name }}:
image: {{ registry_site }}/{{ server.docker.images.squadjs }}
container_name: squadjs-{{ server.docker.name }}
restart: unless-stopped
links:
- "squad-{{ server.docker.name }}:squad"
volumes:
- type: bind
source: {{ squad_server_configs_dir }}/{{ server.docker.name }}/SquadJS.json
target: /home/squadjs/SquadJS/config.json
- type: bind
source: {{ squad_server_configs_dir }}/{{ server.docker.name }}/ServerConfig/Admins.cfg
target: /home/squadjs/SquadConfig/Admins.cfg
read_only: true
2023-05-08 13:38:20 -05:00
- type: bind
source: /home/asgard/git/DiscordWhitelist/extgrps/{{ server.docker.name }}-autowl.cfg
target: /home/squadjs/SquadJS/autowlfiles/{{ server.docker.name }}-autowl.cfg
- type: volume
source: squad-{{ server.docker.name }}-logs
target: /home/squadjs/SquadLogs/
read_only: true
volume:
nocopy: true
2023-06-27 00:21:59 -05:00
- squadjs-{{ server.docker.name }}-data:/home/squadjs/data:rw
2023-06-26 23:22:08 -05:00
2023-01-23 01:13:59 -06:00
squad-{{ server.docker.name }}:
image: {{ registry_site }}/{{ server.docker.images.server }}
2023-01-22 22:06:14 -06:00
container_name: squad-{{ server.docker.name }}
restart: unless-stopped
dns:
- 8.8.8.8
- 8.8.4.4
- 1.1.1.1
volumes:
- {{ squad_server_configs_dir }}/{{ server.docker.name }}:/docker-mount/
- type: volume
source: squad-{{ server.docker.name }}-logs
target: /home/steam/Squad-Server/SquadGame/Saved/Logs
2023-01-22 22:06:14 -06:00
environment:
- GAMEPORT={{ server.ports.game }}
- QUERYPORT={{ server.ports.query }}
- RCONPORT={{ server.ports.rcon }}
- FIXEDMAXPLAYERS={{ server.max_players | default(100) }}
- RCON_PASSWORD={{ server.secrets.rcon_password }}
ports:
# Game Ports
- {{ server.ports.game }}:{{ server.ports.game }}/tcp
- {{ server.ports.game }}:{{ server.ports.game }}/udp
- {{ server.ports.game|int + 1 }}:{{ server.ports.game|int + 1}}/tcp
- {{ server.ports.game|int + 1 }}:{{ server.ports.game|int + 1}}/udp
# Query Ports
- {{ server.ports.query }}:{{ server.ports.query }}/tcp
- {{ server.ports.query }}:{{ server.ports.query }}/udp
- {{ server.ports.query|int + 1 }}:{{ server.ports.query|int + 1}}/tcp
- {{ server.ports.query|int + 1 }}:{{ server.ports.query|int + 1}}/udp
# RCON Port
- {{ server.ports.rcon }}:{{ server.ports.rcon }}/tcp
- {{ server.ports.rcon }}:{{ server.ports.rcon }}/udp
2023-01-22 22:06:14 -06:00
{% endfor %}
mysql:
image: mysql
container_name: mysql
2023-02-04 15:59:43 -06:00
command: --sql-mode=TRADITIONAL
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: {{ squad_mysql.root_password }}
MYSQL_DATABASE: {{ squad_mysql.database }}
2023-06-27 02:05:26 -05:00
MYSQL_USER: {{ squad_mysql.user }}
MYSQL_PASSWORD: {{ squad_mysql.user_password }}
volumes:
2023-06-27 02:11:58 -05:00
- /home/asgard/mysqldata/mysql:/var/lib/mysql:rw
ports:
- 3306:3306/tcp
- 3306:3306/udp
2023-01-22 22:06:14 -06:00
volumes:
{% for server in squad_servers %}
2023-06-26 23:42:22 -05:00
squadjs-{{ server.docker.name }}-data:
squad-{{ server.docker.name }}-logs:
{% endfor %}