60 lines
1.7 KiB
Markdown
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
|
|
|