4 Commits

Author SHA1 Message Date
quangkhai ff110c77ee add gitignore 2026-04-15 07:12:37 +02:00
quangkhai 9c283409d8 refactoring prometheus 2026-04-15 07:12:24 +02:00
quangkhai 5d1de4bc4e refactoring traefik 2026-04-15 07:12:01 +02:00
quangkhai fd9a34e273 refactor Authelia 2026-04-15 07:10:58 +02:00
4 changed files with 101 additions and 10 deletions
+31
View File
@@ -0,0 +1,31 @@
# Environment files with credentials
.env
.env.local
.env.*.local
# Database files
*.sqlite3
*.db
# Logs
*.log
logs/
# Dependencies
node_modules/
venv/
env/
# OS
.DS_Store
Thumbs.db
# IDE
.vscode/
.idea/
*.swp
*.swo
*~
# Letsencrypt
letsencrypt/
+14 -3
View File
@@ -5,7 +5,7 @@ networks:
services:
authelia:
image: authelia/authelia:latest
image: authelia/authelia:4.37.5
container_name: authelia
volumes:
- ./config:/config
@@ -14,6 +14,19 @@ services:
environment:
- TZ=UTC
restart: unless-stopped
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:9091/api/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
resources:
limits:
cpus: '0.5'
memory: 512M
reservations:
cpus: '0.25'
memory: 256M
labels:
- "traefik.enable=true"
# The URL where you will actually log in
@@ -21,8 +34,6 @@ services:
- "traefik.http.routers.authelia.entrypoints=websecure"
- "traefik.http.routers.authelia.tls.certresolver=myresolver"
- "traefik.http.services.authelia.loadbalancer.server.port=9091"
# --- ADD THESE THREE LINES BELOW ---
- "traefik.http.middlewares.authelia-auth.forwardauth.address=http://authelia:9091/api/verify?rd=https://auth.quangkhai.ch/"
- "traefik.http.middlewares.authelia-auth.forwardauth.trustForwardHeader=true"
- "traefik.http.middlewares.authelia-auth.forwardauth.authResponseHeaders=Remote-User,Remote-Groups,Remote-Name,Remote-Email"
+40 -5
View File
@@ -18,17 +18,26 @@ services:
image: pdreker/fritz_exporter:2
container_name: fritz-exporter
restart: always
env_file:
- ./.env
environment:
FRITZ_HOSTNAME: '192.168.178.1'
FRITZ_USERNAME: 'fritz9297'
FRITZ_PASSWORD: 'VeNuocNuocVe26!'
FRITZ_HOSTNAME: '${FRITZ_HOSTNAME}'
FRITZ_USERNAME: '${FRITZ_USERNAME}'
FRITZ_PASSWORD: '${FRITZ_PASSWORD}'
ports:
- "9787:9787"
networks:
- back-tier
resources:
limits:
cpus: '0.2'
memory: 128M
reservations:
cpus: '0.1'
memory: 64M
prometheus:
image: prom/prometheus:latest
image: prom/prometheus:v2.54.0
volumes:
- ./prometheus/:/etc/prometheus/
- prometheus_data:/prometheus
@@ -44,13 +53,26 @@ services:
networks:
- back-tier
restart: always
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:9090/-/healthy"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
resources:
limits:
cpus: '1'
memory: 1G
reservations:
cpus: '0.5'
memory: 512M
# deploy:
# placement:
# constraints:
# - node.hostname == ${HOSTNAME}
grafana:
image: grafana/grafana
image: grafana/grafana:11.0.0
user: "472"
depends_on:
- prometheus
@@ -68,6 +90,19 @@ services:
- front-tier
- proxy_tier
restart: always
healthcheck:
test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3000/api/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
resources:
limits:
cpus: '1'
memory: 512M
reservations:
cpus: '0.5'
memory: 256M
labels:
- "traefik.enable=true"
# HTTP to HTTPS Redirect
+16 -2
View File
@@ -3,8 +3,8 @@ services:
image: traefik:v3.6
container_name: traefik
command:
#- "--api.dashboard=true"
- "--api.insecure=true"
- "--api.dashboard=true"
- "--api.insecure=false"
- "--providers.docker=true"
- "--providers.docker.exposedbydefault=false"
@@ -33,6 +33,20 @@ services:
- ./letsencrypt:/letsencrypt
networks:
- proxy_tier
restart: unless-stopped
healthcheck:
test: ["CMD", "traefik", "healthcheck", "--ping"]
interval: 30s
timeout: 10s
retries: 3
start_period: 5s
resources:
limits:
cpus: '2'
memory: 512M
reservations:
cpus: '1'
memory: 256M
labels:
# THE MIDDLEWARE DEFINITION
- "traefik.http.middlewares.authelia-auth.forwardauth.address=http://authelia:9091/api/verify?rd=https://auth.quangkhai.ch/"