added new docker settings for traefik

This commit is contained in:
2026-01-18 00:46:36 +01:00
parent b9660c986d
commit fe2f659ff7
4 changed files with 16 additions and 33 deletions

View File

@@ -85,13 +85,14 @@
mode: '0600'
when: env_dict | length > 0
# 6. Sync Dateien
# 6. Sync Dateien (mit Change-Detection für Config-Apps)
- name: "Synchronisiere App-Dateien (Push)"
copy:
src: "{{ source_dir }}/"
dest: "{{ target_dir }}/"
mode: '0644'
directory_mode: '0755'
register: file_sync_result
# 7. Docker Compose Deployment
- name: "Deploy {{ app_item.name }} mit Docker Compose"
@@ -104,3 +105,14 @@
environment:
PATH: "/usr/bin:/usr/local/bin:/snap/bin:{{ ansible_env.PATH }}"
register: compose_result
# 8. Restart Container wenn Config-Dateien geändert wurden
# (Wichtig für Apps wie Traefik Edge, die Config-Dateien aus dem Dateisystem laden)
- name: "Restart {{ app_item.name }} Container wenn Config-Dateien geändert wurden"
shell: "cd {{ target_dir }} && docker compose restart"
when:
- file_sync_result.changed | default(false)
- app_item.restart_on_config_change | default(true)
environment:
PATH: "/usr/bin:/usr/local/bin:/snap/bin:{{ ansible_env.PATH }}"
ignore_errors: true

View File

@@ -1,30 +0,0 @@
http:
middlewares:
internal-ipwhitelist:
ipWhiteList:
sourceRange:
- "10.100.0.0/16" # Internes Netzwerk (VLAN 30, 40, 90, etc.)
- "10.200.0.0/24" # VPN-Netzwerk
# Nur VPN-Clients dürfen auf *.apps.internal.* zugreifen
routers:
# Separate Route für interne Apps mit TLS Termination (nicht Passthrough)
# Damit können wir IP-Whitelist anwenden
internal-apps:
rule: "HostRegexp(`^.+\\.apps\\.internal\\.k3s\\.stabify\\.de$`)"
entryPoints:
- websecure
service: k3s-cluster-internal
middlewares:
- internal-ipwhitelist
tls:
certResolver: le
domains:
- main: "*.apps.internal.k3s.stabify.de"
services:
k3s-cluster-internal:
loadBalancer:
servers:
- url: "https://10.100.40.6:443"
passHostHeader: true

View File

@@ -1,8 +1,8 @@
tcp:
routers:
# Öffentliche k3s Domains (NICHT *.apps.internal.*)
# Alle k3s Domains (inkl. *.apps.internal.*) über TLS Passthrough
k3s-passthrough:
rule: "HostSNIRegexp(`^[^.]+\\.(apps|sys)\\.k3s\\.stabify\\.de$`) && !HostSNIRegexp(`^.+\\.apps\\.internal\\.k3s\\.stabify\\.de$`)"
rule: "HostSNIRegexp(`^.+\\.k3s\\.stabify\\.de$`)"
entryPoints:
- websecure
service: k3s-cluster

View File

@@ -1,3 +1,4 @@
apps:
- name: traefik-edge
has_secrets: true # Benötigt Cloudflare Token
restart_on_config_change: true # Container neu starten wenn Config-Dateien geändert wurden