Files
stellar/UNRAID.md
jason 1a9209431b
Some checks failed
CI / validate (push) Has been cancelled
m2
2026-03-23 00:06:01 -05:00

2.3 KiB

Unraid Deployment

This project currently ships as a single container:

  • the React client is built into client/dist
  • the Express server serves both static assets and API routes
  • the container listens on port 3000

Prerequisites

  • Unraid server with Docker enabled
  • Git access to the repository
  • Internet access for npm ci during image build

Option 1: Build On Unraid From Source

Clone the repo somewhere persistent on the Unraid host:

cd /mnt/user/appdata
git clone https://git.alwisp.com/jason/stellar.git
cd stellar

Build the image from the repo root:

docker build -t stellar:local .

Start the container:

docker run -d \
  --name stellar \
  --restart unless-stopped \
  -p 8080:3000 \
  -e PORT=3000 \
  -e LOG_LEVEL=info \
  stellar:local

Open the game at:

http://<your-unraid-ip>:8080

Option 2: Build With Compose On Unraid

From the repo root:

docker compose build
docker compose up -d

This uses the repo's single-service compose file and exposes the app on port 8080.

Option 3: Pull A Prebuilt Image

If you publish an image to your registry, run:

docker pull <your-registry>/stellar:<tag>
docker run -d \
  --name stellar \
  --restart unless-stopped \
  -p 8080:3000 \
  -e PORT=3000 \
  -e LOG_LEVEL=info \
  <your-registry>/stellar:<tag>

Health Check

The server exposes:

/healthz

Example:

curl http://<your-unraid-ip>:8080/healthz

Expected response:

{"status":"ok"}

Updating

If building from source:

cd /mnt/user/appdata/stellar
git pull
docker build -t stellar:local .
docker rm -f stellar
docker run -d \
  --name stellar \
  --restart unless-stopped \
  -p 8080:3000 \
  -e PORT=3000 \
  -e LOG_LEVEL=info \
  stellar:local

If using compose:

cd /mnt/user/appdata/stellar
git pull
docker compose up -d --build

Notes

  • There is no persistent SQLite mount yet because M3 persistence has not been implemented.
  • When SQLite is added, bind-mount a host path such as /mnt/user/appdata/stellar/data into the container.
  • If Unraid already uses port 8080, change the host-side port mapping and browse to that port instead.
  • Logs are written to container stdout/stderr and can be viewed from the Unraid Docker UI or with docker logs stellar.