From 1e7541b5aa2e9bad246697ccb25b62997b2e6c27 Mon Sep 17 00:00:00 2001 From: fadmin Date: Thu, 11 Jun 2026 10:57:19 -0400 Subject: [PATCH] compose.yaml --- compose.yaml | 141 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 141 insertions(+) create mode 100644 compose.yaml diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..fca71ff --- /dev/null +++ b/compose.yaml @@ -0,0 +1,141 @@ +volumes: + redis_data: + driver: local + redis: + driver: local + letsencrypt: + driver: local + phpmyadmin: + driver: local + +services: + + traefik: + image: traefik:latest + container_name: Proxy + restart: unless-stopped + command: + - "--log.level=DEBUG" + - "--accesslog=true" + - "--api.insecure=true" + - "--providers.docker=true" + - "--providers.docker.exposedbydefault=true" + - "--entrypoints.web.address=:80" + - "--entrypoints.websecure.address=:443" + - "--entrypoints.web.http.redirections.entryPoint.to=websecure" + - "--entrypoints.web.http.redirections.entryPoint.scheme=https" + - "--certificatesresolvers.myresolver.acme.httpchallenge=true" + - "--certificatesresolvers.myresolver.acme.httpchallenge.entrypoint=web" + - "--certificatesresolvers.myresolver.acme.email=enteryour@email.com" + - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json" + ports: + - 80:80 + - 443:443 + - 8081:8080 + networks: + - web + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - letsencrypt:/letsencrypt + - /some/local/location/Traefik/acme.json:/acme.json + - /some/local/location/Traefik/files/:/etc/traefik/traefik.yml + + redis: + image: redis:latest + container_name: Redis + restart: unless-stopped + networks: + - web + volumes: + - redis:/var/lib/redis + - redis_data:/data + labels: + - traefik.enable=true + - traefik.backend=redis + + NextCloud: + image: nextcloud:latest + container_name: NameOfYourContainer + restart: unless-stopped + networks: + - web + labels: + - traefik.protocol=http + - traefik.port=80 + - traefik.http.routers.nextcloud.middlewares=nextcloud,nextcloud_redirect + - traefik.http.routers.nextcloud.tls=true + - traefik.http.routers.nextcloud.entrypoints=websecure + - traefik.http.routers.nextcloud.tls.certresolver=myresolver + - traefik.http.routers.nextcloud.rule=Host(`some.domain.com`) + - traefik.http.middlewares.nextcloud.headers.customFrameOptionsValue=ALLOW-FR> + - traefik.http.middlewares.nextcloud.headers.stsSeconds=155520011 + - traefik.http.middlewares.nextcloud.headers.stsIncludeSubdomains=true + - traefik.http.middlewares.nextcloud.headers.stsPreload=true + - traefik.http.middlewares.nextcloud.redirectregex.regex=/.well-know> + - traefik.http.middlewares.nextcloud_redirect.redirectregex.replacement=/remo> + environment: + - MYSQL_HOST=mysql + - MYSQL_DATABASE=nextcloud + - MYSQL_USER=MySQLUser + - MYSQL_PASSWORD=MySQLPassword + - NEXTCLOUD_ADMIN_USER=admin + - NEXTCLOUD_ADMIN_PASSWORD=adminpass + - REDIS_HOST=redis + - NEXTCLOUD_TRUSTED_DOMAINS=some.domain.com + - TRUSTED_PROXIES=172.18.0.0/16 + volumes: + - /path/to/you/data/:/var/www/html + + portainer: + image: portainer/portainer-ce:latest + container_name: Container-WebUI + command: -H unix:///var/run/docker.sock + restart: always + labels: + - "traefik.enable=true" + - "traefik.http.routers.portainer.entrypoints=web" + - "traefik.http.routers.portainer.rule=Host(`portainer.domain.com`)" + - "traefik.http.middlewares.portainer-https-redirect.redirectscheme.scheme=https" + - "traefik.http.routers.portainer.middlewares=portainer-https-redirect" + - "traefik.http.routers.portainer-secure.entrypoints=websecure" + - "traefik.http.routers.portainer-secure.rule=Host(`portainer.domain.com`)" + - "traefik.http.routers.portainer-secure.tls=true" + - "traefik.http.routers.portainer-secure.tls.certresolver=myresolver" + - "traefik.http.routers.portainer-secure.service=portainer" + - "traefik.http.services.portainer.loadbalancer.server.port=9000" + - "traefik.docker.network=traefik-proxy" + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /some/local/location/Portainer:/data + ports: + - 9001:9001 + - 8081:9000 +# - 82:8000 + networks: + - web + + phpmyadmin: + image: phpmyadmin/phpmyadmin + container_name: Database-WebUI + restart: unless-stopped + networks: + - web + environment: + - PMA_ARBITRARY=1 + labels: + - traefik.backend=phpmyadmin + - traefik.http.routers.phpmyadmin.tls.certresolver=myresolver + - traefik.http.routers.phpmyadmin.rule=Host(`phpmyadmin.domain.com`) + - traefik.docker.network=web + - traefik.port=80 + - traefik.port=443 + volumes: + - phpmyadmin:/sessions + - /some/local/location/phpmyadmin/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php + - /some/local/location/phpmyadmin/theme/:/www/themes/theme/ + + + +networks: + web: + external: true \ No newline at end of file