Cannot access self hosted instance

Hi… It seems we have the same problem.

In my case I had to use the commit (file docker-compose-traefik-letsencrypt.yml) with web instead of api, have no ideia ways it worked :sweat_smile:

My url
https://openflow.codecenter.info/

Here’s my yml (with some changes made by me):

version: "3.3"
services:
#  mongodb:
#    image: "mongo"
#    # if you get MongoDB 5.0+ require a CPU with AVX support, then try using version 4 instead
#
#    # image: "mongo:4.4.8"
#    restart: always
#    volumes:
#      - mongodb_data:/data/db
  mongodb:
    hostname: mongodb
    image: "mongo"
    restart: always
    volumes:
      - mongodb_data:/data/db
    environment:
      - MONGO_REPLICA_SET_NAME=rs0
    command: "--bind_ip_all --replSet rs0"
    ports:
      - "27017:27017"
  mongosetup:
    image: "mongo"
    depends_on:
      - mongodb
    restart: "no"
    command: >
      mongosh --host mongodb:27017 --eval 
      '
      db = (new Mongo("mongodb:27017")).getDB("openrpa");
      config = {
      "_id" : "rs0",
      "members" : [
        {
          "_id" : 0,
          "host" : "mongodb:27017"
        }
      ]
      };
      rs.initiate(config);
      '
  mongoexpress:
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.mongoexpress.rule=Host(`express.openflow.codecenter.info`)"
      - "traefik.http.routers.mongoexpress.entrypoints=websecure"
      - "traefik.http.routers.mongoexpress.tls.certresolver=myresolver"
      - "traefik.http.services.mongoexpress.loadbalancer.server.port=8081"
    image: "mongo-express"
    restart: always
    environment:
      - ME_CONFIG_MONGODB_SERVER=mongodb
  traefik:
    image: "traefik"
    labels:
      - "traefik.enable=true"
      
      - "traefik.http.routers.traefik.rule=Host(`dashboard.openflow.codecenter.info`)"
      - "traefik.http.routers.traefik.entrypoints=websecure"
      - "traefik.http.routers.traefik.tls.certresolver=myresolver"
      
      - "traefik.http.routers.api.service=api@internal"
      - "traefik.http.routers.api.rule=PathPrefix(`/api`) || PathPrefix(`/dashboard`)"
      
      - "traefik.http.services.traefik.loadbalancer.server.port=8080"
      
      # - "traefik.http.routers.traefik.middlewares=admin"
      # - "traefik.http.middlewares.admin.basicauth.users=admin:$$apr1$$iB.BZjJJ$$FmaZuX35eFCMe5t3a.OqR."
    command:
      - "--api.insecure=true" # enable with port 8080 to access dashboard, NEVER enable this for the public
      
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.websecure.address=:443"
      - "--entrypoints.web.address=:80"
      - "--entrypoints.websecure.http.tls.certresolver=myresolver"
      #certificates
      - "--certificatesresolvers.myresolver.acme.tlschallenge=true"
      - "--certificatesresolvers.myresolver.acme.email=codecenter@codecenter.info"
      - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
      # middleware redirect
      - "traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https"
      # global redirect to https
      - "traefik.http.routers.redirs.rule=hostregexp(`{host:.+}`)"
      - "traefik.http.routers.redirs.entrypoints=web"
      - "traefik.http.routers.redirs.middlewares=redirect-to-https"
    ports:
      - "80:80"
      - "443:443"
      - "8080:8080" # enable with api.insecure=true to access dashboard, NEVER enable this for the public
    restart: always
    volumes:
      - "./letsencrypt:/letsencrypt"
      - "//var/run/docker.sock:/var/run/docker.sock:ro"
  rabbitmq:
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.rabbitmq.rule=Host(`mq.openflow.codecenter.info`)"
      - "traefik.http.routers.rabbitmq.entrypoints=websecure"
      - "traefik.http.routers.rabbitmq.tls.certresolver=myresolver"
      - "traefik.http.services.rabbitmq.loadbalancer.server.port=15672"
    image: "rabbitmq:3-management"
    restart: always
  rediscommander:
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.rediscommander.rule=Host(`redis.openflow.codecenter.info`)"
      - "traefik.http.routers.rediscommander.entrypoints=websecure"
      - "traefik.http.routers.rediscommander.tls.certresolver=myresolver"
      - "traefik.http.services.rediscommander.loadbalancer.server.port=8081"
    image: rediscommander/redis-commander:latest
    restart: always
    depends_on:
      - redis
    environment:
    - REDIS_HOST=redis
    - REDIS_PORT=6379
    - REDIS_PASSWORD=pass!word2
  redis:
    image: redis
    restart: always
    command: >
      --requirepass pass!word2
  api:
    labels:
      - traefik.enable=true
      - traefik.frontend.passHostHeader=true
      - traefik.http.routers.http-router.entrypoints=websecure
      - traefik.http.routers.http-router.tls.certresolver=myresolver
      - traefik.http.routers.http-router.rule=Host(`openflow.codecenter.info`)
      - traefik.http.routers.http-router.service=http-service
      - traefik.http.services.http-service.loadbalancer.server.port=3000
      - traefik.http.routers.grpc-router.rule=Host(`grpc.openflow.codecenter.info`)
      - traefik.http.routers.grpc-router.service=grpc-service
      - traefik.http.routers.grpc-router.entrypoints=websecure
      - traefik.http.routers.grpc-router.tls.certresolver=myresolver
      - traefik.http.services.grpc-service.loadbalancer.server.port=50051
      - traefik.http.services.grpc-service.loadbalancer.server.scheme=h2c
    image: "openiap/openflow"
    deploy:
      replicas: 1
    pull_policy: always
    restart: always
    depends_on:
      - rabbitmq
      - mongodb
      - redis
    volumes:
      - "//var/run/docker.sock:/var/run/docker.sock"
    environment:
      - auto_create_users=false
      - auto_create_domains=
      - websocket_package_size=25000
      - websocket_max_package_count=1048576
      - protocol=https
      - port=3000
      - domain=openflow.codecenter.info
      - log_with_colors=false
      
      # enable this to use the openflow amqp, only usefull when you have more than one replicas
      - enable_openflow_amqp=true 
      - amqp_prefetch=25
      
      # uncomment to add agents to the same docker compose project ( will breake running docker compose up -d if any agents running )
      # - agent_docker_use_project=true
      
      
      - agent_oidc_userinfo_endpoint=http://api:3000/oidc/me
      - agent_oidc_issuer=https://openflow.codecenter.info/oidc
      - agent_oidc_authorization_endpoint=https://openflow.codecenter.info/oidc/auth
      - agent_oidc_token_endpoint=http://api:3000/oidc/token
      - agent_docker_entrypoints=web,websecure
      - agent_docker_certresolver=myresolver 

      - amqp_url=amqp://guest:guest@rabbitmq
      - mongodb_url=mongodb://mongodb:27017
      - mongodb_db=openrpa

      - aes_secret=O1itlrmA47WzxPj95YHD2sZs7IchYaQI25mQ
      
      - cache_store_type=redis
      - cache_store_redis_host=redis
      - cache_store_redis_password=pass!word2
volumes:
  mongodb_data:
    driver: local