4 Commits
Author SHA1 Message Date
Lucas Berger c5b892c3a5 Merge remote-tracking branch 'origin/main' into gsd/phase-18-auto-timezone-detection-and-ability-to-change-timezone
CI / changes (pull_request) Successful in 3s
CI / fast-checks (pull_request) Successful in 1m27s
CI / api (pull_request) Successful in 1m5s
CI / harness (pull_request) Failing after 6m44s
CI / security (pull_request) Successful in 39s
CI / gate (pull_request) Failing after 1s
# Conflicts:
#	apps/pwa/vite.config.ts
2026-06-15 09:20:54 -04:00
luckberg 6d50f7f41c Merge pull request 'chore(dev): make the dev stack reachable through the Pangolin tunnel' (#20) from chore/dev-stack-config into main
Publish / publish (push) Successful in 21s
Reviewed-on: #20
2026-06-14 21:09:26 -04:00
Lucas BergerandClaude Opus 4.8 cc875de0eb chore(dev): allow tunnel host + all interfaces in Vite dev server
CI / changes (pull_request) Successful in 1s
CI / fast-checks (pull_request) Successful in 1m26s
CI / api (pull_request) Successful in 1m5s
CI / harness (pull_request) Successful in 4m16s
CI / security (pull_request) Successful in 39s
CI / gate (pull_request) Successful in 1s
Reaching the dev PWA through the Pangolin/newt tunnel failed: Vite's default
host check 403s any non-localhost Host header ('Blocked request'), which the
tunnel health checks on / and /health read as unhealthy. Add allowedHosts:true
and host:true so the dev server accepts the tunnel hostname and listens on all
interfaces. Dev-only config; the production image serves the built PWA itself.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 19:03:38 -04:00
Lucas BergerandClaude Opus 4.8 a2ad5bdbd3 chore(dev): enable DEV_AUTH_BYPASS in the dev compose stack
The api service in docker-compose.dev.yml ran with NODE_ENV=development but
without DEV_AUTH_BYPASS, so the dockerized dev stack enforced OIDC even though
no Authelia is reachable on the dev box. Set DEV_AUTH_BYPASS=true on the dev
override only; guarded by NODE_ENV!='production' and the production image bakes
NODE_ENV=production, so it can never reach a shipped image.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 19:03:38 -04:00
2 changed files with 11 additions and 4 deletions
+7 -4
View File
@@ -44,10 +44,13 @@ export default defineConfig({
}),
],
server: {
// Allow the internal split-DNS domain (and any subdomain) to reach the dev
// server through the reverse proxy / tunnel. A leading dot matches the apex
// and all subdomains. Dev-server only — production builds ignore this.
allowedHosts: ['.bergerhouse.net'],
// Dev box reached through the Pangolin/newt tunnel: Vite's default host check
// 403s any non-localhost Host header ("Blocked request"), which the tunnel
// health check reads as unhealthy. `true` accepts any host (fine for a private
// throwaway dev tunnel); replace with e.g. ['familysync.example.com'] to scope it.
allowedHosts: true,
// Listen on all interfaces so newt can reach Vite via the box IP, not just localhost.
host: true,
proxy: {
'/health': 'http://localhost:3000',
'/api': 'http://localhost:3000',
+4
View File
@@ -9,6 +9,10 @@ services:
- ./apps/api/src:/app/apps/api/src
environment:
NODE_ENV: development
# Local-dev only: skip OIDC and authenticate as Dev User id 1. Guarded by
# NODE_ENV !== 'production' (and the production image bakes NODE_ENV=production),
# so this can never activate in a shipped image. Required by the e2e harness.
DEV_AUTH_BYPASS: 'true'
mariadb:
ports: