Skip to content

Dockerized modding environment for the Klei Entertainment's game Don't Starve Together.

License

Notifications You must be signed in to change notification settings

dstmodders/docker-dst-mod

Repository files navigation

docker-dst-mod

Alpine Size Debian Size CI Build

Supported tags and respective Dockerfile links

Overview

Docker images for modding environment of Klei Entertainment's game Don't Starve Together to dive right into the mods' development without bothering with building, installing and configuring all the tools yourself. Especially comes in handy when working on Linux and/or macOS.

Usage

$ docker pull dstmodders/dst-mod:latest
# or
$ docker pull ghcr.io/dstmodders/dst-mod:latest

See tags for a list of all available versions.

In the examples below, the current working directory will be mounted to the container as your mod directory.

Shell/Bash (Linux & macOS)

$ docker run --rm -it \
    -v "$(pwd):/opt/dont_starve/mods/$(basename "$(pwd)")" \
    -w "/opt/dont_starve/mods/$(basename "$(pwd)")" \
    dstmodders/dst-mod \
    /bin/bash

CMD (Windows)

> for %I in (.) do docker run --rm -it ^
    -v "%CD%:/opt/dont_starve/mods/%~nxI" ^
    -w "/opt/dont_starve/mods/%~nxI" ^
    dstmodders/dst-mod ^
    /bin/bash

PowerShell (Windows)

PS:\> docker run --rm -it `
    -v "${PWD}:/opt/dont_starve/mods/$((Get-Item "${PWD}").Basename)" `
    -w "/opt/dont_starve/mods/$((Get-Item "${PWD}").Basename)" `
    dstmodders/dst-mod `
    /bin/bash

Supported tools

Note

Since the game engine bundles Lua interpreter v5.1, the images bundle v5.1.5 instead of the latest one.

Alpine Debian
Packages curl
GNU Make
GNU Wget
rsync
UnZip
Zip
curl
Git
GNU Make
GNU Wget
bash-completion
OpenSSH
rsync
UnZip
Vim
Zip
Lua + LuaRocks Busted
CLuaCov
LCOV
LDoc
Luacheck
LuaCov
Busted
CLuaCov
LCOV
LDoc
Luacheck
LuaCov
NodeJS Prettier
yarn
Prettier
yarn
Other ktools klei-tools
ktools
StyLua

Supported environment variables

General

Name Value Description
DS_MODS or DST_MODS /opt/dont_starve/mods Mods directory path
DS or DST /opt/dont_starve Game directory path
IMAGEMAGICK_VERSION 7.1.1-39 ImageMagick version
KTOOLS_KRANE /usr/local/bin/krane ktools/krane path
KTOOLS_KTECH /usr/local/bin/ktech ktools/ktech path
KTOOLS_VERSION 4.5.1 ktools version
LCOV_VERSION 2.1 LCOV version
LUA_VERSION 5.1.5 Lua version

Alpine

Name Value Description
LUAROCKS_VERSION 3.8.0 LuaRocks version

Debian

Name Value Description
KLEI_TOOLS_AUTOCOMPILER /opt/klei-tools/mod_tools/autocompiler klei-tools/autocompiler path
KLEI_TOOLS_PNG /opt/klei-tools/mod_tools/png klei-tools/png path
KLEI_TOOLS_SCML /opt/klei-tools/mod_tools/scml klei-tools/scml path
KLEI_TOOLS_VERSION 1.0.0 klei-tools version
LUAROCKS_VERSION 3.11.1 LuaRocks version
STYLUA_VERSION 0.20.0 StyLua version

Supported build arguments

Name Image Default Description
IMAGEMAGICK_VERSION alpine 7.1.1-39 Sets ImageMagick version
KLEI_TOOLS_VERSION debian 1.0.0 Sets klei-tools version
KTOOLS_VERSION alpine
debian
4.5.1 Sets ktools version

Supported architectures

Image Architecture(s)
alpine linux/amd64
debian linux/amd64

Build

To build images locally:

$ docker build --tag='dstmodders/dst-mod:alpine' ./alpine/
$ docker build --tag='dstmodders/dst-mod:debian' ./debian/

Respectively, to build multi-platform images using [buildx]:

$ docker buildx build --platform='linux/amd64' --tag='dstmodders/dst-mod:alpine' ./alpine/
$ docker buildx build --platform='linux/amd64' --tag='dstmodders/dst-mod:debian' ./debian/

License

Released under the MIT License.