diff --git a/apps/dawarich/.env.example b/apps/dawarich/.env.example index b180c3c..161081c 100644 --- a/apps/dawarich/.env.example +++ b/apps/dawarich/.env.example @@ -8,6 +8,9 @@ POSTGRES_USER=dawarich POSTGRES_DB=dawarich_production GRAFANA_DB_USER=dawarich_grafana_ro +PHOTON_API_HOST=photon.komoot.io +PHOTON_API_USE_HTTPS=true + METRICS_USERNAME=prometheus BACKGROUND_PROCESSING_CONCURRENCY=5 RAILS_MAX_THREADS=10 diff --git a/apps/dawarich/docker-compose.yml b/apps/dawarich/docker-compose.yml index 95f6694..d0e1b3b 100644 --- a/apps/dawarich/docker-compose.yml +++ b/apps/dawarich/docker-compose.yml @@ -93,6 +93,8 @@ services: TIME_ZONE: ${TZ} SELF_HOSTED: "true" STORE_GEODATA: "true" + PHOTON_API_HOST: ${PHOTON_API_HOST:-photon.komoot.io} + PHOTON_API_USE_HTTPS: "${PHOTON_API_USE_HTTPS:-true}" RAILS_LOG_TO_STDOUT: "true" PROMETHEUS_EXPORTER_ENABLED: "true" METRICS_USERNAME: ${METRICS_USERNAME} @@ -178,11 +180,13 @@ services: TIME_ZONE: ${TZ} SELF_HOSTED: "true" STORE_GEODATA: "true" + PHOTON_API_HOST: ${PHOTON_API_HOST:-photon.komoot.io} + PHOTON_API_USE_HTTPS: "${PHOTON_API_USE_HTTPS:-true}" RAILS_LOG_TO_STDOUT: "true" PROMETHEUS_EXPORTER_ENABLED: "true" PROMETHEUS_EXPORTER_PORT: "9394" METRICS_USERNAME: ${METRICS_USERNAME} - BACKGROUND_PROCESSING_CONCURRENCY: ${BACKGROUND_PROCESSING_CONCURRENCY} + BACKGROUND_PROCESSING_CONCURRENCY: "5" RAILS_MAX_THREADS: ${RAILS_MAX_THREADS} volumes: - dawarich_public:/var/app/public diff --git a/docs/SERVICE_CATALOG.md b/docs/SERVICE_CATALOG.md index b576121..30e5fc3 100644 --- a/docs/SERVICE_CATALOG.md +++ b/docs/SERVICE_CATALOG.md @@ -43,7 +43,7 @@ Secret-Werte sind nicht enthalten. Es werden nur Secret-Namen, Env-Key-Namen und | `immich_machine_learning` | Immich ML | `apps/immich/docker-compose.yml` | intern | `immich_default`, `immich_egress` | `model-cache` | rebuildbar | nein | keine Traefik-Route; `immich_egress` (nicht-internal) nur fuer Modell-Download zu huggingface, sonst scheitert Smart Search/Gesichtserkennung an DNS | | `mealie` | Rezeptverwaltung | `apps/mealie/docker-compose.yml` | `https://mealie.kaleschke.info` | `mealie-postgres`, Traefik | `/mnt/user/appdata/mealie/data` | Tier 2, Borg + `mealie.dump` | ja | App + DB in internem Netz getrennt | | `mealie-postgres` | Mealie-Datenbank | `apps/mealie/docker-compose.yml` | intern | `mealie_internal` | `/mnt/user/appdata/mealie/postgres18`, archivierter Rollback-Altstand `/mnt/user/appdata/_archive/pg18-immich-rollback-volumes-20260602/mealie-postgres17`, `mealie_postgres_password.txt` | Dump `mealie.dump` | nein | interne DB; PostgreSQL 18 | -| `dawarich_app` | Standort-Historie / Google-Timeline-Ersatz | `apps/dawarich/docker-compose.yml` | `https://dawarich.kaleschke.info` | eigene PostGIS-DB, eigene Redis, Traefik + Authelia, optional Home Assistant Push | `/mnt/user/appdata/dawarich/{postgres17,redis,shared,public,watched,storage}`, `dawarich_*.txt` Secrets | Tier 2, Borg + `dawarich.dump` | ja + Authelia | UI hinter Authelia; API-Key-Tracking-Endpunkte fuer OwnTracks/Overland/Traccar ohne ForwardAuth priorisiert. App und Sidekiq nutzen `freikin/dawarich:1.8.1`; Prometheus-Scrape nach aktueller Dawarich-Doku ueber `dawarich_app:3000/metrics`, Sidekiq-Metriken intern ueber `:9394`. | +| `dawarich_app` | Standort-Historie / Google-Timeline-Ersatz | `apps/dawarich/docker-compose.yml` | `https://dawarich.kaleschke.info` | eigene PostGIS-DB, eigene Redis, Traefik + Authelia, Photon Reverse Geocoding, optional Home Assistant Push | `/mnt/user/appdata/dawarich/{postgres17,redis,shared,public,watched,storage}`, `dawarich_*.txt` Secrets | Tier 2, Borg + `dawarich.dump` | ja + Authelia | UI hinter Authelia; API-Key-Tracking-Endpunkte fuer OwnTracks/Overland/Traccar ohne ForwardAuth priorisiert. Reverse Geocoding nutzt standardmaessig `photon.komoot.io` ohne Key. App und Sidekiq nutzen `freikin/dawarich:1.8.1`; Prometheus-Scrape nach aktueller Dawarich-Doku ueber `dawarich_app:3000/metrics`, Sidekiq-Metriken intern ueber `:9394`. | | `dawarich_db` | Dawarich PostGIS-Datenbank | `apps/dawarich/docker-compose.yml` | intern | `backend_net` | `/mnt/user/appdata/dawarich/postgres17`, `dawarich_postgres_password.txt`, `dawarich_grafana_ro_password.txt` | Dump `dawarich.dump`; raw DB nur bei gleichem PG/PostGIS und sauberem Shutdown | nein | PostGIS 17-3.5 Alpine; Grafana-Read-only-User `dawarich_grafana_ro` per Init-Script | | `dawarich_redis` | Dawarich Cache/Queue-Backend | `apps/dawarich/docker-compose.yml` | intern | `backend_net` | `/mnt/user/appdata/dawarich/redis`, `dawarich_redis_password.txt` | Teil von Dawarich-Restore, aber aus DB/Appdaten rekonstruierbar | nein | Redis 7 Alpine, keine Host-Ports | | `mail-archiver` | Mail-Archivierung | `apps/mail-archiver/docker-compose.yml` | `https://mail.kaleschke.info` | PostgreSQL 18, Internet/IMAP, Traefik, Authelia | `/mnt/user/appdata/mailarchiver/data-protection-keys` | Tier 2, `postgresql17-mailarchiver.dump` | ja + Authelia | Hybrid-Dienst: `frontend_net` fuer Internet, `backend_net` fuer DB; App-eigene Auth bleibt zusaetzliche Schutzschicht; Dump-Dateiname behaelt den historischen Cluster-Namen |