a Docker image for TShock a terraria server
- Use github actions in order to automatically build/test/publish latest TShock release into docker images
- Multi arch:
x64
andarm
support - Smart world choosing process
TShock is a toolbox for Terraria servers and communities. That toolbox is jam packed with anti-cheat tools, server-side characters, groups, permissions, item bans, tons of commands, and limitless potential. It's one of a kind.
- Download: official or experimental.
- Download: plugins and tools that work with TShock, TSAPI, and Terraria.
- Read the documentation to quickly get up to speed.
- Join Discord.
- Use the ancient old forums to find old stuff.
- Talk on GitHub discussions to ask for help, chat, and other things. This is the best way to get help if Discord isn't your thing.
- For news, follow @Pryaxis on Twitter.
Built images support multiple architectures such as x86-64, arm64 and armhf.
Pulling tieonlinux/terraria:latest retrieve the image matching your architecture.
You can also pull arch images via specific tags.
The architectures supported are the following:
Architecture | Tag |
---|---|
x86-64 | amd64-latest |
386 | 386-latest |
arm64 | arm64v8-latest |
armhf | arm32v7-latest |
▲ Any of those ▲ | ★ latest ★ |
A standard docker knowledge is required to set this up
docker create \
--name=terraria \
-e PUID=1001 \
-e PGID=1001 \
-v /path/to/tshock/config:/config \
-v /path/to/tshock/logs:/logs \
-v /path/to/tshock/world:/world \
-v /path/to/tshock/plugins:/plugins \
--name="terraria" \
tieonlinux/terraria \
-world "a world_name.wld"
Parameter | Description |
---|---|
-e PUID=1001 | for UserID - see below for explanation |
-e PGID=1001 | for GroupID - see below for explanation |
-v /path/to/tshock/config:/config | TShock's config location. Allow persistance of databases and json config |
-v /path/to/tshock/logs:/logs | TShock's log files location |
-v /path/to/tshock/world:/world | Terraria's world(s) location (containing .wld files) |
-v /path/to/tshock/plugins:/plugins | TShock's plugins location |
-world "a world_name.wld" | The file name or absolute path to the world to load |
Note that those parameters are all optional. But it's strongly recommended to use them all.
When using volumes (-v
flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user PUID
and group PGID
.
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
In this instance PUID=1001
and PGID=1001
, to find yours use id user
as below:
$ id username
uid=1001(terrariauser) gid=1001(terrariagroup) groups=1001(terrariagroup)
- TShock devs
- LinuxServer for inspiration on docker images features / readme