dayzdockerserver/docker-compose.yml
Daniel Ceregatti f153f3db18 Use the local user's user id in the container when building and running, otherwise bind mounts don't have the correct ownership.
Correct output from steamcmd to avoid red herrings by creating a directory it expects as well as providing a shared object it also expects.
Update docs.
2023-10-12 18:44:37 -07:00

83 lines
No EOL
2.1 KiB
YAML

version: "3.3"
volumes:
# For steamcmd files and resource files used by the scripts
homedir_main:
# For Steam, for now
homedir_server:
# Where the server files will be installed
serverfiles:
# Server profile files
profiles:
# Upstream mission files
servermpmissions:
# Server mission files
mpmissions:
# Mods
mods:
services:
web:
build:
context: web
args:
- USER_ID
user: ${USER_ID}
volumes:
- homedir_main:/home/user
- serverfiles:/serverfiles
- servermpmissions:/serverfiles/mpmissions
- mods:/serverfiles/steamapps/workshop/content
- mods:/mods
- ./files:/files
- ./web/bin/dz:/usr/local/bin/dz
- ./web:/web
ports:
- "8001:8001/tcp"
- "8000:8000/tcp"
restart: always
env_file:
- .env
server:
build:
context: server
args:
- USER_ID
user: ${USER_ID}
volumes:
- homedir_server:/home/user
- serverfiles:/serverfiles
- servermpmissions:/mpmissions:ro
- mods:/mods
- mpmissions:/serverfiles/mpmissions
- profiles:/profiles
- ./files:/files
- ./server/bin/dz:/usr/local/bin/dz
# To have the server show up in the LAN tab of the DayZ launcher,
# it must run under host mode.
network_mode: host
# The above is mutually exclusive with the below. If you don't need
# the server to show up on the LAN, comment out the network_mode above
# and uncomment the port mappings below.
# ports:
# # Game port
# - 2302:2302/udp
# # RCON port
# - 2303:2303/udp
# # Steam port
# - 27016:27016/udp
# Always restart, unless stopped
restart: unless-stopped
# Allows attaching a debugger from the host
# cap_add:
# - SYS_PTRACE
# Allows core files to be created within the container. These are VERY LARGE! Enable only for debugging!
# One must also set the sysctl kernel.core_pattern parameter ON THE HOST to a path that is writable within the container. YMMV
# ulimits:
# core:
# soft: -1
# hard: -1
env_file:
- .env