Includes all work to date: - local_backend: FastAPI backend with products, orders, tables, shifts, cloud sync - manager_dashboard: React manager UI with product/category management, reports, settings - waiter_pwa: React PWA for waiter devices - Category reparent endpoint and UI - Waiter domain: local_ip sent on heartbeat, waiter_domain persisted from cloud response - QR code modal in AppInfoTab for waiter domain - Product form: number input spinners removed, category pre-selected on new product - Category row: count badge moved to far right Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
42 lines
1.0 KiB
YAML
42 lines
1.0 KiB
YAML
services:
|
|
backend:
|
|
image: ${REGISTRY}/pos-backend:${VERSION:-latest}
|
|
restart: unless-stopped
|
|
environment:
|
|
- SITE_ID=${SITE_ID}
|
|
- SITE_KEY=${SITE_KEY}
|
|
- CLOUD_URL=${CLOUD_URL}
|
|
- SECRET_KEY=${SECRET_KEY}
|
|
- LICENSE_GRACE_HOURS=${LICENSE_GRACE_HOURS:-24}
|
|
- DATABASE_URL=sqlite:////app/data/pos.db
|
|
- VERSION=${VERSION:-0.0.0}
|
|
volumes:
|
|
- ${DATA_PATH}:/app/data
|
|
- ${LOGO_PATH}:/app/logo.png:ro
|
|
|
|
waiter_pwa:
|
|
image: ${REGISTRY}/pos-waiter:${VERSION:-latest}
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- backend
|
|
|
|
manager_dashboard:
|
|
image: ${REGISTRY}/pos-manager:${VERSION:-latest}
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- backend
|
|
|
|
proxy:
|
|
image: nginx:alpine
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
- "4443:4443"
|
|
volumes:
|
|
- ./nginx-proxy/nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
|
- ./certs:/etc/nginx/certs:ro
|
|
depends_on:
|
|
- waiter_pwa
|
|
- manager_dashboard
|
|
restart: unless-stopped
|