# Resonite Headless Docker Image & CI Workflows ## Overview This repository provides a Docker image and automation scripts for running [Resonite Headless](https://resonite.com/) 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: ```yaml 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:** ```sh 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](LICENSE) file for details.