Don't Starve Together Dedicated Server Docker Image
This is the Docker image for DST dedicated server, based on
Plain (caveless) server should be working.
- On Docker environment which doesn't support UDP port forwarding, LAN only server cannot be used. (Still you can enable Steam punchthrough and search for your server in
- Cave server are not tested.
- If you forward port 10999/udp to another port, clients may not connect.
- 1GB base RAM, plus 60MB per user.
Install Using Docker Compose
Create a folder for storing DST server files, then put a
docker-compose.yml inside it, paste the following content:
overworld-server: image: jamesits/dst-server:plain restart: always ports: - 10999:10999/udp volumes: - ./server_config:/data/dst
docker-compose up to bring up the server. You can change server config in
To update image, use
docker-compose pull to update automatically.
Install from Docker Hub
docker pull jamesits/dst-server
Note: If you use Docker the VM way (i.e. running the image without
/data/dst mounted to a volume or host), please be cautious:
- All data (server settings, saved game status, etc.) will be DELETED PERMANATELY when deleting or updating image
- You have to use the default server configuration or pass command line arguments by yourself
More Information please refer to Docker Hub page.
Build Docker image locally
git clone https://github.com/Jamesits/docker-dst-server.git docker-dst-server cd docker-dst-server docker build .
All persist server settings can be found under
./server_config by default.
Instructions on Obtaining Server Token
Launch a steam client on a system with GUI, install Don't Starve Together, log in, press
~ button then type
TheNet:GenerateClusterToken() then press enter. You'll find a
cluster_token.txt under your client config directory. (See "References" section below for more detailed instructions. )
If you use the Docker Compose way, or have
/data/dst mounted to your host machine, copy the FILE
server_token.txt (not its content) to that folder. Also you may set token in
In other cases, you can set ENV
DST_CLUSTER_TOKEN using the content of your
cluster_token.txt. Just open it use any text editor and copy the CONTENT.
Modify Settings on a Volume You Don't Have Access To
- Create or use a Docker container which have SSH Daemon service (Like
rastasheep/ubuntu-sshd, but for security issues I recommend using your own image and use pubkey authencation. )
- Mount your server config volume to some place of our SSH Daemon container
- SSH into daemon container and change settings
- Restart game server using
docker-compose.yml which can be appended after original one:
manager: image: rastasheep/ubuntu-sshd restart: always ports: - 22 volumes: - ./server_config:/mnt/DoNotStarveTogether
Don't Starve Together Dedicated Server Docker Image Copyright (C) 2015 James Swineson (Jamesits) Copyright (C) 2015 Mingye Wang (Arthur2e5) This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.