Add Doris Kitchen household recipe app
This commit is contained in:
59
home/doris-kitchen/DEPLOYMENT.md
Normal file
59
home/doris-kitchen/DEPLOYMENT.md
Normal file
@@ -0,0 +1,59 @@
|
||||
# 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
|
||||
|
||||
Reference in New Issue
Block a user