kiwi/compose.cloud.yml
pyr0ball 8cbde774e5 chore: initial commit — kiwi Phase 2 complete
Pantry tracker app with:
- FastAPI backend + Vue 3 SPA frontend
- SQLite via circuitforge-core (migrations 001-005)
- Inventory CRUD, barcode scan, receipt OCR pipeline
- Expiry prediction (deterministic + LLM fallback)
- CF-core tier system integration
- Cloud session support (menagerie)
2026-03-30 22:20:48 -07:00

43 lines
1.2 KiB
YAML

# Kiwi — cloud managed instance
# Project: kiwi-cloud (docker compose -f compose.cloud.yml -p kiwi-cloud ...)
# Web: http://127.0.0.1:8515 → menagerie.circuitforge.tech/kiwi (via Caddy + JWT auth)
# API: internal only on kiwi-cloud-net (nginx proxies /api/ → api:8512)
services:
api:
build:
context: ..
dockerfile: kiwi/Dockerfile
restart: unless-stopped
env_file: .env
environment:
CLOUD_MODE: "true"
CLOUD_DATA_ROOT: /devl/kiwi-cloud-data
# DIRECTUS_JWT_SECRET, HEIMDALL_URL, HEIMDALL_ADMIN_TOKEN — set in .env
volumes:
- /devl/kiwi-cloud-data:/devl/kiwi-cloud-data
# LLM config — shared with other CF products; read-only in container
- ${HOME}/.config/circuitforge:/root/.config/circuitforge:ro
networks:
- kiwi-cloud-net
web:
build:
context: .
dockerfile: docker/web/Dockerfile
args:
VITE_BASE_URL: /kiwi
VITE_API_BASE: /kiwi
restart: unless-stopped
ports:
- "8515:80"
volumes:
- ./docker/web/nginx.cloud.conf:/etc/nginx/conf.d/default.conf:ro
networks:
- kiwi-cloud-net
depends_on:
- api
networks:
kiwi-cloud-net:
driver: bridge