Mam konfigurację w jednym pliku. Za słaby jestem into DevOps żeby stwierdzić czy to wszystko dobrze działa (NextCloud widać, działa).

Pytania:

  1. czy traefik tutaj sobie chodzi osobno sam dla siebie, czy jednak kieruje tak jak trzeba z zewnątrz na właściwe usługi (chociażby na NextCloud)?
  2. czy ogólnie ta konfiguracja jest dobrze napisana dla traefik i redis?
  3. chciałbym żeby wszystko tutaj działało zgodnie, tj. traefik żeby pełnił swoją rolę, tak samo redis - co trzeba byłoby poprawić/zmienić?

Dziękuję z góry za odpowiedzi.

version: "3"

volumes:
   letsencrypt:
      driver: local
   redis:
      driver: local

services:
   pgsql:
     image: postgres
     ports:
       - 5432:5432
     restart: unless-stopped
     container_name: pgsql
     environment:
        POSTGRES_DB: pgdb
#        POSTGRES_HOST: pghost
        POSTGRES_PASSWORD: pgpassword
        POSTGRES_USER: pguser
     volumes:
       - ./pg:/var/lib/postgresql/data/

   nxtcld:
     image: nextcloud
     ports:
       - 8080:80
     restart: unless-stopped
     container_name: nxtcld
     environment:
        POSTGRES_HOST: pgsql
        POSTGRES_DB: pgdb
#        POSTGRES_HOST: pghost
        POSTGRES_PASSWORD: pgpassword
        POSTGRES_USER: pguser
        NEXTCLOUD_ADMIN_USER: admin
        NEXTCLOUD_ADMIN_PASSWORD: nxtcldpasswd
     volumes:
       - ./nc:/var/www/html
     depends_on:
       - pgsql
     links:
       - pgsql

   traefik:
    image: traefik
    container_name: traefik
    restart: unless-stopped
    command:
      - "--log.level=DEBUG"
      - "--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=mojemail@mojadomena.com"
      - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
    ports:
      - 80:80
      - 443:443
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - letsencrypt:/letsencrypt

   redis:
    image: redis
    restart: unless-stopped
    volumes:
      - redis:/var/lib/redis