{# vim:shiftwidth=2 #} # {{ 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 - 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 - squadjs-{{ server.docker.name }}-data:/home/squadjs/data:rw squad-{{ server.docker.name }}: image: {{ registry_site }}/{{ server.docker.images.server }} 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 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 {% endfor %} mysql: image: mysql container_name: mysql command: --sql-mode=TRADITIONAL restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: {{ squad_mysql.root_password }} MYSQL_DATABASE: {{ squad_mysql.database }} MYSQL_USER: {{ squad_mysql.user }} MYSQL_PASSWORD: {{ squad_mysql.user_password }} volumes: - /home/asgard/mysqldata:/var/lib/mysql:rw ports: - 3306:3306/tcp - 3306:3306/udp volumes: {% for server in squad_servers %} squadjs-{{ server.docker.name }}-data: squad-{{ server.docker.name }}-logs: {% endfor %}