Files
stack/.gitignore
kert 982777addb feat: public SSO — fhirworx.io domain, Gitea OAuth2, Cloudflare tunnel
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
2026-04-09 19:06:33 -04:00

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/