diff --git a/ark-server/.env.dist b/ark-server/.env.dist new file mode 100644 index 0000000..dc32b0b --- /dev/null +++ b/ark-server/.env.dist @@ -0,0 +1,51 @@ +# https://hub.docker.com/r/thmhoag/arkserver +# Server name as it will show on the steam server list +am_ark_SessionName=Skobkin ARK Server +# Game map to load: +# - TheIsland +# - TheCenter +# - ScorchedEarth_P +# - Ragnarok +# - Aberration_P +# - Extinction +# - Valguero_P +# - Genesis +# - CrystalIsles +# - Gen2 +am_serverMap=TheIsland +# Admin password to be used via ingame console or RCON +am_ark_ServerAdminPassword=change_this_password +# Max concurrent players in the game +am_ark_MaxPlayers=10 +# Steam query port (allows the server to show up on the steam list) +am_ark_QueryPort=27015 +# Game server port (allows clients to connect to the server) +am_ark_Port=7778 +# RCON port +am_ark_RCONPort=32330 +# Number of minutes to wait/warn players before updating/restarting +am_arkwarnminutes=15 +# Allow crossyplay with Players on Epic +am_arkflag_crossplay=false +# If true, requires ShooterGame/Saved/clusters to be mounted +ARKCLUSTER=false +# To optionally share server binary files, use /arkserver volume, see below +#ARKSERVER_SHARED= +# Fetch chat commands every X seconds and log them to stdout, 0 = disabled +LOG_RCONCHAT=0 + +# Volumes: +# Directory of steamapps and workshop files. Should be mounted so that mod installs are persisted between container runs/restarts +STEAMAPPS_DIR=./steamapps +# Directory that will contain the server files, config files, logs and backups. More information below +SERVER_DATA=./server_data +# Directory that contains the server binary files from steam, shared for multiple instances +SERVER_BINARIES=./server_binaries +# Directory that contains the game save files - must be mounted if using shared server files +SERVER_SAVES=./server_saves +# Directory that contains the shared cluster files required to jump from one ARK server to another - must be mounted if using shared server files +SERVER_CLUSTERS=./server_clusters + +# Logs +LOG_MAX_SIZE=5m +LOG_MAX_FILE=5 diff --git a/ark-server/docker-compose.yml b/ark-server/docker-compose.yml new file mode 100644 index 0000000..f2e7723 --- /dev/null +++ b/ark-server/docker-compose.yml @@ -0,0 +1,30 @@ +version: '3.7' + +services: + server: + # https://hub.docker.com/r/thmhoag/arkserver + image: thmhoag/arkserver:latest + container_name: 'ark-server' + #network_mode: "host" + ports: + - "${am_ark_QueryPort}:${am_ark_QueryPort}/tcp" + - "${am_ark_QueryPort}:${am_ark_QueryPort}/udp" + - "${am_ark_Port}:${am_ark_Port}/tcp" + - "${am_ark_Port}:${am_ark_Port}/udp" + - "7777:7777/tcp" + - "7777:7777/udp" + - "${am_ark_RCONPort}:${am_ark_RCONPort}/tcp" + - "${am_ark_RCONPort}:${am_ark_RCONPort}/udp" + env_file: .env + volumes: + - "${STEAMAPPS_DIR}:/home/steam/.steam/steamapps" + - "${SERVER_DATA}:/ark" + - "${SERVER_BINARIES}:/arkserver" + - "${SERVER_SAVES}:/arkserver/ShooterGame/Saved" + - "${SERVER_CLUSTERS}:/arkserver/ShooterGame/Saved/clusters" + restart: unless-stopped + logging: + driver: "json-file" + options: + max-size: "${LOG_MAX_SIZE:-5m}" + max-file: "${LOG_MAX_FILE:-5}"