Compare commits

..
Author SHA1 Message Date
fauno 51c75fb76a doc: remove basic auth mention
continuous-integration/drone/pr Build is failing
2026-08-01 13:05:56 -03:00
fauno 242b809924 fix: remove basic auth
continuous-integration/drone/pr Build is failing
2026-07-30 19:42:52 -03:00
fauno d0494ea4cc fix: don't generate the basic auth password
continuous-integration/drone/pr Build is failing
2026-07-28 19:34:44 -03:00
fauno f05ad93459 doc: anubis metrics 2026-07-28 19:34:37 -03:00
fauno b2b94baf78 feat: anubis metrics
continuous-integration/drone/pr Build is failing
2026-07-28 15:35:38 -03:00
8 changed files with 35 additions and 45 deletions
+3 -3
View File
@@ -223,8 +223,8 @@ WRITE_TIMEOUT=0s
#ANUBIS_SERVE_ROBOTS_TXT=true
#ANUBIS_SLOG_LEVEL=INFO
## Anubis metrics
#COMPOSE_FILE="$COMPOSE_FILE:compose.anubis-metrics.yml"
## Enable onion service support
#ONION_ENABLED=1
## Access logs
#COMPOSE_FILE="$COMPOSE_FILE:compose.access-log.yml"
+3 -16
View File
@@ -72,24 +72,11 @@ 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.
## 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).
[`abra`]: https://git.autonomic.zone/autonomic-cooperative/abra
## Access logs
To keep access logs on a volume, uncomment the "Access logs" section.
You'll need to setup rotation yourself and send the USR1 signal to
Traefik for reloading. For instance, with `logrotate:
```
# /etc/logrotate.d/traefik.conf
/var/lib/docker/volumes/traefik_SERVICE_NAME_access-logs/_data/access_log.jsonl {
postrotate
pkill -USR1 traefik
endscript
}
```
+2 -1
View File
@@ -1,3 +1,4 @@
export TRAEFIK_YML_VERSION=v33
export TRAEFIK_YML_VERSION=v32
export FILE_PROVIDER_YML_VERSION=v12
export ENTRYPOINT_VERSION=v5
export ANUBIS_YML_VERSION=v1
+7
View File
@@ -0,0 +1,7 @@
bots:
- import: (data)/meta/default-config.yaml
{{ if eq (env "ANUBIS_METRICS_ENABLED") "true" }}
metrics:
bind: ":9090"
network: "tcp"
{{ end }}
-10
View File
@@ -1,10 +0,0 @@
---
version: "3.8"
services:
app:
environment:
ACCESS_LOG_ENABLED: "true"
volumes:
- "access-logs:/var/log/"
volumes:
access-logs:
+11
View File
@@ -0,0 +1,11 @@
---
version: "3.8"
services:
anubis:
environment:
ANUBIS_METRICS_ENABLED: "true"
deploy:
labels:
- "prometheus.io/scrape=true"
- "prometheus.io/port=9090"
- "prometheus.io/path=/metrics"
+9
View File
@@ -19,6 +19,10 @@ 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:
@@ -29,3 +33,8 @@ 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
-15
View File
@@ -6,21 +6,6 @@ log:
level: {{ env "LOG_LEVEL" }}
maxAge: {{ env "LOG_MAX_AGE" }}
{{ if eq (env "ACCESS_LOG_ENABLED") "true" }}
accessLog:
format: "json"
filePath: "/var/log/access_log.jsonl"
fields:
defaultMode: "keep"
headers:
defaultMode: "keep"
names:
Authorization: "drop"
Cookie: "drop"
queryParameters:
defaultMode: "keep"
{{ end }}
providers:
swarm:
endpoint: "tcp://socket-proxy:2375"