# dell01 Docker-Infrastruktur für Dell01 (OptiPlex 3060 Micro, Ubuntu 24.04). ## Architektur ``` Internet └── Cloudflare Edge └── Cloudflare Tunnel (cloudflared) └── Traefik (Wildcard-Cert via Cloudflare DNS-Challenge) └── Alle Docker-Container ``` ## Ersteinrichtung ```bash cp .env.example .env # .env befüllen (alle Variablen, siehe Kommentare) make setup make all-up ``` ### .env vorbereiten | Variable | Beschreibung | |---|---| | `DOMAIN` | Aktive Domain, z.B. `home2.dnlm.de` | | `INWX_USERNAME` | INWX Login-Name | | `INWX_PASSWORD` | INWX Passwort | | `CLOUDFLARE_TUNNEL_TOKEN` | Zero Trust → Networks → Tunnels → Tunnel erstellen | | `TRAEFIK_DASHBOARD_USER` | `echo $(htpasswd -nb admin PW) \| sed -e 's/\$/\$\$/g'` | ### Cloudflare Tunnel konfigurieren Tunnel anlegen: Zero Trust → Networks → Tunnels → Token kopieren. Public Hostname im Dashboard: `*.${DOMAIN}` → `https://traefik:443` Alternativ (ohne Cloudflare-Zone): Tunnel-UUID aus dem Dashboard nehmen und bei INWX manuell setzen: ``` *.home2 CNAME .cfargotunnel.com ``` Dann ingress in `services/cloudflared/config.yaml` konfigurieren (statt Dashboard). ## Domain-Umstieg (home2 → home) ```bash # In .env ändern: DOMAIN=home.dnlm.de make setup # traefik.yaml neu generieren make all-down make all-up ``` ## Services | Service | URL | Compose | |-------------|------------------------------|----------------------------------| | Traefik | traefik.home2.dnlm.de | services/traefik/ | | Gitea | gitea.home2.dnlm.de | services/gitea/ | | cloudflared | – | services/cloudflared/ | ## Neuen Service hinzufügen Nur Traefik-Labels in die `docker-compose.yaml`: ```yaml labels: - "traefik.enable=true" - "traefik.http.routers.SERVICENAME.rule=Host(`SERVICENAME.home2.dnlm.de`)" - "traefik.http.routers.SERVICENAME.entrypoints=websecure" - "traefik.http.routers.SERVICENAME.tls=true" - "traefik.http.services.SERVICENAME.loadbalancer.server.port=PORT" ``` Netzwerk `proxy` als external einbinden – fertig.