Single registry drives Traefik routing, Prometheus scraping, and
the dashboard. FQDN pattern: {service}.{DOMAIN}. Adding a service
= one line in the reef dict + a compose block.
- Parameterize .env (DOMAIN, HOST_IP, S3_*, etc.) and compose.yml
- Zero-trust: remove host port exposure from postgres, rustfs, jaeger
- Traefik Go template replaces 193-line hand-written routing config
- Fold middlewares.yml into the template, delete separate file
- Prometheus switches to file_sd_configs with targets registry
- Dashboard uses JS domain resolution (zero hardcoded FQDNs)
- Grafana provisioning: datasources for Prometheus, Loki, Jaeger
- Vendor rewrite-body plugin (remove nested .git, track as files)
- Trino catalog uses ${ENV:...} for S3 settings
- CI: split traefik validation (yamllint static + template render)
- Add .env.example documenting all deployment knobs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
48 lines
1.6 KiB
Plaintext
48 lines
1.6 KiB
Plaintext
# ── Secrets (required) ──────────────────────────────
|
|
POSTGRES_PASSWORD=changeme
|
|
RUSTFS_ROOT_USER=admin
|
|
RUSTFS_ROOT_PASSWORD=changeme
|
|
RUSTFS_ACCESS_KEY=changeme
|
|
RUSTFS_SECRET_KEY=changeme
|
|
GITEA_S3_ACCESS_KEY=changeme
|
|
GITEA_S3_SECRET_KEY=changeme
|
|
GITEA_DB_PASSWORD=changeme
|
|
GITEA_TOKEN=changeme
|
|
WOODPECKER_DB_PASSWORD=changeme
|
|
WOODPECKER_AGENT_SECRET=changeme
|
|
WOODPECKER_GITEA_CLIENT=changeme
|
|
WOODPECKER_GITEA_SECRET=changeme
|
|
|
|
# Nessie Data Lake
|
|
NESSIE_DB_PASSWORD=changeme
|
|
NESSIE_S3_ACCESS_KEY=changeme
|
|
NESSIE_S3_SECRET_KEY=changeme
|
|
|
|
# Polaris Iceberg Catalog
|
|
POLARIS_DB_PASSWORD=changeme
|
|
POLARIS_ROOT_SECRET=changeme
|
|
POLARIS_S3_ACCESS_KEY=changeme
|
|
POLARIS_S3_SECRET_KEY=changeme
|
|
|
|
# Databricks (optional)
|
|
DATABRICKS_HOST=
|
|
DATABRICKS_TOKEN=
|
|
|
|
# ── Deployment ──────────────────────────────────────
|
|
# Base domain — all services get {name}.DOMAIN FQDNs.
|
|
# DNS must resolve *.DOMAIN to HOST_IP.
|
|
DOMAIN=homelab.fhirworx.io
|
|
HOST_IP=192.168.1.192
|
|
DOCKER_SOCK=/run/user/1000/docker.sock
|
|
|
|
# ── S3 / Object Storage ────────────────────────────
|
|
S3_ENDPOINT=http://rustfs:9000
|
|
S3_REGION=us-east-1
|
|
S3_WAREHOUSE=s3://lakehouse/
|
|
|
|
# ── Grafana ─────────────────────────────────────────
|
|
GF_ADMIN_PASSWORD=admin
|
|
|
|
# ── Woodpecker ──────────────────────────────────────
|
|
WOODPECKER_ADMIN=kert
|