No description
Find a file
Merith-TK df234baeab
All checks were successful
Build Docker Image on Commit / build-and-publish (push) Successful in 52s
fix the fucking readme
2025-07-18 18:46:05 -07:00
.forgejo/workflows Initial commit 2024-11-19 04:25:19 +00:00
defaults rebase to dotnet containter 2024-12-09 21:58:51 +00:00
scripts net9 harmony 2025-01-07 19:51:36 +00:00
.gitignore rebase to dotnet containter 2024-12-09 21:58:51 +00:00
docker-compose.yml net9 harmony 2025-01-07 19:51:36 +00:00
Dockerfile update with fix for steamcmd refusing to update files 2024-12-10 05:00:37 +00:00
Readme.md fix the fucking readme 2025-07-18 18:46:05 -07:00
steamcred.env push headless config 2024-11-18 20:30:43 -08:00

Resonite Headless Docker Image & CI Workflows

Overview

This repository provides a Docker image and automation scripts for running Resonite Headless in a containerized environment. It includes:

  • Dockerfile and Docker Compose setup
  • Scripts for installation, configuration, and mod management
  • CI workflows for automated image builds and publishing

Quick Start

  1. Create or edit your docker-compose.yml:

    Example:

    services:
      resonite:
        image: git.merith.xyz/oci/resonite:nightly
        container_name: resonite
        network_mode: host # dont actually know what ports resonite needs
        stdin_open: true
        tty: true
        volumes:
          - ./data:/data:rw
          - ./data/resonite:/data/resonite:rw
          - ./data/steamcmd:/data/steamcmd:rw
          - ./scripts:/scripts:ro ## Optional if you need an override for one of the scripts
        environment:
          DISABLE_STEAMCMD: false
          CONFIG_FILE: "/data/Config.json"
          COMMAND: "/scripts/99_start.sh"
          RESONITE_MOD_LOADER: true
          MOD_URLS: |
            https://github.com/Raidriar796/StresslessHeadless/releases/download/2.0.0-rc1/StresslessHeadless.dll
          RUN_AS: 1000
          STOP_LAUNCH: false
        env_file:
          - ./steamcred.env
    
  2. Configure environment variables:

    • Copy steamcred.env and fill in your Steam credentials (STEAM_USER, STEAM_PASS, STEAM_AUTH, STEAM_BETA).
    • Edit docker-compose.yml to adjust options as needed (see above).
  3. Start the container:

    docker-compose up -d
    

Quick Reference

  • Docker image: git.merith.xyz/oci/resonite:nightly
  • Repository: https://git.merith.xyz/oci/resonite
  • Default compose file: See example above or use the provided docker-compose.yml.

Configuration

Environment Variables (in docker-compose.yml)

  • DISABLE_STEAMCMD: Prevents SteamCMD from updating game files (default: false)
  • CONFIG_FILE: Path to config file (default: /data/Config.json)
  • COMMAND: Startup script (default: /scripts/99_start.sh)
  • RESONITE_MOD_LOADER: Enable Resonite Mod Loader (default: false)
  • MOD_URLS: List of mod URLs to download
  • RUN_AS: UID:GID to run the server as (default: root)
  • STOP_LAUNCH: If true, prevents server from starting (for debugging)

Steam Credentials

Set in steamcred.env (not tracked in git):

  • STEAM_USER, STEAM_PASS, STEAM_AUTH, STEAM_BETA

Volumes

  • /data: Persistent data
  • /data/resonite: Game files
  • /data/steamcmd: SteamCMD files

Scripts

  • 00_setup.sh: Main entrypoint, sets up environment and runs install/config/mod scripts
  • 01_install.sh: Installs Resonite Headless via SteamCMD
  • 02_setup_config.sh: Sets up configuration file from template if missing
  • 03_download_mods.sh: Downloads mods and sets up mod loader if enabled
  • 99_start.sh: Starts the Resonite server

Mod Support

To enable mod support, set RESONITE_MOD_LOADER: true and provide mod URLs in MOD_URLS. The scripts will download and link mods automatically.

License

This project is licensed under the MIT License. See the LICENSE file for details.