Skip to content

Environment variables

Every setting Tsuki Panel reads, grouped by area. All live in the root .env (copied from .env.example). Optional variables can be left unset — the related feature simply stays hidden or falls back.

Empty means unset

Docker Compose injects empty strings for blank variables; the API treats "" as absent, so leaving a value blank cleanly disables that feature.

API & CORS

VariableDefaultNotes
API_HOST0.0.0.0API bind address
API_PORT4000API port (internal in Docker)
CORS_ORIGINhttp://localhost:5173Comma-separated allowed origins (dev only; prod is same-origin)
NODE_ENVdevelopmentdevelopment | production | test
TZUTCTimezone for scheduled restarts/events (e.g. Europe/Amsterdam)

Authentication

VariableDefaultNotes
AUTH_PASSWORDadminRequired in prod. Bootstrap admin password
JWT_SECRETinsecure dev defaultRequired in prod. Session-signing secret, min 16 chars
COOKIE_NAMEtsuki_sessionSession cookie name
SESSION_TTL7dSession lifetime
COOKIE_SECUREon in prodForce the Secure cookie flag; set true on HTTPS, false on plain http

Discord OAuth (optional)

VariableNotes
DISCORD_CLIENT_ID / DISCORD_CLIENT_SECRETFrom your Discord app
DISCORD_REDIRECT_URIAbsolute callback URL, must match the Discord app exactly
DISCORD_GUILD_IDYour Discord server id (required for role-based access)
DISCORD_ADMIN_ROLE_IDSRole ids that get admin (comma-separated)
DISCORD_ALLOWED_ROLE_IDSIf set, only these roles may sign in (else any member = viewer)
DISCORD_ADMIN_IDSUser ids that get admin (extra/fallback)
DISCORD_ALLOWED_IDSUser id allowlist (extra/fallback)

See Authentication & roles.

Palworld connection

VariableDefaultNotes
PALWORLD_REST_URLe.g. http://<game-ip>:8212; needs RESTAPIEnabled=True
PALWORLD_REST_USERNAMEadminREST username
PALWORLD_REST_PASSWORDThe server's AdminPassword
PALWORLD_RCON_HOSTRCON host; needs RCONEnabled=True
PALWORLD_RCON_PORT25575RCON port
PALWORLD_RCON_PASSWORDThe server's AdminPassword
PALWORLD_NETWORK(compose) external Docker network of the game container, for the overlay

See Connect your Palworld server.

Data mount, config, backups & save editor

VariableDefaultNotes
PALWORLD_DATA_DIR(compose) host path of the game data dir to mount
PALWORLD_INI_PATH/palworld-data/Pal/Saved/Config/LinuxServer/PalWorldSettings.iniLive ini path inside the API
PALWORLD_SAVE_DIR/palworld-data/Pal/Saved/SaveGamesSave games dir inside the API
BACKUP_DIR/backupsWhere backup zips are stored
BACKUP_SCHEDULE_HOURS0Auto-backup every N hours (0 = off)
BACKUP_RETENTION7Auto-backups to keep
PYTHON_BINpython3Interpreter for the save converter (bundled)
SAVE_TOOLS_DIR/opt/palworld-save-toolsVendored converter dir (bundled)
PALWORLD_CONTAINERGame container name — needed for save writing & docker-logs
DOCKER_SOCKET/var/run/docker.sockDocker socket path inside the API
DOCKER_GID(compose) host docker group id so the non-root API can use the socket

See Live config, backups & save editing.

Logs

VariableDefaultNotes
PALWORLD_LOG_PATH/palworld-data/Pal/Saved/Logs/Pal.logLog file to tail (if your server writes one)
PALWORLD_CONTAINERIf the server only logs to stdout, read its docker logs instead

Map, guilds & pals (GameData)

VariableDefaultNotes
GAMEDATA_URLYour palworld-live-map GameData API base URL
GAMEDATA_STATE_PATH/api/stateState endpoint path
GAMEDATA_OBJECTS_PATH/api/objectsObjects endpoint path
LIVEMAP_URLfalls back to :3001Public URL of your live-map, linked from the Map page
MAP_IMAGE_URLFull Palpagos map image for the built-in map background
MAP_BOUNDS349400,724400,-1099400,-724400World bounds of that image
HEADER_IMAGE_URLBanner image across the top bar

See Guilds, Pals & live map.

Deployment (compose)

VariableDefaultNotes
HTTP_PORT80Public port nginx listens on
COMPOSE_FILESet to compose.yml:compose.palworld.yml to avoid -f flags
VITE_API_URL/apiOnly set if the API lives on a separate host
VITE_LIVEMAP_URLBuild-arg override for the embedded live-map URL

Persisted state paths

These default to the writable backups volume so they survive redeploys. You rarely change them.

VariableDefault
RESTART_SCHEDULE_PATH/backups/tsuki-restart-schedule.json
CONFIG_PROFILES_PATH/backups/tsuki-config-profiles.json
SAVE_BATCH_PATH/backups/tsuki-save-batch.json
AUDIT_LOG_PATH/backups/tsuki-audit.json
SIGHTINGS_PATH/backups/tsuki-sightings.json

Released under the MIT License.