services: jarca-ledger: build: context: . dockerfile: Dockerfile image: jarca-ledger:latest container_name: jarca-ledger restart: unless-stopped ports: - "8000:8000" environment: JARCA_LEDGER_DB_PATH: /data/ledger.sqlite3 JARCA_MCP_TRANSPORT: streamable-http JARCA_MCP_HOST: 0.0.0.0 JARCA_MCP_PORT: "8000" JARCA_MCP_STREAMABLE_HTTP_PATH: /mcp PYTHONUNBUFFERED: "1" volumes: - /volume1/docker/jarca-ledger/data:/data jarca-ledger-dashboard: image: jarca-ledger:latest container_name: jarca-ledger-dashboard restart: unless-stopped depends_on: jarca-ledger: condition: service_healthy ports: - "40059:8501" environment: JARCA_LEDGER_DB_PATH: /data/ledger.sqlite3 JARCA_DASHBOARD_ADMIN_ID: ${JARCA_DASHBOARD_ADMIN_ID:?set JARCA_DASHBOARD_ADMIN_ID} JARCA_DASHBOARD_ADMIN_PASSWORD: ${JARCA_DASHBOARD_ADMIN_PASSWORD:?set JARCA_DASHBOARD_ADMIN_PASSWORD} JARCA_DASHBOARD_SIGNING_SECRET: ${JARCA_DASHBOARD_SIGNING_SECRET:?set JARCA_DASHBOARD_SIGNING_SECRET} FORWARDED_ALLOW_IPS: ${JARCA_DASHBOARD_FORWARDED_ALLOW_IPS:-127.0.0.1} STREAMLIT_BROWSER_GATHER_USAGE_STATS: "false" PYTHONUNBUFFERED: "1" volumes: - /volume1/docker/jarca-ledger/data:/data command: - uvicorn - dashboard.server:app - --host - 0.0.0.0 - --port - "8501" - --proxy-headers healthcheck: interval: 30s timeout: 5s start_period: 30s retries: 3 test: - CMD - python - -c - "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8501/_stcore/health', timeout=3).read()"