Add RRDTool integration for monitoring WireGuard stats

Introduces a new RRDTool service for tracking WireGuard interface and peer statistics. Adds required Docker configuration, API key handling, and new scripts for managing RRD files. Updates the `entrypoint.sh` and API permissions to accommodate the new functionality.
This commit is contained in:
Eduardo Silva 2025-02-21 11:33:13 -03:00
parent 7ecf111fbe
commit 07a806a073
8 changed files with 289 additions and 4 deletions

View file

@ -8,12 +8,14 @@ services:
environment:
- SERVER_ADDRESS=127.0.0.1
- DEBUG_MODE=True
- COMPOSE_VERSION=02b
- COMPOSE_VERSION=02r
volumes:
- wireguard:/etc/wireguard
- static_volume:/app_static_files/
- .:/app
- dnsmasq_conf:/etc/dnsmasq
- app_secrets:/app_secrets/
- rrd_data:/rrd_data/
ports:
# Do not directly expose the Django port to the internet, use some kind of reverse proxy with SSL.
- "127.0.0.1:8000:8000"
@ -40,6 +42,18 @@ services:
depends_on:
- wireguard-webadmin
wireguard-webadmin-rrdtool:
container_name: wireguard-webadmin-rrdtool
restart: unless-stopped
build:
context: ./containers/rrdtool
dockerfile: Dockerfile-rrdtool
volumes:
- app_secrets:/app_secrets/
- rrd_data:/rrd_data/
depends_on:
- wireguard-webadmin
wireguard-webadmin-dns:
container_name: wireguard-webadmin-dns
restart: unless-stopped
@ -52,4 +66,6 @@ services:
volumes:
static_volume:
wireguard:
dnsmasq_conf:
dnsmasq_conf:
app_secrets:
rrd_data: