Files
server-config/palworld/compose.yaml
T

100 lines
2.8 KiB
YAML

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: ${PASS}
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