How erikbarz/nextclouddockercomposegrafana works
This repository packages a Docker Compose Nextcloud deployment with HTTPS access, persistent application data, database/cache services, administration, centralized logs, metrics, dashboards, and maintenance scripts. The principal workflow is client request → Traefik → Nextcloud, which uses MariaDB and Redis to serve cloud data. Monitoring independently scrapes the stack into Prometheus and Grafana, while Loki receives container logs. The graph reflects documented capabilities and paths; source implementation was not provided, so undocumented call details are omitted.
Components 20
Access Layer
- Traefik Proxy
media/SSD-Data/opt/docker-compose-files/nextcloud/traefik/traefik.yml
Nextcloud Services
- Nextcloud Web
media/SSD-Data/opt/docker-compose-files/nextcloud/docker-compose.yml - MariaDB
media/SSD-Data/opt/docker-compose-files/nextcloud/docker-compose.yml - Redis Cache
media/SSD-Data/opt/docker-compose-files/nextcloud/docker-compose.yml - Cron Jobs
media/SSD-Data/opt/docker-compose-files/nextcloud/docker-compose.yml - Persistent Volumes
media/SSD-Data
Monitoring and Logs
- Node Exporter
media/SSD-Data/opt/docker-compose-files/monitoring/docker-compose.yml - cAdvisor
media/SSD-Data/opt/docker-compose-files/monitoring/docker-compose.yml - MariaDB Exporter
media/SSD-Data/opt/docker-compose-files/monitoring/docker-compose.yml - Redis Exporter
media/SSD-Data/opt/docker-compose-files/monitoring/docker-compose.yml - Prometheus
media/SSD-Data/opt/docker-compose-files/monitoring/prometheus/prometheus.yml - Loki
media/SSD-Data/opt/docker-compose-files/monitoring/loki/loki.yaml - Grafana Dashboards
media/SSD-Data/opt/docker-compose-files/monitoring/grafana/Dockerfile
Operations
- Portainer
media/SSD-Data/opt/docker-compose-files/monitoring/docker-compose.yml - Docker Runtime
- Backup Routine
media/SSD-Data/opt/scripts/nextcloud_backup.sh - Central Configuration
media/SSD-Data/opt/docker-compose-files/docker-compose.env
Other components
- Cloud Client
- Administrator
- Let's Encrypt
Connections 26
- Cloud Client → Traefik Proxy: sends requests
- Traefik Proxy → Nextcloud Web: proxies traffic
- Traefik Proxy → Let's Encrypt: requests certificates
- Nextcloud Web → MariaDB: reads and writes
- Nextcloud Web → Redis Cache: uses cache
- Cron Jobs → Nextcloud Web: runs jobs
- Nextcloud Web → Persistent Volumes: stores files
- MariaDB → Persistent Volumes: stores database
- Redis Cache → Persistent Volumes: stores state
- Administrator → Portainer: manages containers
- Portainer → Docker Runtime: controls runtime
- Node Exporter → Docker Runtime: exports metrics
- cAdvisor → Docker Runtime: exports metrics
- MariaDB Exporter → MariaDB: reads metrics
- Redis Exporter → Redis Cache: reads metrics
- Prometheus → Node Exporter: scrapes metrics
- Prometheus → cAdvisor: scrapes metrics
- Prometheus → MariaDB Exporter: scrapes metrics
- Prometheus → Redis Exporter: scrapes metrics
- Prometheus → Grafana Dashboards: serves metrics
- Docker Runtime → Loki: ships container logs
- Loki → Grafana Dashboards: serves logs
- Backup Routine → Persistent Volumes: backs up data
- Central Configuration → Traefik Proxy: configures service
- Central Configuration → Nextcloud Web: configures service
- Central Configuration → MariaDB: configures service