Compare commits
6
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f946692234
|
||
|
|
063e6b4a5a | ||
|
|
796434a9fe
|
||
|
|
5fc35796ea | ||
|
|
d48982ae9c | ||
|
|
1a18a99b8f |
+9
-2
@@ -139,10 +139,14 @@ WRITE_TIMEOUT=0s
|
||||
#####################################################################
|
||||
|
||||
## Enable prometheus metrics collection
|
||||
## used used by the coop-cloud monitoring stack
|
||||
## BASIC_AUTH should also be enabled
|
||||
## Metrics are served unauthenticated on :8082, reachable only from
|
||||
## other services on the proxy network (e.g. monitoring-ng's Alloy,
|
||||
## which auto-discovers it via the prometheus.io/scrape label)
|
||||
#COMPOSE_FILE="$COMPOSE_FILE:compose.metrics.yml"
|
||||
#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
|
||||
|
||||
#####################################################################
|
||||
@@ -223,5 +227,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
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
> https://docs.traefik.io
|
||||
|
||||
<!-- metadata -->
|
||||
* **Maintainer**: [@p4u1](https://git.coopcloud.tech/p4u1), [@decentral1se](https://git.coopcloud.tech/decentral1se), [@javielico](https://git.coopcloud.tech/javielico), Local-IT: [@moritz](https://git.coopcloud.tech/moritz), [@msimon](https://git.coopcloud.tech/simon), [@carla](https://git.coopcloud.tech/carla)
|
||||
* **Maintainer**: [@p4u1](https://git.coopcloud.tech/p4u1), [@javielico](https://git.coopcloud.tech/javielico), Local-IT: [@moritz](https://git.coopcloud.tech/moritz), [@msimon](https://git.coopcloud.tech/simon), [@carla](https://git.coopcloud.tech/carla)
|
||||
* **Status**: `stable`
|
||||
* **Category**: Utilities
|
||||
* **Features**: ?
|
||||
@@ -72,6 +72,9 @@ 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).
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
export TRAEFIK_YML_VERSION=v32
|
||||
export FILE_PROVIDER_YML_VERSION=v12
|
||||
export TRAEFIK_YML_VERSION=v33
|
||||
export FILE_PROVIDER_YML_VERSION=v13
|
||||
export ENTRYPOINT_VERSION=v5
|
||||
export ANUBIS_YML_VERSION=v1
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
bots:
|
||||
- import: (data)/meta/default-config.yaml
|
||||
{{ if eq (env "ANUBIS_METRICS_ENABLED") "true" }}
|
||||
metrics:
|
||||
bind: ":9090"
|
||||
network: "tcp"
|
||||
{{ end }}
|
||||
@@ -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"
|
||||
+10
-1
@@ -7,7 +7,7 @@ services:
|
||||
- "traefik.http.middlewares.anubis.forwardauth.address=http://anubis:8080/.within.website/x/cmd/anubis/api/check"
|
||||
- "traefik.http.middlewares.anubis.forwardauth.trustForwardHeader=true"
|
||||
anubis:
|
||||
image: "ghcr.io/techarohq/anubis:v1.26.2"
|
||||
image: "ghcr.io/techarohq/anubis:v1.27.0"
|
||||
environment:
|
||||
BIND: ":8080"
|
||||
TARGET: " "
|
||||
@@ -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
|
||||
|
||||
@@ -3,3 +3,9 @@ services:
|
||||
app:
|
||||
environment:
|
||||
- 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"
|
||||
|
||||
+2
-2
@@ -3,7 +3,7 @@ version: "3.8"
|
||||
|
||||
services:
|
||||
app:
|
||||
image: "traefik:v3.7.9"
|
||||
image: "traefik:v3.7.10"
|
||||
# Note(decentral1se): *please do not* add any additional ports here.
|
||||
# Doing so could break new installs with port conflicts. Please use
|
||||
# the usual `compose.$app.yml` approach for any additional ports
|
||||
@@ -62,7 +62,7 @@ services:
|
||||
- "backupbot.backup=${ENABLE_BACKUPS:-true}"
|
||||
|
||||
socket-proxy:
|
||||
image: lscr.io/linuxserver/socket-proxy:3.4.2
|
||||
image: lscr.io/linuxserver/socket-proxy:3.4.3
|
||||
deploy:
|
||||
endpoint_mode: dnsrr
|
||||
environment:
|
||||
|
||||
@@ -32,6 +32,7 @@ http:
|
||||
stsSeconds: "31536000"
|
||||
{{ if eq (env "METRICS_ENABLED") "1" }}
|
||||
routers:
|
||||
{{ if ne (env "METRICS_FQDN") "" }}
|
||||
traefik-metrics:
|
||||
rule: "Host(`{{ env "METRICS_FQDN" }}`)"
|
||||
entrypoints:
|
||||
@@ -41,6 +42,14 @@ http:
|
||||
middlewares:
|
||||
- basicauth@file
|
||||
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 }}
|
||||
|
||||
tls:
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
1. compose.metrics.yml now adds prometheus.io/scrape labels so services like monitoring-ng can automatically discover and scrape Traefik's metrics.
|
||||
@@ -112,6 +112,10 @@ entrypoints:
|
||||
onion:
|
||||
address: ":9052"
|
||||
{{- end }}
|
||||
{{- if eq (env "METRICS_ENABLED") "1" }}
|
||||
metrics-internal:
|
||||
address: ":8082"
|
||||
{{- end }}
|
||||
|
||||
ping:
|
||||
entryPoint: web
|
||||
|
||||
Reference in New Issue
Block a user