Compare commits

..

1 Commits

Author SHA1 Message Date
fauno 488777367f 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-07-28 17:09:57 -03:00
7 changed files with 8 additions and 48 deletions
+3 -4
View File
@@ -223,9 +223,8 @@ WRITE_TIMEOUT=0s
#ANUBIS_SERVE_ROBOTS_TXT=true
#ANUBIS_SLOG_LEVEL=INFO
## Anubis metrics
#COMPOSE_FILE="$COMPOSE_FILE:compose.anubis-metrics.yml"
#SECRET_BASIC_AUTH_VERSION=v1 # generate=false
## Enable onion service support
#ONION_ENABLED=1
# YAML array of trusted subnets
TRUSTED_IPS=
-5
View File
@@ -72,11 +72,6 @@ After deploying these changes, go to each recipe that supports Anubis
and follow the process there. **Enabling Anubis here is not enough for
protection your apps.**
If you want to collect Prometheus metrics for Anubis, for instance with
[monitoring-ng](/monitoring-ng), uncomment the "Anubis metrics" section
and insert the basic auth password as a secret. The username will be
"admin".
## Enabling onion service
Uncomment the line in the config setting `ONION_ENABLED=1`. This will create a new entrypoint on port 9052 which can be used to bypass forced SSL. For more details, see the [onion recipe](https://recipes.coopcloud.tech/onion).
+1 -2
View File
@@ -1,4 +1,3 @@
export TRAEFIK_YML_VERSION=v32
export TRAEFIK_YML_VERSION=v32a
export FILE_PROVIDER_YML_VERSION=v12
export ENTRYPOINT_VERSION=v5
export ANUBIS_YML_VERSION=v1
-10
View File
@@ -1,10 +0,0 @@
bots:
- import: (data)/meta/default-config.yaml
{{ if eq (env "ANUBIS_METRICS_ENABLED") "true" }}
metrics:
bind: ":9090"
network: "tcp"
basicAuth:
username: "admin"
password: "{{ secret "basic_auth" }}"
{{ end }}
-18
View File
@@ -1,18 +0,0 @@
---
version: "3.8"
services:
anubis:
environment:
ANUBIS_METRICS_ENABLED: "true"
secrets:
- "basic_auth"
deploy:
labels:
- "prometheus.io/scrape=true"
- "prometheus.io/port=9090"
- "prometheus.io/path=/metrics"
- "prometheus.io/auth=basic"
secrets:
basic_auth:
external: true
name: "${STACK_NAME}_basic_auth_${SECRET_BASIC_AUTH_VERSION}"
-9
View File
@@ -19,10 +19,6 @@ services:
OG_CACHE_CONSIDER_HOST: "${ANUBIS_OG_CACHE_CONSIDER_HOST}"
SERVE_ROBOTS_TXT: "${ANUBIS_SERVE_ROBOTS_TXT}"
SLOG_LEVEL: "${ANUBIS_SLOG_LEVEL:-INFO}"
POLICY_FNAME: "/data/cfg/botPolicy.yaml"
configs:
- source: anubis_yml
target: /data/cfg/botPolicy.yaml
networks:
- proxy
deploy:
@@ -33,8 +29,3 @@ services:
- "traefik.http.routers.anubis.entrypoints=web-secure"
- "traefik.http.services.anubis.loadbalancer.server.port=8080"
- "traefik.http.routers.anubis.service=anubis"
configs:
anubis_yml:
name: ${STACK_NAME}_anubis_yml_${ANUBIS_YML_VERSION}
file: anubis.yml.tmpl
template_driver: golang
+4
View File
@@ -33,6 +33,10 @@ entrypoints:
to: web-secure
web-secure:
address: ":443"
{{ if ne (env "TRUSTED_IPS") "" }}
forwardedHeaders:
trustedIPs: {{ env "TRUSTED_IPS" }}
{{ end }}
transport:
respondingTimeouts:
readTimeout: {{ env "READ_TIMEOUT" }}