Files
truenas-stacks/home/doris-kitchen/DEPLOYMENT.md
2026-05-16 20:22:45 +00:00

60 lines
1.7 KiB
Markdown

# Doris Kitchen Deployment Notes
## Intended runtime shape on NOMAD
Doris Kitchen should run as a standalone NOMAD service from **`/opt/doris-kitchen`**.
- **Repo/source path:** `/home/fizzlepoof/repos/truenas-stacks/home/doris-kitchen`
- **Live runtime path:** `/opt/doris-kitchen`
- **Persistent app data:** `/opt/doris-kitchen/data`
- **Published app port:** `8092`
## Networking
Like Schoolhouse, this app should publish a host port on NOMAD and let Pangolin/Newt forward the public hostname to it.
Recommended exposure model:
- host port `8092`
- Pangolin auth enabled
- household use only for John and Leanne
## Pre-deploy checklist
1. Copy repo source into `/opt/doris-kitchen`.
2. Create a real `.env` from `.env.nomad.example`.
3. Fill in:
- `KITCHENOWL_BASE_URL`
- `KITCHENOWL_API_TOKEN`
- `KITCHENOWL_HOUSEHOLD_ID`
4. Ensure `/opt/doris-kitchen/data` exists and is writable by Docker.
5. Create the Pangolin resource after the hostname is chosen.
## Suggested deploy flow
```bash
sudo mkdir -p /opt/doris-kitchen/data
sudo rsync -a --delete --exclude '.env' --exclude 'data/' /home/fizzlepoof/repos/truenas-stacks/home/doris-kitchen/ /opt/doris-kitchen/
cd /opt/doris-kitchen
sudo cp .env.nomad.example .env
# edit .env
sudo docker compose --env-file .env config
sudo docker compose --env-file .env up -d --build
```
## Post-deploy verification
```bash
curl -fsS http://127.0.0.1:8092/api/health
curl -fsS http://127.0.0.1:8092/api/dashboard/summary
```
Then verify:
- dashboard loads
- search returns normalized recipe suggestions
- soft blacklist toggles persist
- `Yes, add to KitchenOwl` creates or links a KitchenOwl recipe
- planner returns a week with ingredient reuse notes