Migrate from homelab.fhirworx.io (LAN-only, IP allowlist) to fhirworx.io (public, Gitea SSO via oauth2-proxy). - Domain: homelab.fhirworx.io → fhirworx.io across all configs - SSO: oauth2-proxy (OIDC/Gitea) + auth-handler nginx for Traefik ForwardAuth (converts 401 → 302 redirect, same as corwins.media auth_request pattern) - Cloudflared: tunnel remote config with 20 hostnames → traefik, DNS CNAME records via CF API - Bootstrap: `docker compose run --rm wire` — idempotent cold-start that creates Gitea admin, OAuth2 app, oauth2-proxy credentials, clears Cloudflare Access apps, syncs tunnel config + DNS - Dashboard: rebranded FHIRWORX, HTTPS links, API tile added - Grafana/Woodpecker/Gitea ROOT_URLs updated to HTTPS
51 lines
828 B
Plaintext
51 lines
828 B
Plaintext
# Virtual environment
|
|
.venv/
|
|
|
|
# Bootstrap state (credentials, OAuth2 tokens)
|
|
.state/
|
|
|
|
# Data directories (user data, not tracked)
|
|
data/
|
|
data/zotero/data/
|
|
!data/zotero/data/styles/
|
|
!data/zotero/data/translators/CMS 4innovation.js
|
|
data/zotero/profiles/
|
|
tuva/
|
|
logs/**
|
|
|
|
# Generated DAB SQL (regenerate via gen_config.py --dab-sql)
|
|
bundle/sql/
|
|
|
|
# Marimo cache
|
|
notebooks/__marimo__/
|
|
|
|
# Secrets and keys
|
|
.deploy_key
|
|
.deploy_key.pub
|
|
.env
|
|
.env.bak
|
|
infra/cloudflared/*.json
|
|
infra/cloudflared/cert.pem
|
|
|
|
# Python build artifacts
|
|
__pycache__/
|
|
*.pyc
|
|
.coverage
|
|
dist/
|
|
*.egg-info/
|
|
htmlcov/
|
|
|
|
# IDE / tool settings
|
|
.claude/settings.local.json
|
|
notebooks/aco.duckdb
|
|
|
|
# Package mirrors (local cache, not tracked)
|
|
mirrors/
|
|
|
|
# Docs (auto-generated at build time)
|
|
docs/docs/api/
|
|
docs/static/library.json
|
|
docs/node_modules/
|
|
docs/build/
|
|
docs/.docusaurus/
|