Docker images to run a Terraria Server. Images with TShock Server or Vanilla Server are available.
docker create --rm -it \
--name=terraria \
-v <path to data>:/config \
-e world=<world_file_name> \
-p 7777:7777 \
ghcr.io/beardedio/terraria:latest
Docker Images are avaiable on ghcr.io and Docker Hub
Dockerfile
linksWhere to get help:\ The TShock Discussions or the Terraria Forum
Where to file issues:\ https://github.com/beardedio/terraria/issues
Maintained by:\ Henry Skrtich of Bearded.io
Supported Docker versions:\ We support the latest release (down to 1.8 on a best-effort basis)
A Terraria server provides a platform for players to connect over the internet or other network for multiplayer games of Terraria.
To run with out user intervention Terraria Server needs to be configure to use an already generated world. This means you can use one that you have already generated or you can generate one via docker by running this command:
sudo docker run --rm -it -p 7777:7777 \
-v $HOME/terraria/config:/config \
--name=terraria \
ghcr.io/beardedio/terraria:latest
You can then follow the prompts to create a new world.
The world file needs to exist in the config folder. To start a server using an already generated world, use this command:
sudo docker run --rm -dit \
--name=terraria \
-v $HOME/terraria/config:/config \
-e world=<world_file_name> \
-p 7777:7777 \
ghcr.io/beardedio/terraria:latest
If you get an error from docker saying the container name already exists, it means you need to remove your old docker container process.
sudo docker rm terraria
If you want to reattach to any running containers:
sudo docker attach terraria
Now you can execute any commands to the terraria server. Ctrl-p Ctrl-q will detatch you from the process.
Here is an example docker-compose file that enables to the use of the vanilla server
version: '3'
services:
terraria:
image: ghcr.io/beardedio/terraria:latest
ports:
- '7777:7777'
restart: unless-stopped
environment:
- world=<world_file_name>
volumes:
- $HOME/terraria/config:/config
tty: true
stdin_open: true
TShock is a server modification for Terraria, written in C#, and based upon the Terraria Server API. It uses JSON for configuration management, and offers several features not present in the Terraria Server normally.
TShock dev are unreleased development builds of TShock. These builds may be unstable but they are updated faster then the released versions so they support new versions of Terraria faster.
Vanilla Terraria server is the server software provided by the developers of Terraria. This version has only basic features but it is updated along with the main game so it should always be up to date.
If a docker image isn't available of the latest versions please contact us about the new release so we can update this repo.
-v <path to plugins folder>:/tshock/ServerPlugins
. If you want to maintain any of the plugins that ship with tshock, you will need to copy them into the ServerPlugins folder. Mounting the plugins folder will override the plugins that ship with tshock.The MIT License (MIT) Copyright (c) 2024 Henry Skrtich