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.