2026-06-18 14:18:00 +00:00
|
|
|
services:
|
|
|
|
|
archnest:
|
|
|
|
|
build: .
|
|
|
|
|
image: archnest:latest
|
|
|
|
|
container_name: archnest
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
ports:
|
|
|
|
|
- "8080:8080"
|
Add backend skeleton: Fastify + SQLite API with auth and integrations
- Single-user JWT auth with a first-run /api/setup endpoint, gated by
GET /api/system/setup-status, to back an upcoming enrollment page
- SQLite schema for users, integrations, secrets (AES-256-GCM encrypted),
bookmarks, and bookmark categories
- Integration adapter registry with real health-check adapters for
Uptime Kuma and Docker, stubs for the rest, wired to
POST /api/integrations/:id/test
- CRUD routes for integrations and bookmarks
- backend/ as its own Docker service in docker-compose.yml, Vite dev
proxy for /api, .env.example for required secrets
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BbJV5nm8KPVH1oNJYKpnoF
2026-06-18 19:04:48 +00:00
|
|
|
depends_on:
|
|
|
|
|
- archnest-backend
|
|
|
|
|
|
|
|
|
|
archnest-backend:
|
|
|
|
|
build: ./backend
|
|
|
|
|
image: archnest-backend:latest
|
|
|
|
|
container_name: archnest-backend
|
|
|
|
|
restart: unless-stopped
|
|
|
|
|
environment:
|
|
|
|
|
- PORT=4000
|
|
|
|
|
- ARCHNEST_DB_PATH=/data/archnest.db
|
|
|
|
|
- ARCHNEST_JWT_SECRET=${ARCHNEST_JWT_SECRET}
|
|
|
|
|
- ARCHNEST_SECRET_KEY=${ARCHNEST_SECRET_KEY}
|
|
|
|
|
- ARCHNEST_CORS_ORIGIN=${ARCHNEST_CORS_ORIGIN:-https://archnest.snsnetlabs.com}
|
|
|
|
|
volumes:
|
|
|
|
|
- archnest-data:/data
|
|
|
|
|
ports:
|
|
|
|
|
- "4000:4000"
|
|
|
|
|
|
|
|
|
|
volumes:
|
|
|
|
|
archnest-data:
|