services: palworld: image: thijsvanloef/palworld-server-docker:latest restart: unless-stopped container_name: palworld-server stop_grace_period: 30s # Set to however long you are willing to wait for the container to gracefully stop ports: - 8211:8211/udp - 27015:27015/udp expose: - 8212 #exposed to system, behind firewall environment: PUID: 1000 PGID: 1000 PORT: 8211 # Optional but recommended PLAYERS: 16 # Optional but recommended SERVER_PASSWORD: ${PWD} MULTITHREADING: true REST_API_ENABLED: true REST_API_PORT: 8212 TZ: "UTC" ADMIN_PASSWORD: ${ADMIN_PWD} COMMUNITY: false # Enable this if you want your server to show up in the community servers tab, USE WITH SERVER_PASSWORD! SERVER_NAME: "Fluffy Cult" SERVER_DESCRIPTION: "The server that worships the god given flufy tails" CROSSPLAY_PLATFORMS: "(Steam,Xbox,PS5,Mac)" RCON_ENABLED: true RCON_PORT: 25575 BUILD_OBJECT_DETERIORATION_DAMAGE_RATE: 0.0 networks: - palworld-network volumes: - ./palworld:/palworld/ deploy: resources: limits: memory: 10G admin-panel: build: ./adminPage depends_on: - admin-backend container_name: palworld-admin-panel restart: unless-stopped networks: - reverse_proxy_default - palworld-admin environment: - CONTAINER_NAME=palworld-server - DOCKER_HOST=tcp://admin-backend:2375 - PASSWORD=${PANEL_PASS} - USERNAME=${PANEL_USER} healthcheck: test: - "CMD" - "python3" - "-c" - | import urllib.request, sys try: urllib.request.urlopen('http://localhost:5000/', timeout=5) except urllib.error.HTTPError as e: if e.code in [401, 403]: sys.exit(0) sys.exit(1) except Exception: sys.exit(1) interval: 30s timeout: 5s retries: 3 start_period: 10s admin-backend: image: tecnativa/docker-socket-proxy restart: unless-stopped networks: - palworld-admin environment: - ALLOW_START=1 - ALLOW_STOP=1 - POST=1 - CONTAINERS=1 volumes: - /var/run/docker.sock:/var/run/docker.sock:ro healthcheck: test: ["CMD-SHELL", "nc -z localhost 2375 || exit 1"] interval: 10s timeout: 3s retries: 3 networks: palworld-admin: internal: true reverse_proxy_default: external: true palworld-network: external: true