version: '3.8' services: proxy: image: traefik:v2.4 hostname: coollabs-proxy ports: - target: 80 published: 80 protocol: tcp mode: host - target: 443 published: 443 protocol: tcp mode: host - target: 8080 published: 8080 protocol: tcp mode: host command: - --api.insecure=true - --api.dashboard=true - --api.debug=true - --log.level=ERROR - --providers.docker=true - --providers.docker.swarmMode=true - --providers.docker.exposedbydefault=false - --providers.docker.network=coollabs - --providers.docker.swarmModeRefreshSeconds=1s - --entrypoints.web.address=:80 - --entrypoints.websecure.address=:443 volumes: - /var/run/docker.sock:/var/run/docker.sock networks: - coollabs deploy: update_config: parallelism: 1 delay: 10s order: start-first replicas: 1 placement: constraints: - node.role == manager labels: - 'traefik.enable=true' - 'traefik.http.routers.api.entrypoints=websecure' - 'traefik.http.routers.api.service=api@internal' - 'traefik.http.routers.api.middlewares=auth' - 'traefik.http.services.traefik.loadbalancer.server.port=80' # Global redirect www to non-www - 'traefik.http.routers.www-catchall.rule=hostregexp(`{host:www.(.+)}`)' - 'traefik.http.routers.www-catchall.entrypoints=web' - 'traefik.http.routers.www-catchall.middlewares=redirect-www-to-nonwww' - "traefik.http.middlewares.redirect-www-to-nonwww.redirectregex.regex=^http://(?:www\\.)?(.+)" - 'traefik.http.middlewares.redirect-www-to-nonwww.redirectregex.replacement=http://$${1}' mongodb: image: bitnami/mongodb:4.4 hostname: coollabs-mongodb ports: - target: 27017 published: 27017 protocol: tcp mode: host environment: - MONGODB_DISABLE_SYSTEM_LOG=true - MONGODB_ROOT_PASSWORD=developmentPassword4db - MONGODB_USERNAME=supercooldbuser - MONGODB_PASSWORD=developmentPassword4db - MONGODB_DATABASE=coolify volumes: - coollabs-mongodb-data:/bitnami/mongodb networks: - coollabs volumes: coollabs-mongodb-data: {} networks: coollabs: driver: overlay name: coollabs external: true