services:
hytale:
image: ghcr.io/kipicenko/docker-hytale-server:latest
container_name: hytale-server
restart: unless-stopped
stdin_open: true
tty: true
ports:
- "5520:5520/udp"
environment:
- SERVER_NAME=Hytale Server
- SERVER_MOTD=Welcome to my Hytale server!
- MAX_PLAYERS=50
- MAX_VIEW_RADIUS=32
# See env variables here - ".env.exmaple"
volumes:
- ./hytale-data:/dataStart the server:
docker compose upOn first run, you'll need to complete two OAuth authorizations (Hytale requirement):
Hytale uses separate OAuth clients with different scopes:
hytale-downloader- Downloads game fileshytale-server- Authenticates server for player connections
These cannot be combined (Hytale security restriction). But both credentials are saved - all future restarts require zero logins.
Skip the interactive auth flow by passing tokens directly:
| Variable | Description |
|---|---|
HYTALE_SERVER_SESSION_TOKEN |
Session token (JWT) |
HYTALE_SERVER_IDENTITY_TOKEN |
Identity token (JWT) |
HYTALE_OWNER_UUID |
Profile UUID for session |
environment:
HYTALE_SERVER_SESSION_TOKEN: "eyJhbGciOiJFZERTQSIs..."
HYTALE_SERVER_IDENTITY_TOKEN: "eyJhbGciOiJFZERTQSIs..."
HYTALE_OWNER_UUID: "123e4567-e89b-12d3-a456-426614174000"Copyright © 2026, Aleksey Kipichenko. Released under the MIT License.
