In this tutorial, we will show you how to easily set up a Docker container for your very own Hytale server in just a few minutes.

Hytale is a multiplayer sandbox game that focuses on both creativity and adventure. It features a procedurally generated world packed with a wide variety of mobs and
One of the key features of Hytale is that you can easily host your own servers. These servers can be customized with their powerful modding API to have a ton of custom content.
Docker is one of the best ways to quickly get your own Hytale server up and running, as everything you need is already pre-configured and ready to go within the provided container. You don’t have to worry about installing any additional packages or not having the right version of Java, as the container provides everything you might need.
Another bonus of using Docker is that it makes the whole update procedure really simple.
The Docker container we are using to set up our Hytale server is provided by Deinfreu. This container only has support for AMD64 systems, so this will not function on ARM devices like the Raspberry Pi.
If you are interested in running a Hytale server on a Raspberry Pi, we recommend following our Pi-specific guide.
Please note that to run the Hytale server, you must have your own copy of the game. At the time of publishing, Hytale does not allow running a server without owning the game. During server setup, you will be required to authenticate your account.
Running a Hytale Server with Docker
In the following steps, we will walk you through setting up a Hytale server using a Docker container.
These steps should work fine on any Linux-based operating system, thanks to Docker, but we personally used Ubuntu when writing them.
Preparing your System
1. Before you begin, you must have the latest version of Docker installed on your system. If you haven’t installed Docker before, we highly recommend following our own guide.
This guide will walk you through installing the latest available version of Docker on Linux and help you run into the fewest issues when setting up your Hytale server.
https://pimylifeup.com/linux-docker-install/
2. After installing Docker on your system, we can continue with a bit more preparation work for running the Hytale server.
Our next step is to create a directory where we will be storing the Compose file, as well as any data the server needs to store. You can create this directory by using the mkdir command as shown below.
sudo mkdir -p /opt/stacks/hytaleserver/dataCopy
We are using “/opt/stacks/” as its a clean place to store all of your Docker stacks like this Hytale server. If you choose to use a different directory, some of the following steps will need to be modified.
3. The Docker container that we are using to run the Hytale Server runs under whichever user has the ID of 1000. This means the data directory must also be owned by this user.
We can take ownership of this directory by using the chown command.
sudo chown 1000:1000 /opt/stacks/hytaleserver/dataCopy
4. With the folder created, we will now want to change into it using the cd command. We need to be in this folder when we start talking with the Docker stack.
cd /opt/stacks/hytaleserverCopy
Writing a Docker Compose File for the Hytale Server
5. Now with everything set up, we can move on to writing a Docker Compose file that will be used to start up and manage our Hytale server stack.
Think of a Compose file as a set of instructions Docker can follow. It will read in this file and know exactly what container to download and start, as well as the settings it needs to utilize.
We can begin to write this new Compose file using the Nano text editor by running the command below. You can use whichever editor you like, but we feel like Nano is one of the easiest to use for beginners.
sudo nano compose.yamlCopy
6. Within this file, you will want to type out the following lines to define the Hytale Server Docker container.
While you type out these lines, there is one placeholder that you must swap out:
<TIMEZONE>: You will want to swap this placeholder out with the TZ identifier of where you live. If you don’t know what yours is, there is a good Wikipedia article that lists them.
For example, based on where we live, we would use “Australia/Hobart“.
services:
hytale:
image: deinfreu/hytale-server:experimental
container_name: hytale-server
environment:
SERVER_IP: 0.0.0.0
SERVER_PORT: 5520
PROD: FALSE
DEBUG: FALSE
TZ: <TIMEZONE>
restart: unless-stopped
ports:
- 5520:5520/udp
volumes:
- ./data:/home/container
- /etc/machine-id:/etc/machine-id:ro
tty: true
stdin_open: trueCopy
7. Once you are certain everything has been filled out correctly, you can now save and quit by pressing CTRL + X, Y, and then ENTER.
Starting up your Hytale Server using Docker
8. With the Compose file now written, starting up your Hytale server using Docker is an incredibly easy process. All you need to do is run the following command within the terminal.
After running this command, Docker will read the Compose file we just wrote, download the Hytale server container, and then start it up.
docker compose upCopy
9. During the bootup process, you will be greeted with a message that looks similar to the one below. To allow this container to download the server, you must use the provided links to authenticate your Hytale account.
The container will be unable to download the server without authentication. Once authenticated, the server will continue with it’s start up process.
hytale-server | Download Status... Please visit the following URL to authenticate:
hytale-server | https://oauth.accounts.hytale.com/oauth2/device/verify?user_code=XXXXX
hytale-server | Or visit the following URL and enter the code:
hytale-server | https://oauth.accounts.hytale.com/oauth2/device/verify
hytale-server | Authorization code: XXXXX
10. Once the server has been downloaded, you must now detach from the logs by either pressing D on your keyboard or by pressing CTRL + P and then CTRL + Q.
The server should continue to run in the background.
Authenticating your Server
11. With the server now up and running, there is something else you must do before you can begin to play on it.
Hytale, at the time of publishing, requires all self-hosted servers to be authenticated with them. Part of the reasoning behind this is that you aren’t actually allowed to host a server unless you either own a copy of the game or have a specific licence.
Luckily, as long as you own the game, this process isn’t too complicated, and the Hytale devs have tried to make it as seamless as possible.
To begin this process, we will need to interact with the command line interface of our Hyale Server Docker container by running the command below.
docker attach hytale-serverCopy
12. Now that you have attached to the Docker container, we can directly interact with the Hytale server’s command line interface.
Using this interface, we will be able to authenticate ourselves with the Hytale API. To begin the authentication process, run the following command.
auth login deviceCopy
13. You will now be prompted to authorize your server. Visit the provided URLs and follow the prompts to authorize your server and enable it to start up.
Please note that if you don’t own a copy of Hytale, you will run into an error, and your server will not start.
[2026/01/19 08:27:07 INFO] [AbstractCommand] ===================================================================
[2026/01/19 08:27:07 INFO] [AbstractCommand] DEVICE AUTHORIZATION
[2026/01/19 08:27:07 INFO] [AbstractCommand] ===================================================================
[2026/01/19 08:27:07 INFO] [AbstractCommand] Visit: https://oauth.accounts.hytale.com/oauth2/device/verify
[2026/01/19 08:27:07 INFO] [AbstractCommand] Enter code: XXXXXX
[2026/01/19 08:27:07 INFO] [AbstractCommand] Or visit: https://oauth.accounts.hytale.com/oauth2/device/verify?user_code=XXXXXX
[2026/01/19 08:27:07 INFO] [AbstractCommand] ===================================================================
[2026/01/19 08:27:07 INFO] [AbstractCommand] Waiting for authorization (expires in 600 seconds)...
14. To stop the requirement of having to re-authorize yourself every time your server starts up, we will need to change the authorization mode to “encrypted“.
Changing it to encrypted ensures that the Htale server will store the authorization token locally rather than just in memory.
Making this change is as simple as using the following command within the terminal.
auth persistence EncryptedCopy
15. With your server now authorized, you can safely detach from the Hytale server Docker container by pressing CTRL + P and then CTRL + Q on your keyboard.
16. At this point, you should now have the Hytyale server running successfully within a Docker container. You can now access it by using your device’s IP address.
If you are trying to access this outside of a home network, you will need to port forward 5520, or alternatively set up a service like Tailscale or Pangolin.
Updating your Hytale Server using Docker
In this section, we will walk you through the steps to update your Hytale server using Docker. This will involve a few steps.
First, we will update the container to the latest release. Secondly, we will manually run the Hytale downloader within the container, and finally, we will restart the container to load the update.
1. The first thing you will need to do is change into the directory where we wrote the Docker Compose file for the Hytale server.
Assuming you chose the same directories we did, you should be able to reach the right place with the command below.
cd /opt/stacks/hytaleserverCopy
2. Next, we should ensure that we are running the latest version of the Docker container. This helps ensure that we get any fixes that might have been applied to the container.
To get Docker to download the latest release of the Hytale server container we are using, we only need to run the following command.
docker compose pullCopy
3. With the updated container downloaded, use the following command to get Docker to automatically move your already running server over to the new version.
docker compose up -dCopy
4. After updating the Docker container, we will now want to manually force an update so that it grabs the latest version of the Hytale server onto your device.
We can achieve this by using the following command. This line runs a command in the container that launches the Hytale downloader.
You may be prompted to re-authenticate yourself.
docker compose exec hytale hytale-downloaderCopy
5. Once the update has been downloaded, all you need to do is restart the Docker Compose stack by running the command below.
During startup, this Hytale server Docker container will detect a new release and automatically apply it.
docker compose restartCopy
Conclusion
Hopefully, by this point in the guide, you will have successfully managed to get your Hytale server up and running using a Docker container.
Docker makes self-hosting game servers like this one for Hytale much simpler, as most of the hard work has already been done for you within the Docker container.
Please feel free to post a comment below if you have experienced any issues with getting this server running using our steps.
If you like this tutorial, we highly recommend checking out some of our many other Docker guides to see what else you can host.