--- 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: