Files
WS14-Docker-Linux-Server/README.md
2025-12-14 05:13:39 +01:00

2.6 KiB
Raw Blame History

SS14-Docker-Linux-Server 🚀

Containerized deployment of the Space Station 14 server on Linux.

Create and publish a Docker image

Overview

This project is for those who prefer containerized solutions. It's based on the official documentation but wraps the wylab-station-14 fork in a Docker image that is built from source during the Docker build.

Building the Image

  1. Clone this repository

    git clone https://git.wylab.me/wylab/WS14-Docker-Linux-Server.git
    cd WS14-Docker-Linux-Server
    
  2. Configure your server defaults

    Edit appsettings.yml and server_config.toml with the values you want baked into the image. These files will be copied into /ss14-default/publish on first run.

  3. Build the Docker image

    docker build \
      --build-arg SOURCE_REPO=https://git.wylab.me/wylab/wylab-station-14.git \
      --build-arg SOURCE_REF=master \
      --build-arg TARGET_PLATFORM=linux-x64 \
      -t wylab-ss14-server .
    
    • SOURCE_REPO Git URL of the content repo to compile (defaults to the wylab fork).
    • SOURCE_REF Branch, tag, or commit to check out (defaults to master).
    • TARGET_PLATFORM Runtime identifier passed to the packaging tool (defaults to linux-x64).

    The build container clones the selected ref, runs RUN_THIS.py --quiet to fetch submodules, and executes dotnet run --project Content.Packaging server to generate a release zip that is baked into the final layer.

Running the Server

docker run -d \
  -p 1212:1212/tcp \
  -p 1212:1212/udp \
  -p 5000:5000/tcp \
  -p 5000:5000/udp \
  -v /path/on/host:/ss14 \
  --name wylab-ss14 \
  wylab-ss14-server

On first start the container copies /ss14-default into your mounted volume (if empty) so you can edit configs or upload new builds persistently.

You can still wrap the container in Docker Compose if desired:

version: '3.9'

services:
  ss14-server:
    image: wylab-ss14-server
    build: .
    ports:
      - "1212:1212/tcp"
      - "1212:1212/udp"
      - "5000:5000/tcp"
      - "5000:5000/udp"
    volumes:
      - /path/on/host:/ss14
    restart: unless-stopped