services: openttd: build: . container_name: openttd-jgrpp restart: unless-stopped ports: - "3979:3979/tcp" - "3979:3979/udp" - "3977:3977/tcp" volumes: - ./config:/home/openttd/.local/share/openttd environment: - PUID=1000 - PGID=1000 # Use exec to ensure openttd receives SIGTERM directly for autosave_on_exit command: > bash -c " if [ -f /home/openttd/.local/share/openttd/save/autosave/exit.sav ]; then echo 'Found autosave/exit.sav, loading...' exec openttd -D -g save/autosave/exit.sav else exec openttd -D fi" stop_signal: SIGTERM stop_grace_period: 30s