diff --git a/huly.compose.yml b/huly.compose.yml deleted file mode 100644 index 09da7a7..0000000 --- a/huly.compose.yml +++ /dev/null @@ -1,257 +0,0 @@ -services: - - # handle reverse proxy, load balancing, SSL - traefik: - restart: unless-stopped - image: "traefik:v2.10" - container_name: "traefik" - ports: - - "80:80" - - "443:443" - volumes: - - "/var/run/docker.sock:/var/run/docker.sock:ro" - - ./letsencrypt:/letsencrypt - networks: - - traefik-public - - labels: - - "traefik.enable=true" - - "traefik.http.routers.traefik.rule=Host(`traefik.localhost`)" - - "traefik.http.routers.traefik.entrypoints=websecure" - - "traefik.http.routers.traefik.tls.certresolver=myresolver" - - "traefik.http.routers.traefik.service=api@internal" - command: - - "--log.level=DEBUG" - - "--api.insecure=true" - - "--api.dashboard=true" - - "--global.sendAnonymousUsage=false" - - "--global.checkNewVersion=false" - - "--providers.docker=true" - - "--providers.docker.exposedbydefault=false" - - "--providers.docker.network=traefik-public" - - "--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.email=muktadir@programming-hero.com" - - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json" - - "--certificatesresolvers.myresolver.acme.tlschallenge=true" - - "--certificatesresolvers.myresolver.acme.caserver=http://acme-staging-v02.api.letsencrypt.org/directory" # For testing, comment out for production - - # database - mongodb: - image: "mongo:7-jammy" - container_name: mongodb - environment: - - PUID=1000 - - PGID=1000 - volumes: - - db:/data/db - restart: unless-stopped - networks: - - internal-services - - # elastic search - elastic: - image: "elasticsearch:7.14.2" - command: | - /bin/sh -c "./bin/elasticsearch-plugin list | grep -q ingest-attachment || yes | ./bin/elasticsearch-plugin install --silent ingest-attachment; - /usr/local/bin/docker-entrypoint.sh eswrapper" - volumes: - - elastic:/usr/share/elasticsearch/data - environment: - - ELASTICSEARCH_PORT_NUMBER=9200 - - BITNAMI_DEBUG=true - - discovery.type=single-node - - ES_JAVA_OPTS=-Xms1024m -Xmx1024m - - http.cors.enabled=true - - http.cors.allow-origin=http://localhost:8082 - healthcheck: - interval: 20s - retries: 10 - test: curl -s http://localhost:9200/_cluster/health | grep -vq '"status":"red"' - restart: unless-stopped - networks: - - internal-services - - # minio service - minio: - image: "minio/minio" - command: server /data --address ":9000" --console-address ":9001" - # ports: - # - 9000:9000 - # - 9001:9001 - volumes: - - files:/data - restart: unless-stopped - networks: - - internal-services - - # rekoni service - rekoni: - image: hardcoreeng/rekoni-service:v0.6.245 - environment: - - SECRET=secret - deploy: - resources: - limits: - memory: 500M - restart: unless-stopped - networks: - - internal-services - - traefik-public - labels: - - "traefik.enable=true" - - "traefik.http.routers.rekoni.entrypoints=websecure" - - "traefik.http.routers.rekoni.rule=Host(`localhost`) && PathPrefix(`/rekoni`)" # change localhost to your domain - # strip prefix - - "traefik.http.routers.rekoni.middlewares=rekoni-stripprefix" - - "traefik.http.middlewares.rekoni-stripprefix.stripprefix.prefixes=/rekoni" - - "traefik.http.routers.rekoni.tls.certresolver=myresolver" - - "traefik.http.services.rekoni.loadbalancer.server.port=4004" - - - # transactor service - transactor: - image: hardcoreeng/transactor:v0.6.245 - ports: - - 3333:3333 - environment: - - SERVER_PORT=3333 - - SERVER_SECRET=secret - - SERVER_CURSOR_MAXTIMEMS=30000 - - ELASTIC_URL=http://elastic:9200 - - ELASTIC_INDEX_NAME=huly_storage_index - - MONGO_URL=mongodb://mongodb:27017 - - METRICS_CONSOLE=false - - METRICS_FILE=metrics.txt - - MINIO_ENDPOINT=minio - - MINIO_ACCESS_KEY=minioadmin - - MINIO_SECRET_KEY=minioadmin - - REKONI_URL=http://rekoni:4004 - - FRONT_URL=http://localhost:8087 - - SERVER_PROVIDER=ws - - ACCOUNTS_URL=http://account:3000 - - LAST_NAME_FIRST=true - - UPLOAD_URL=https://${SERVER_ADDRESS}/files - restart: unless-stopped - networks: - - internal-services - - traefik-public - labels: - - "traefik.enable=true" - - "traefik.http.routers.transactor.entrypoints=websecure" - - "traefik.http.routers.transactor.rule=Host(`localhost`) && PathPrefix(`/transactor`)" # change localhost to your domain - # strip prefix - - "traefik.http.routers.transactor.middlewares=transactor-stripprefix" - - "traefik.http.middlewares.transactor-stripprefix.stripprefix.prefixes=/transactor" - - "traefik.http.routers.transactor.tls.certresolver=myresolver" - - "traefik.http.services.transactor.loadbalancer.server.port=3333" - - - # collaborator service - collaborator: - image: hardcoreeng/collaborator:v0.6.245 - ports: - - 3078:3078 - environment: - - COLLABORATOR_PORT=3078 - - SECRET=secret - - ACCOUNTS_URL=http://account:3000 - - TRANSACTOR_URL=ws://transactor:3333 - - UPLOAD_URL=/files - - MONGO_URL=mongodb://mongodb:27017 - - MINIO_ENDPOINT=minio - - MINIO_ACCESS_KEY=minioadmin - - MINIO_SECRET_KEY=minioadmin - restart: unless-stopped - networks: - - internal-services - - traefik-public - labels: - - "traefik.enable=true" - - "traefik.http.routers.collaborator.entrypoints=websecure" - - "traefik.http.routers.collaborator.rule=Host(`localhost`) && PathPrefix(`/collaborator`)" # change localhost to your domain - # strip prefix - - "traefik.http.routers.collaborator.middlewares=collaborator-stripprefix" - - "traefik.http.middlewares.collaborator-stripprefix.stripprefix.prefixes=/collaborator" - - "traefik.http.routers.collaborator.tls.certresolver=myresolver" - - "traefik.http.services.collaborator.loadbalancer.server.port=3078" - - # account service - account: - image: hardcoreeng/account:v0.6.245 - # ports: - # - 3000:3000 - environment: - - SERVER_PORT=3000 - - SERVER_SECRET=secret - - MONGO_URL=mongodb://mongodb:27017 - - TRANSACTOR_URL=ws://transactor:3333 - - ENDPOINT_URL=ws://${SERVER_ADDRESS}:3333 - - MINIO_ENDPOINT=minio - - MINIO_ACCESS_KEY=minioadmin - - MINIO_SECRET_KEY=minioadmin - - FRONT_URL=http://front:8080 - - INIT_WORKSPACE=demo-tracker - - MODEL_ENABLED=* - - ACCOUNTS_URL=http://localhost:3000 - - ACCOUNT_PORT=3000 - restart: unless-stopped - networks: - - internal-services - - traefik-public - labels: - - "traefik.enable=true" - - "traefik.http.routers.account.entrypoints=websecure" - - "traefik.http.routers.account.rule=Host(`localhost`) && PathPrefix(`/accounts`)" # change localhost to your domain - # strip prefix - - "traefik.http.routers.account.middlewares=account-stripprefix" - - "traefik.http.middlewares.account-stripprefix.stripprefix.prefixes=/accounts" - - "traefik.http.routers.account.tls.certresolver=myresolver" - - # front service - front: - image: hardcoreeng/front:v0.6.245 - environment: - - SERVER_PORT=8080 - - SERVER_SECRET=secret - - ACCOUNTS_URL=https://${SERVER_ADDRESS}/accounts - - REKONI_URL=https://${SERVER_ADDRESS}/rekoni - - CALENDAR_URL=https://${SERVER_ADDRESS}:8095 - - GMAIL_URL=https://${SERVER_ADDRESS}:8088 - - TELEGRAM_URL=https://${SERVER_ADDRESS}:8086 - - UPLOAD_URL=/files - - TRANSACTOR_URL=ws://${SERVER_ADDRESS}:3333 - - ELASTIC_URL=http://elastic:9200 - - COLLABORATOR_URL=ws://${SERVER_ADDRESS}:3078 - - COLLABORATOR_API_URL=https://${SERVER_ADDRESS}/collaborator - - MINIO_ENDPOINT=minio - - MINIO_ACCESS_KEY=minioadmin - - MINIO_SECRET_KEY=minioadmin - - MONGO_URL=mongodb://mongodb:27017 - - TITLE=Programming Hero Tracker - - DEFAULT_LANGUAGE=en - - LAST_NAME_FIRST=true - restart: unless-stopped - networks: - - internal-services - - traefik-public - labels: - - "traefik.enable=true" - - "traefik.http.routers.front.entrypoints=websecure" - - "traefik.http.routers.front.rule=Host(`localhost`)" - - "traefik.http.routers.front.tls.certresolver=myresolver" - - "traefik.http.services.front.loadbalancer.server.port=8080" - -networks: - traefik-public: - name: traefik-public - internal-services: - name: internal-services - -volumes: - db: - letsencrypt: - elastic: - files: \ No newline at end of file