Deployment modes
1. Combined Docker (API + UI)
docker build -t snapline-hub:0.2.4 .
docker run -p 3847:3847 \
-e HUB_ADMINS=admin@local \
-e HUB_RBAC_ENABLED=true \
-v hub-data:/app/data \
snapline-hub:0.2.4
2. Separate SPA + API
Build the UI (npm run build:web) and host web/dist on any static host. Run the API with npm start and set ALLOWED_ORIGINS to your SPA origin. Point the SPA at the API with HubApp apiBase or VITE_API_PROXY during dev.
3. Embedded packages
Install @vaagatech/snapline-hub-api and/or @vaagatech/snapline-hub-ui in your application — see embedding guide.
4. Monorepo app (this repository)
The root snapline-hub workspace is the reference app using server/ + web/ directly. Packages under packages/ are what get published to npm.
Storage
Default SQLite path: ./data/snapline-hub.db. For Postgres set SNAPLINE_HUB_STORAGE=postgres and DATABASE_URL. See storage adapters.