Skip to content

feat(hub,docker): add Dockerfile, compose.yml, static web serving, and self-host guide - #1142

Merged
TheGreatAxios merged 3 commits into
mainfrom
cl-11047-self-host-docker-compose
Oct 21, 2026
Merged

TheGreatAxios merged 3 commits into
mainfrom
cl-11047-self-host-docker-compose

Conversation

@TheGreatAxios

Copy link
Copy Markdown
Contributor

Closes CL-11047.

Summary

  • Static web & SPA serving (apps/hub/src/static-web.ts): When WEB_DIST_DIR (or PORTAL_DIR) is set, the hub serves the built apps/web/dist bundle on the same origin with path-traversal protection, immutable caching for hashed /assets/*, no-cache for index.html SPA fallback, and 404 for missing static files with extensions, while delegating /api/*, /status, /openapi.json, and non-GET/HEAD requests to the hub. Also populates DB_HOST/DB_PORT/DB_USER/DB_PASSWORD/DB_NAME from DATABASE_URL when unset so container deployments only need DATABASE_URL.
  • Container image & Docker Compose (Dockerfile, compose.yml, .dockerignore): Adds a single-origin production Dockerfile on oven/bun:1.4.2 and a 2026 compose.yml pairing pgvector/pgvector:pg17 (with idle_in_transaction_session_timeout=10min) and hub with persistent volumes.
  • Self-hosting documentation (docs/SELF_HOST.md, README.md, IMPLEMENTATION.md): Documents Docker Compose, Railway/Render/container hosts, first sign-in provider setup, environment variables, and backup requirements.

@linear-code

linear-code Bot commented Oct 21, 2026

Copy link
Copy Markdown

CL-11047

@TheGreatAxios
TheGreatAxios enabled auto-merge (squash) October 21, 2026 04:28
@corbits-triage

Copy link
Copy Markdown
Contributor

Triage: Pass

No changes needed from you. A maintainer will review this pull request.

Triage will approve, request review.

@TheGreatAxios
TheGreatAxios merged commit 3d207f5 into main Oct 21, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant