traefik_nextcloud_grafana/docker-compose.yml

86 lines
2.9 KiB
YAML

---
services:
traefik:
image: traefik:latest
restart: unless-stopped
container_name: traefik
command:
- --api.insecure=true # disable in prod
- --certificatesresolvers.letsencrypt.acme.email=infra@clps.ch
- --certificatesresolvers.letsencrypt.acme.storage=/etc/traefik/acme.json
- --certificatesresolvers.letsencrypt.acme.tlschallenge=true
- --entrypoints.http.address=:80
- --entrypoints.http.http.redirections.entrypoint.to=https
- --entrypoints.https.address=:443
- --log.level=info
- --providers.docker.exposedbydefault=true
- --providers.docker=true
ports:
- "80:80"
- "443:443"
- "8069:8080"
volumes:
- ./traefik/acme.json:/etc/traefik/acme.json
- /var/run/docker.sock:/var/run/docker.sock:ro
grafana:
image: grafana/grafana:latest
restart: unless-stopped
container_name: grafana
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=grafana
#labels:
# - traefik.enable=true
# - traefik.http.routers.grafana.entrypoints=https
# - traefik.http.routers.grafana.rule=Host(`grafana.clps.ch`)
# - traefik.http.routers.grafana.tls.certresolver=letsencrypt
# - traefik.http.services.grafana.loadbalancer.server.port=3000
volumes:
- ./grafana/:/etc/grafana/provisioning/datasources/
prometheus:
image: prom/prometheus:latest
restart: unless-stopped
container_name: prometheus
command:
- --config.file=/etc/prometheus/prometheus.yml
#labels:
# - traefik.enable=true
# - traefik.http.routers.prometheus.entrypoints=https
# - traefik.http.routers.prometheus.rule=Host(`prom.clps.ch`)
# - traefik.http.routers.prometheus.tls.certresolver=letsencrypt
# - traefik.http.services.prometheus.loadbalancer.server.port=9090
volumes:
- ./prometheus/:/etc/prometheus/:ro
- prom_data:/prometheus/
nextcloud:
image: nextcloud/all-in-one:latest
restart: unless-stopped
container_name: nextcloud-aio-mastercontainer
init: true
environment:
- APACHE_PORT=11000
# - SKIP_DOMAIN_VALIDATION=true
labels:
- traefik.enable=true
- traefik.http.middlewares.nextcloud_headers.headers.hostsProxyHeaders=X-Forwarded-Host
- traefik.http.middlewares.nextcloud_headers.headers.referrerPolicy=same-origin
- traefik.http.routers.nextcloud.middlewares=nextcloud_headers
- traefik.http.routers.nextcloud.rule=Host(`cloud.clps.ch`)
- traefik.http.routers.nextcloud.entrypoints=https
- traefik.http.routers.nextcloud.tls.certresolver=letsencrypt
- traefik.http.services.nextcloud.loadbalancer.server.port=11000
ports:
- "8080:8080" # disable in prod
volumes:
- nextcloud_aio_mastercontainer:/mnt/docker-aio-config
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes:
nextcloud_aio_mastercontainer:
name: nextcloud_aio_mastercontainer
prom_data: