2.5 KiB
2.5 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 ciduring 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 \
-e DATABASE_PATH=/data/stellar.sqlite \
-v /mnt/user/appdata/stellar:/data \
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 \
-e DATABASE_PATH=/data/stellar.sqlite \
-v /mnt/user/appdata/stellar:/data \
<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 \
-e DATABASE_PATH=/data/stellar.sqlite \
-v /mnt/user/appdata/stellar:/data \
stellar:local
If using compose:
cd /mnt/user/appdata/stellar
git pull
docker compose up -d --build
Notes
- SQLite persistence now defaults to
/data/stellar.sqlitein containers. - The examples above bind
/mnt/user/appdata/stellarinto/dataso profile data survives container recreation. - 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.