version: '3.8' services: traefik: image: "traefik:latest" container_name: "traefik" restart: unless-stopped command: - "--accesslog=false" - "--providers.docker=true" - "--providers.docker.exposedbydefault=false" - "--entrypoints.websecure.address=:443" - "--entrypoints.web.address=:80" - "--entrypoints.web.http.redirections.entrypoint.to=websecure" - "--entrypoints.web.http.redirections.entrypoint.scheme=https" - "--certificatesresolvers.selfhostedservices.acme.tlschallenge=true" ### Traefik Stafing ACME servers. Comment for PRODUCTION ### - "--certificatesresolvers.myresolver.acme.caserver=https://acme-staging-v02.api.letsencrypt.org/directory" ############################################################ - "--certificatesresolvers.selfhostedservices.acme.email=${LETSENCRYPT_EMAIL}" - "--certificatesresolvers.selfhostedservices.acme.storage=/letsencrypt/acme.json" - "--api.insecure=true" - "--api.dashboard=true" - "--providers.docker" - "--log.level=INFO" ports: - target: 80 published: 80 mode: host - target: 443 published: 443 mode: host - target: 8080 published: 8080 mode: host volumes: - "./letsencrypt:/letsencrypt" - "/var/run/docker.sock:/var/run/docker.sock:ro" oracolo: container_name: oracolo # image: pastagringo/oracolo-docker build: context: . environment: - NPUB=${NPUB} - RELAYS=${RELAYS} - TOP_NOTES_NB=${TOP_NOTES_NB} - SHORT_CHARS_NB=${SHORT_CHARS_NB} - TOPICS=${TOPICS} - COMMENTS_ENABLED=${COMMENTS_ENABLE} # ports: # - 8080:8080 labels: - "traefik.enable=true" - "traefik.http.routers.oracolo.rule=Host(`${ORACOLO_DOMAIN}`)" - "traefik.http.services.oracolo.loadbalancer.server.port=8080" - "traefik.http.routers.oracolo.entrypoints=websecure" - "traefik.http.routers.oracolo.tls.certresolver=selfhostedservices" - "traefik.http.middlewares.accesscontrol.headers.customResponseHeaders.access-control-allow-origin=*" - "traefik.http.routers.oracolo.middlewares=accesscontrol@docker"