Compare commits

..
Author SHA1 Message Date
fauno 99936080ae doc: trusted ips context
continuous-integration/drone/pr Build is failing
2026-08-25 18:08:28 -03:00
fauno 7610c9f4db feat: trusted ips
continuous-integration/drone/pr Build is failing
when traefik is behind a reverse proxy, we need to tell it which
networks to trust with x-real-ip headers
2026-08-25 16:46:35 -03:00
10 changed files with 7 additions and 51 deletions
+2 -8
View File
@@ -139,14 +139,10 @@ WRITE_TIMEOUT=0s
##################################################################### #####################################################################
## Enable prometheus metrics collection ## Enable prometheus metrics collection
## Metrics are served unauthenticated on :8082, reachable only from ## used used by the coop-cloud monitoring stack
## other services on the proxy network (e.g. monitoring-ng's Alloy, ## BASIC_AUTH should also be enabled
## which auto-discovers it via the prometheus.io/scrape label)
#COMPOSE_FILE="$COMPOSE_FILE:compose.metrics.yml" #COMPOSE_FILE="$COMPOSE_FILE:compose.metrics.yml"
#METRICS_ENABLED=1 #METRICS_ENABLED=1
## Setting METRICS_FQDN also adds a public metrics endpoint (behind
## basic auth). BASIC_AUTH should be enabled for this.
#METRICS_FQDN=metrics.traefik.example.com #METRICS_FQDN=metrics.traefik.example.com
##################################################################### #####################################################################
@@ -215,8 +211,6 @@ WRITE_TIMEOUT=0s
## Garage ## Garage
#COMPOSE_FILE="$COMPOSE_FILE:compose.garage.yml" #COMPOSE_FILE="$COMPOSE_FILE:compose.garage.yml"
#GARAGE_RPC_ENABLED=1 #GARAGE_RPC_ENABLED=1
#COMPOSE_FILE="$COMPOSE_FILE:compose.garage-admin.yml"
#GARAGE_ADMIN_ENABLED=1
## Nextcloud Talk HPB ## Nextcloud Talk HPB
#COMPOSE_FILE="$COMPOSE_FILE:compose.nextcloud-talk-hpb.yml" #COMPOSE_FILE="$COMPOSE_FILE:compose.nextcloud-talk-hpb.yml"
-3
View File
@@ -84,9 +84,6 @@ Uncomment the line in the config setting `ONION_ENABLED=1`. This will create a n
## Access logs ## Access logs
To keep access logs on a volume, uncomment the "Access logs" section. To keep access logs on a volume, uncomment the "Access logs" section.
Logs will be kept for every app running, unless you opt-out of them.
Apps supporting this will have an `ACCESS_LOGS` toggle, usually set to
`false`, so they're already opt-in.
You'll need to setup rotation yourself and send the USR1 signal to You'll need to setup rotation yourself and send the USR1 signal to
Traefik for reloading. For instance, with `logrotate: Traefik for reloading. For instance, with `logrotate:
+2 -2
View File
@@ -1,4 +1,4 @@
export TRAEFIK_YML_VERSION=v36 export TRAEFIK_YML_VERSION=v34
export FILE_PROVIDER_YML_VERSION=v13 export FILE_PROVIDER_YML_VERSION=v12
export ENTRYPOINT_VERSION=v5 export ENTRYPOINT_VERSION=v5
export ANUBIS_YML_VERSION=v1 export ANUBIS_YML_VERSION=v1
-10
View File
@@ -1,10 +0,0 @@
version: "3.8"
services:
app:
environment:
- GARAGE_ADMIN_ENABLED
ports:
- target: 3903
published: 3903
protocol: tcp
mode: host
-6
View File
@@ -3,9 +3,3 @@ services:
app: app:
environment: environment:
- METRICS_ENABLED - METRICS_ENABLED
deploy:
labels:
# lets monitoring-ng's Alloy auto-discover and scrape metrics-internal
# via the proxy network.
- "prometheus.io/scrape=true"
- "prometheus.io/port=8082"
+3 -3
View File
@@ -3,7 +3,7 @@ version: "3.8"
services: services:
app: app:
image: "traefik:v3.7.13" image: "traefik:v3.7.10"
# Note(decentral1se): *please do not* add any additional ports here. # Note(decentral1se): *please do not* add any additional ports here.
# Doing so could break new installs with port conflicts. Please use # Doing so could break new installs with port conflicts. Please use
# the usual `compose.$app.yml` approach for any additional ports # the usual `compose.$app.yml` approach for any additional ports
@@ -57,12 +57,12 @@ services:
- "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}" - "traefik.http.routers.${STACK_NAME}.tls.certresolver=${LETS_ENCRYPT_ENV}"
- "traefik.http.routers.${STACK_NAME}.service=api@internal" - "traefik.http.routers.${STACK_NAME}.service=api@internal"
- "traefik.http.routers.${STACK_NAME}.middlewares=security@file" - "traefik.http.routers.${STACK_NAME}.middlewares=security@file"
- "coop-cloud.${STACK_NAME}.version=6.3.0+v3.7.13" - "coop-cloud.${STACK_NAME}.version=6.1.0+v3.7.10"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT}" - "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT}"
- "backupbot.backup=${ENABLE_BACKUPS:-true}" - "backupbot.backup=${ENABLE_BACKUPS:-true}"
socket-proxy: socket-proxy:
image: lscr.io/linuxserver/socket-proxy:3.4.4 image: lscr.io/linuxserver/socket-proxy:3.4.3
deploy: deploy:
endpoint_mode: dnsrr endpoint_mode: dnsrr
environment: environment:
-9
View File
@@ -32,7 +32,6 @@ http:
stsSeconds: "31536000" stsSeconds: "31536000"
{{ if eq (env "METRICS_ENABLED") "1" }} {{ if eq (env "METRICS_ENABLED") "1" }}
routers: routers:
{{ if ne (env "METRICS_FQDN") "" }}
traefik-metrics: traefik-metrics:
rule: "Host(`{{ env "METRICS_FQDN" }}`)" rule: "Host(`{{ env "METRICS_FQDN" }}`)"
entrypoints: entrypoints:
@@ -42,14 +41,6 @@ http:
middlewares: middlewares:
- basicauth@file - basicauth@file
service: prometheus@internal service: prometheus@internal
{{ end }}
# reachable from other services on the proxy network only (this port
# isn't published to the host), without auth
traefik-metrics-internal:
rule: "PathPrefix(`/`)"
entrypoints:
- metrics-internal
service: prometheus@internal
{{ end }} {{ end }}
tls: tls:
-1
View File
@@ -1 +0,0 @@
1. compose.metrics.yml now adds prometheus.io/scrape labels so services like monitoring-ng can automatically discover and scrape Traefik's metrics.
-1
View File
@@ -1 +0,0 @@
open port 3903 for garage and traefik security update
-8
View File
@@ -79,10 +79,6 @@ entrypoints:
garage-rpc: garage-rpc:
address: ":3901" address: ":3901"
{{- end }} {{- end }}
{{- if eq (env "GARAGE_ADMIN_ENABLED") "1" }}
garage-admin:
address: ":3903"
{{- end }}
{{- if eq (env "FOODSOFT_SMTP_ENABLED") "1" }} {{- if eq (env "FOODSOFT_SMTP_ENABLED") "1" }}
foodsoft-smtp: foodsoft-smtp:
address: ":2525" address: ":2525"
@@ -135,10 +131,6 @@ entrypoints:
onion: onion:
address: ":9052" address: ":9052"
{{- end }} {{- end }}
{{- if eq (env "METRICS_ENABLED") "1" }}
metrics-internal:
address: ":8082"
{{- end }}
ping: ping:
entryPoint: web entryPoint: web