name: palworld-wine services: palworld-wine: build: . image: palworld-docker-wine:latest container_name: palworld-wine restart: unless-stopped stop_grace_period: 45s ports: - "8211:8211/udp" # game port (forward as UDP) - "27015:27015/udp" # steam query port (forward as UDP) - "8212:8212/tcp" # REST API — do NOT forward this port to the internet environment: SERVER_NAME: "My Palworld Server (Wine)" SERVER_DESCRIPTION: "Windows dedicated server under Wine — full mod support" SERVER_PASSWORD: "CHANGE_ME" # players need this to join (empty = open) ADMIN_PASSWORD: "CHANGE_ME_ADMIN" # RCON / REST API auth — always set this PLAYERS: 16 COMMUNITY: "False" # True + SERVER_PASSWORD to list publicly REST_API_ENABLED: "True" REST_API_PORT: 8212 UPDATE_ON_BOOT: "false" # true = check for game updates each start AUTO_UPDATE_ENABLED: "false" # true = poll Steam for new builds and restart to update # AUTO_UPDATE_CHECK_INTERVAL_MINUTES: 60 # minutes between update checks # AUTO_UPDATE_WARN_MINUTES: 30 # in-game warning before the update restart QUERY_PORT: 27015 # steam query port; use a distinct one per server on a host # Palworld's atomic save-backup pipeline fails under Wine ("Failed to # save. Failed copy from backup." when a player joins). Keep this False # and back up the volume externally instead. USE_BACKUP_SAVE_DATA: "False" TZ: "UTC" volumes: - palworld_data:/palworld # Web UI manager: settings editor with validation, announcements, deploy # pipeline with countdown + validation, backups, world save export/import/ # migrate, Steam Workshop mod browser. See manager/config/servers.json. manager: build: ./manager image: palworld-wine-manager:latest container_name: palworld-wine-manager restart: unless-stopped ports: - "8220:8220" environment: # Basic-auth password for the web UI (any username). CHANGE THIS. MANAGER_PASSWORD: "CHANGE_ME_ADMIN" volumes: - /var/run/docker.sock:/var/run/docker.sock # This repo dir (so the manager can read/update this compose file's env) - ./:/stacks/palworld - ./manager/config:/app/config - manager_data:/app/data # UI-provisioned server stacks are created here - ./stacks:/stacks/managed extra_hosts: - "host.docker.internal:host-gateway" # lets the manager reach provisioned servers' REST ports volumes: palworld_data: manager_data: