mirror of
https://github.com/Ayymoss/Plutainer
synced 2026-08-24 14:32:06 -04:00
80 lines
2.3 KiB
YAML
80 lines
2.3 KiB
YAML
|
|
# Several servers on one host.
|
||
|
|
#
|
||
|
|
# The pattern: one game-files copy shared read-only by everything that uses it,
|
||
|
|
# one app directory and one port per server.
|
||
|
|
|
||
|
|
x-plutainer: &plutainer
|
||
|
|
image: ghcr.io/ayymoss/plutainer:latest
|
||
|
|
restart: unless-stopped
|
||
|
|
networks: [games-net]
|
||
|
|
|
||
|
|
services:
|
||
|
|
t6zm-1:
|
||
|
|
<<: *plutainer
|
||
|
|
container_name: t6zm-1
|
||
|
|
ports: ["4976:4976/udp"]
|
||
|
|
volumes:
|
||
|
|
- /opt/game-files/T6ServerFiles:/home/plutainer/gamefiles:ro # shared
|
||
|
|
- ./t6zm-1:/home/plutainer/app # per-server
|
||
|
|
environment:
|
||
|
|
PLUTAINER_GAME: t6zm
|
||
|
|
PLUTAINER_CONFIG_FILE: dedicated_zm.cfg
|
||
|
|
PLUTAINER_PORT: "4976"
|
||
|
|
PLUTO_SERVER_KEY: ${T6ZM_KEY}
|
||
|
|
PLUTAINER_RCON_PASSWORD: ${T6ZM_RCON}
|
||
|
|
|
||
|
|
t6mp-1:
|
||
|
|
<<: *plutainer
|
||
|
|
container_name: t6mp-1
|
||
|
|
ports: ["4977:4977/udp"]
|
||
|
|
volumes:
|
||
|
|
- /opt/game-files/T6ServerFiles:/home/plutainer/gamefiles:ro # same files
|
||
|
|
- ./t6mp-1:/home/plutainer/app # own data
|
||
|
|
environment:
|
||
|
|
PLUTAINER_GAME: t6mp
|
||
|
|
PLUTAINER_CONFIG_FILE: dedicated.cfg
|
||
|
|
PLUTAINER_PORT: "4977"
|
||
|
|
PLUTO_SERVER_KEY: ${T6MP_KEY}
|
||
|
|
PLUTAINER_RCON_PASSWORD: ${T6MP_RCON}
|
||
|
|
|
||
|
|
iw4x-1:
|
||
|
|
<<: *plutainer
|
||
|
|
container_name: iw4x-1
|
||
|
|
ports: ["28960:28960/udp"]
|
||
|
|
volumes:
|
||
|
|
- /opt/game-files/IW4xServerFiles:/home/plutainer/gamefiles:ro
|
||
|
|
- ./iw4x-1:/home/plutainer/app
|
||
|
|
environment:
|
||
|
|
PLUTAINER_GAME: iw4x
|
||
|
|
PLUTAINER_CONFIG_FILE: server.cfg
|
||
|
|
PLUTAINER_PORT: "28960"
|
||
|
|
PLUTAINER_RCON_PASSWORD: ${IW4X_RCON}
|
||
|
|
|
||
|
|
cod4x-1:
|
||
|
|
<<: *plutainer
|
||
|
|
container_name: cod4x-1
|
||
|
|
ports: ["28965:28965/udp"]
|
||
|
|
volumes:
|
||
|
|
- /opt/game-files/IW3ServerFiles:/home/plutainer/gamefiles:ro
|
||
|
|
- ./cod4x-1:/home/plutainer/app
|
||
|
|
environment:
|
||
|
|
PLUTAINER_GAME: cod4x
|
||
|
|
PLUTAINER_CONFIG_FILE: server.cfg
|
||
|
|
PLUTAINER_PORT: "28965"
|
||
|
|
PLUTAINER_RCON_PASSWORD: ${COD4X_RCON}
|
||
|
|
|
||
|
|
# Restarts servers that go unhealthy. Docker's own restart policy only
|
||
|
|
# reacts to a container *exiting*, which a hung server never does.
|
||
|
|
autoheal:
|
||
|
|
image: willfarrell/autoheal
|
||
|
|
container_name: autoheal
|
||
|
|
restart: unless-stopped
|
||
|
|
environment:
|
||
|
|
- AUTOHEAL_CONTAINER_LABEL=all
|
||
|
|
volumes:
|
||
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
||
|
|
|
||
|
|
networks:
|
||
|
|
games-net:
|
||
|
|
driver: bridge
|