generated from oci/template
All checks were successful
Build Docker Image on Commit / build-and-publish (push) Successful in 52s
94 lines
No EOL
3.2 KiB
Markdown
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. |