feat: Docker self-hosting setup with migration service and auth bypass

- Fix Dockerfiles to copy pnpm-lock.yaml (frozen-lockfile compliance)
- Add migrate target to API Dockerfile using builder stage
- Add migrate service to docker-compose that runs before API starts
- Add AUTH_DISABLED env var bypass to auth middleware for dev/Docker
- Proxy /api/ from nginx to API container (no CORS needed)
- Include initial Drizzle migration (0000_colossal_colossus.sql)
- Add .env.example with all configurable variables
- Update README with Docker self-hosting instructions

Closes #7

Co-Authored-By: Paperclip <noreply@paperclip.ing>
This commit is contained in:
Groom Book CTO
2026-03-17 18:18:46 +00:00
parent 4f92b8bffb
commit 1098120bf3
10 changed files with 666 additions and 6 deletions
+1 -1
View File
@@ -4,7 +4,7 @@ WORKDIR /app
# Install deps
FROM base AS deps
COPY package.json pnpm-workspace.yaml ./
COPY package.json pnpm-workspace.yaml pnpm-lock.yaml ./
COPY apps/web/package.json apps/web/
COPY packages/types/package.json packages/types/
RUN pnpm install --frozen-lockfile
+9
View File
@@ -9,6 +9,15 @@ server {
add_header Cache-Control "public, immutable";
}
# Proxy API calls to the API service
location /api/ {
proxy_pass http://api:3000/api/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
# SPA fallback — serve index.html for all routes
location / {
try_files $uri $uri/ /index.html;