Define NOMAD live services under /opt

This commit is contained in:
Fizzlepoof
2026-05-15 15:49:15 +00:00
parent e5de7c532d
commit 1ad5035960
5 changed files with 33 additions and 15 deletions

View File

@@ -1,7 +1,9 @@
# Homelab Stack Standards
## Repository Root
`/mnt/docker-ssd/docker/compose`
PD live compose root: `/mnt/docker-ssd/docker/compose`
NOMAD exception: standalone live deployments belong under `/opt/<service>` rather than a shared `/mnt/docker-ssd/docker/compose` tree.
Remotes:
- GitHub: `git@github.com:Paccoco/truenas-stacks.git`
@@ -19,15 +21,23 @@ Each stack contains:
- `.env.example` — committed with placeholder values
- optional init scripts (e.g. `initdb/`, `initdb-mariadb/`)
## Host-Run Services
If something on NOMAD is not deployed as a Docker compose stack, its live runtime belongs under `/opt/<service>`.
## NOMAD Live Services
On NOMAD, live service roots belong under `/opt/<service>`.
This includes:
- host-run services
- standalone Docker Compose stacks
- small service-local runtimes that should stay self-contained
Examples:
- `/opt/project-nomad`
- `/opt/newt`
- `/opt/doris-dashboard`
- `/opt/pihole-nomad`
Use the repo for source/staging, but do not run production host services from an agent workspace or random checkout under `/home/fizzlepoof/.openclaw/workspace`.
Default rule on NOMAD: keep runtime data with the service under `/opt/<service>/data` unless a service has a documented reason to use another storage tier.
Use the repo for source/staging, but do not run production services from an agent workspace or random checkout under `/home/fizzlepoof/.openclaw/workspace`.
## Deployment Order
1. `databases/` — must be up before anything else
@@ -38,8 +48,13 @@ Use the repo for source/staging, but do not run production host services from an
Validate before deploying:
```bash
# PD-style shared compose root
cd /mnt/docker-ssd/docker/compose/<stack>
docker compose --env-file .env config
# NOMAD-style service root
cd /opt/<service>
docker compose --env-file .env config
```
Deploy: