Hytale Background

Hytale Docker

Production-ready Docker container for Hytale dedicated servers. Automated authentication, auto-updates, and secure by default.

Hytale Docker Logo

One-command startup

Just docker compose up. Authenticate once via device code flow, and play forever with persistent sessions.

Automated OAuth2

Handles Hytale's device code authentication flow automatically with 30-day token persistence.

Auto-updates

Checks for server updates on startup and downloads them automatically using the official Hytale downloader.

Secure by default

Runs as a non-root user with dropped capabilities and read-only root filesystem for maximum security.

Fast boot

Optimized Java 25 runtime with AOT cache support for lightning-fast server startups.

Persistent data

Worlds, mods, logs, and configuration are stored in named volumes to survive container restarts.

One-command startup

Just docker compose up. Authenticate once via device code flow, and play forever with persistent sessions.

Automated OAuth2

Handles Hytale's device code authentication flow automatically with 30-day token persistence.

Auto-updates

Checks for server updates on startup and downloads them automatically using the official Hytale downloader.

Secure by default

Runs as a non-root user with dropped capabilities and read-only root filesystem for maximum security.

Fast boot

Optimized Java 25 runtime with AOT cache support for lightning-fast server startups.

Persistent data

Worlds, mods, logs, and configuration are stored in named volumes to survive container restarts.

Docker Compose Configurator

Customize your Hytale server configuration and get a ready-to-use docker-compose.yml

Container Settings

Memory Allocation

Initial Heap (Xms)
Max Heap (Xmx)
Container Limit
4G

Memory at JVM startup

8G

Maximum heap memory

10G

Recommended: Xmx + 2GB

Server Settings

Check for updates on startup

Data Storage

No additional mounts

docker-compose.yml
1services:
2 hytale:
3 image: rxmarin/hytale-docker:latest
4 container_name: hytale-server
5 restart: unless-stopped
6 stdin_open: true
7 tty: true
8 ports:
9 - "5520:5520/udp"
10
11 environment:
12 JAVA_OPTS: "-Xms4G -Xmx8G -XX:+UseG1GC"
13 SERVER_PORT: "5520"
14 PATCHLINE: "release"
15 AUTO_UPDATE: "false"
16 TZ: "UTC"
17
18 volumes:
19 - hytale-data:/server
20 - /etc/machine-id:/etc/machine-id:ro
21
22 deploy:
23 resources:
24 limits:
25 memory: 10G
26 reservations:
27 memory: 4G
28
29 healthcheck:
30 test: ["CMD", "pgrep", "-f", "HytaleServer.jar"]
31 interval: 30s
32 timeout: 10s
33 retries: 3
34 start_period: 120s
35
36volumes:
37 hytale-data: