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:
x64andarmsupport - 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
