52 lines
2.1 KiB
Markdown
52 lines
2.1 KiB
Markdown
# Unraid deployment
|
|
|
|
MobilityOps is deployed from a committed source archive; the server does not need Gitea
|
|
credentials. The portable `compose.yaml` is combined with `compose.unraid.yaml` so that
|
|
only the web application is reachable from the LAN.
|
|
|
|
## Server layout
|
|
|
|
- Directory: `/mnt/user/appdata/mobilityops`
|
|
- Compose project: `mobilityops`
|
|
- Web: `http://192.168.10.150:1236` (`1236` on the host to `80` in `web`)
|
|
- API and PostgreSQL: Compose network only
|
|
- n8n editor: server loopback `127.0.0.1:15678` only; use an SSH tunnel for setup
|
|
|
|
## Deploy
|
|
|
|
Create `.env` from `.env.example`, replace every placeholder secret, set
|
|
`MOBILITYOPS_ENV=production`, set both public URLs to
|
|
`http://192.168.10.150:1236`, and retain `KNOWLEDGE_PROVIDER=demo` while RAGcore is not
|
|
available. Keep `MCP_HUB_REGISTRATION_ENABLED=false` until the central Hub is ready.
|
|
|
|
```bash
|
|
cd /mnt/user/appdata/mobilityops
|
|
./deploy/unraid/configure-env.sh http://192.168.10.150:1236
|
|
docker compose -p mobilityops -f compose.yaml -f compose.unraid.yaml up --build -d
|
|
docker compose -p mobilityops -f compose.yaml -f compose.unraid.yaml exec api \
|
|
python -m app.cli seed --reset
|
|
```
|
|
|
|
Migrations run automatically in the API entrypoint. Complete the one-time n8n owner
|
|
setup without exposing its editor to the LAN, then import and publish the workflow:
|
|
|
|
```bash
|
|
./deploy/unraid/setup-n8n.sh http://127.0.0.1:15678
|
|
docker compose -p mobilityops -f compose.yaml -f compose.unraid.yaml exec n8n \
|
|
n8n import:workflow --input=//imports/mobilityops-return-processing.json
|
|
docker compose -p mobilityops -f compose.yaml -f compose.unraid.yaml exec n8n \
|
|
n8n publish:workflow --id=mobilityops-return-processing
|
|
docker compose -p mobilityops -f compose.yaml -f compose.unraid.yaml restart n8n
|
|
```
|
|
|
|
The generated n8n owner credentials remain only in the mode-`0600` server `.env`.
|
|
|
|
## Operate
|
|
|
|
```bash
|
|
cd /mnt/user/appdata/mobilityops
|
|
docker compose -p mobilityops -f compose.yaml -f compose.unraid.yaml ps
|
|
docker compose -p mobilityops -f compose.yaml -f compose.unraid.yaml logs --tail=200
|
|
docker compose -p mobilityops -f compose.yaml -f compose.unraid.yaml exec api alembic current
|
|
```
|