resonite/Readme.md
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

94 lines
No EOL
3.2 KiB
Markdown

# 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.