Giter VIP home page Giter VIP logo

huly-selfhost's Introduction

Huly Self-Hosted

Please use this README if you want to deploy Huly on your server with docker compose. I'm using a Basic Droplet on Digital Ocean with Ubuntu 23.10, but these instructions can be easily adapted for any Linux distribution.

Note

Huly is quite resource-heavy, so I recommend using a Droplet with 2 vCPUs and 4GB of RAM. Droplets with less RAM may stop responding or fail.

If you prefer Kubernetes deployment, there is a sample Kubernetes configuration under kube directory.

Installing nginx and docker

First, let's install nginx and docker using the commands below if you have not already installed them on your machine.

$ sudo apt update
$ sudo apt install nginx
$ sudo snap install docker

Clone the huly-selfhost repository and configure nginx

Next, let's clone the huly-selfhost repository and configure the server address. Please replace x.y.z.w with your server's IP address.

$ git clone https://github.com/hcengineering/huly-selfhost.git
$ cd huly-selfhost
$ ./setup.sh x.y.z.w # Replace x.y.z.w with your server's IP address
$ sudo ln -s $(pwd)/nginx.conf /etc/nginx/sites-enabled/

Now we're ready to run Huly

Finally, let's restart nginx and run Huly with docker compose.

$ sudo systemctl restart nginx
$ sudo docker compose up

Now, launch your web browser and enjoy Huly!

Security

When exposing your self-hosted Huly deployment to the internet, it's crucial to implement some security measures to protect your server and data.

  1. Do not expose MongoDB, MinIO, and Elastic services to the internet. Huly does not require them to be accessible from the internet.
  2. It is highly recommended to change the default credentials. By default the services, mentioned above, require no authentication, or use default well-known credentials.

huly-selfhost's People

Contributors

aplatoff avatar aonnikov avatar haiodo avatar

Stargazers

Vladimir Minkin avatar Vinícius Gonçalves de Oliveira avatar Hsiang-Jen Li avatar midi avatar Ramiro Sandoval avatar  avatar Jiangnan Li avatar Maxim Bunkov avatar David Ange avatar Jonas Claes avatar Igor Romanov avatar  avatar Agustinus Nathaniel avatar Evgeniy Rybkin avatar Aditheo avatar sepehrsoh avatar  avatar  avatar Exuper O. avatar henri avatar  avatar Tyler H avatar Lkhagvadorj Sukhtsoodol avatar Benjamin Besse avatar Basit Mustafa avatar Emmanuel Salomon avatar Vusal Ismayilov avatar アルトリア・ペンドラゴン avatar Mickaël Schoentgen avatar Samir Salman avatar cojovi avatar R4v3n avatar Harry Tran avatar Vedat Kamer avatar Zhu avatar xiaomihu avatar  avatar Alexandre Chaussier avatar Charlie Cortial avatar  avatar Cédric avatar  avatar Anis Afifi avatar  avatar  avatar André_Teixeira_1998 avatar Arsel avatar kenta avatar Matthew McLeod avatar Joshua M Smith avatar  avatar  avatar  avatar  avatar Piyush Chandwani avatar Albert Traut avatar  avatar Daniel avatar Jasper avatar digoburigo avatar Basilis Kanonidis avatar Daniel Hartmann avatar Peter Brinck avatar Nurul Abrar avatar Victor Miti avatar YUAN Jun avatar Jacob Danner avatar  avatar Dopest Media avatar Aurthur Musendame avatar  avatar Marlo Delatorre avatar  avatar Pipu avatar Said avatar Ferşat Özçelik avatar Thiago França da Silva avatar Mike Dixson avatar Simon Phumin Schweikert avatar Jason Stelzer avatar Ed Dura  avatar caleb avatar Shaun Deans avatar  avatar Mohamed Oxmento avatar Jay Stevens avatar Tomáš Tobrman avatar Giovanni De Carlo avatar Francesco Castrovilli avatar  avatar  avatar  avatar Kingvin avatar Saurabh Bhalerao avatar  avatar William Kammacher avatar Alesso avatar  avatar Rachman Esa avatar  avatar

Watchers

 avatar Alexey Zinoviev avatar  avatar

huly-selfhost's Issues

Can we not have port mapping?

I am hosting on a machine where ports like 9000 and 3000 are already in use and not available. While I modified the compose file generated to change port mapping, the application itself is still making requests to port 3000. I also modified the environment variables to change the port, but that didn't work either.

Would it be a good idea to allow configurable ports instead?

Unable to Enable/Disable Plugins in Self-Hosted Huly Platform

Issue Description:

The self-hosted version of Huly lacks essential functionality to enable or disable plugins through the plugin management interface. This limitation is affecting our ability to effectively utilize and manage plugins. Specifically, we are unable to enable the Leads plugin, and its availability on the hosted platform is inconsistent, appearing and disappearing at times.

Steps to Reproduce:

  1. Install the self-hosted version of Huly.
  2. Observe that there are no options or controls available for managing plugins. (from ui or in options)

Expected Behavior:

The plugin management interface in the self-hosted version of Huly should provide options to enable or disable plugins, allowing users to customize their deployment according to their needs.

Additional Information:

  • Huly version: 0.6.221 and 0.6.238

We appreciate the efforts put into developing and maintaining the Huly platform. Enabling plugin management functionality in the self-hosted version would greatly enhance the platform's flexibility and usability for users.

Thank you for your attention to this matter.

Best regards,
Gaurav

How to setup SSL?

Hello,

Running the frontend behind SSL causes problems since other services are configured to use non-secure connections. Is there an easy way to set up SSL that I am missing or do I have to terminate SSL on nginx reverse proxy for every service?

Thanks,

Huly resets itself everynight

I have come across this issue where my Huly installation (Ubuntu 23.04 LTS) resets itself every night.

Whichever workplace I created / users I had / projects I upload all get deleted by the following morning

Logs dont show any activity that causes this to happen, and the only error message I get is when I try to log in and it says User not found.

I've reinstalled 3 times to ensure it wasnt an error along the way but it keeps happening!

Has anyone else come across this issue?

Unable to sign up, error "Unknown error: NetworkError when attempting to fetch resource."

Attempting to sign up with a new user upon first install, I get the cryptic error shown below:

huly-signup-error

The docker logs do not show any activity at all when this occurs. I'm not sure what exactly is going wrong here, but I assume it's a firewall issue, perhaps?

I see a bunch of ports configured in the compose template provided in this repo, but I haven't yet been able to find documentation about which ones are actually required to be exposed externally, or how to change them if needed (which I would probably need to do since some of them might be used by other services on my machine).

(Edit: of course, I can just change the port mappings in the compose file, but presumably the other huly service definitions would need to have those public ports passed to them as well through environment variable.)

ARM Version

I'm interested in self-hosting Huly on my ARM-based system. However, I couldn't find any information regarding the availability of an ARM-compatible version.

Could you please let me know if there is an ARM version of Huly available for self-hosting? If not, are there any plans or workarounds that would allow me to run it on ARM architecture?

Default login credentials?

What are the default admin credentials, or how are they set up the first time? I've got the accounts service up, but everything I've tried is returning platform:status:AccountNotFound.

GMAIL_URL and TELEGRAM_URL values

Hey,

I'm trying to deploy Huly with Docker, and everything works like a charm, but I have a question.
In your docker-compose file, there are these two variables:
GMAIL_URL
TELEGRAM_URL

with the values http://{SERVER_ADDRESS}:
or http://localhost:

I have tried many different types of values, like my domain, localhost, etc., but it's not working.

So maybe I missed something. What do I need to put as the value?
Do I need to add some containers?
What are these ports?

Thanks a lot for your work and your responses.

Some Error to connect

I try to run selfhosted on docker swarm I cant connect to UI
below my compose swarm file where i use traefik.

version: "3"
services:
  mongodb:
    image: "mongo:7-jammy"
    environment:
      - PUID=${PUID}
      - PGID=${PGID}
    volumes:
      - huly_db:/data/db
    ports:
      - 27017:27017
    env_file:
      - .env
    deploy:
      restart_policy:
        condition: on-failure
    networks:
      - traefik_public

  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:
      - huly_elastic:/usr/share/elasticsearch/data
#    ports:
#      - 9200:9200
    environment:
      - ELASTICSEARCH_PORT_NUMBER=${ELASTICSEARCH_PORT_NUMBER}
      - 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"'
    env_file:
      - .env
    deploy:
      restart_policy:
        condition: on-failure
      labels:
        - traefik.enable=true
        - traefik.http.routers.elastic.rule=Host(`elastic.{{ domain_fullname }}`)
        - traefik.http.routers.elastic.entrypoints=websecure
        - traefik.http.routers.elastic.service=elastic
        - traefik.http.routers.elastic.tls.certresolver=cloudflare
        - traefik.http.services.elastic.loadbalancer.server.port=9200
    networks:
      - traefik_public

  account:
    image: hardcoreeng/account:${HULY_VERSION}
#    ports:
#      - 3000:3000
    environment:
      - SERVER_PORT=3000
      - SERVER_SECRET=${SERVER_SECRET}
      - MONGO_URL=mongodb://mongodb:27017
      - TRANSACTOR_URL=ws://transactor:3333
      - ENDPOINT_URL=ws://localhost:3333
      - MINIO_ENDPOINT=minio
      - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY}
      - MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
      - FRONT_URL=http://front:8080
      - INIT_WORKSPACE=d3n
      - MODEL_ENABLED=*
      - ACCOUNTS_URL=http://localhost:3000
      - ACCOUNT_PORT=3000
      - STORAGE_CONFIG=${STORAGE_CONFIG}
    env_file:
      - .env
    deploy:
      restart_policy:
        condition: on-failure
    networks:
      - traefik_public

  rekoni:
    image: hardcoreeng/rekoni-service:${HULY_VERSION}
#    ports:
#      - 4004:4004
    environment:
      - SECRET=${SERVER_SECRET} #${SECRET}
    deploy:
      resources:
        limits:
          memory: 500M

  collaborator:
    image: hardcoreeng/collaborator:${HULY_VERSION}
#    ports:
#      - 3078:3078
    environment:
      - COLLABORATOR_PORT=3078
      - SECRET=${SERVER_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=${MINIO_ACCESS_KEY}
      - MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
      - STORAGE_CONFIG=${STORAGE_CONFIG}
    env_file:
      - .env
    deploy:
      restart_policy:
        condition: on-failure
    networks:
      - traefik_public

  transactor:
    image: hardcoreeng/transactor:${HULY_VERSION}
    ports:
      - "3333:3333"
    environment:
      - SERVER_PORT=3333
      - SERVER_SECRET=${SERVER_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=${MINIO_ACCESS_KEY}
      - MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
      - REKONI_URL=http://rekoni:4004
      - FRONT_URL=http://front:8080
      - SERVER_PROVIDER=ws
      - ACCOUNTS_URL=http://account:3000
      - LAST_NAME_FIRST=true
      - UPLOAD_URL=http://front:8080/files
      - STORAGE_CONFIG=${STORAGE_CONFIG}
    env_file:
      - .env
    deploy:
      restart_policy:
        condition: on-failure
    networks:
      - traefik_public

  front:
    image: hardcoreeng/front:${HULY_VERSION}
    #ports:
    #  - 8087:8080
    environment:
      - SERVER_PORT=8080
      - SERVER_SECRET=${SERVER_SECRET} #
      - ACCOUNTS_URL=http://account:3000 #http://${SERVER_ADDRESS}:3000
      - REKONI_URL=http://rekoni:4004 #http://${SERVER_ADDRESS}:4004
      - CALENDAR_URL=http://${SERVER_ADDRESS}:8095
      - GMAIL_URL=http://${SERVER_ADDRESS}:8088
      - TELEGRAM_URL=http://${SERVER_ADDRESS}:8086
      - UPLOAD_URL=/files
      - TRANSACTOR_URL=ws://transactor:3333 # ws://${SERVER_ADDRESS}:3333
      - ELASTIC_URL=http://elastic:9200
      - COLLABORATOR_URL=ws://collaborator:3078 # ws://${SERVER_ADDRESS}:3078
      - COLLABORATOR_API_URL=http://collaborator:3078 #http://${SERVER_ADDRESS}:3078 collaborator
      - MINIO_ENDPOINT=minio
      - MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY}
      - MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
      - MONGO_URL=mongodb://mongodb:27017
      - TITLE=Huly D3N Self Hosted
      - DEFAULT_LANGUAGE=en
      - LAST_NAME_FIRST=true
      - STORAGE_CONFIG=${STORAGE_CONFIG}
      #
      - LOGIN_ENDPOINT=ws://transactor:3333
    env_file:
      - .env
    deploy:
      restart_policy:
        condition: on-failure
      labels:
        - traefik.enable=true
        - traefik.http.routers.huly.rule=Host(`huly.{{ domain_fullname }}`)
        - traefik.http.routers.huly.entrypoints=websecure
        - traefik.http.routers.huly.service=huly
        - traefik.http.routers.huly.tls.certresolver=cloudflare
        - traefik.http.services.huly.loadbalancer.server.port=8080
    networks:
      - traefik_public

#  minio:
#    image: "minio/minio"
#    command: server /data --address ":9000" --console-address ":9001"
#    ports:
#      - 9000:9000
#      - 9001:9001
#    volumes:
#      - files:/data
#    restart: unless-stopped

networks:
  traefik_public:
    external: true

volumes:
  huly_db:
    external: true
  huly_elastic:
    external: true

image

UPLOAD_URL is wrong for transactor

In the transactor service (Here), there is the following line:

      - UPLOAD_URL=http://${SERVER_ADDRESS}/files

which is mising the port to properly work.

I could make a PR to fix it but I have no idea what the correct service is supposed to be.

The other ocurrences of the UPLOAD_URL only specify /files as the value. (front and collaborator).
Either this is the proper value and transactor should match or they are both wrong and should specify the full URL like transactor.

transactor container has error: Please provide ELASTIC_INDEX_NAME

After the update to v0.6.228a (also tried the latest), I have been getting an error in the transactor container

 Please provide ELASTIC_INDEX_NAME

The elastic container is running without problems and it connects over docker networking. (this was all working prior to update)

  transactor:
    image: hardcoreeng/transactor:v0.6.228a
    links:
      - mongodb
      - elastic
      - minio
      - huly-rekoni
      - account
    ports:
      - 3333:3333
    environment:
      - SERVER_PORT=3333
      - SERVER_SECRET=secret
      - SERVER_CURSOR_MAXTIMEMS=30000
      - ELASTIC_URL=http://elastic:9200
      - 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://huly-rekoni:4004
      - FRONT_URL=https://huly.${DOMAIN}
      - SERVER_PROVIDER=ws
      - ACCOUNTS_URL=http://account:3000
      - LAST_NAME_FIRST=true
    restart: unless-stopped

`Unknown error: Load failed` when logging in or signing up from a reverse proxy

I just spun up Huly and put the frontend behind reverse proxy. I forwarded myIP:8087 (default for the frontend) to dash.mydomain.org. This domain, along with all of its subdomains, have a properly-configured and functioning SSL.

Now, when I try to log in or create a new account through the domain, I get the error Unknown error: Load failed. This does not happen if I access Huly directly through myIP:8087.

Snímek obrazovky 2024-08-02 v 21 50 12

No errors are logged into any of the containers, but the console does show this error:
Fetch API cannot load http://myIP:3000/ due to access control checks.

I have not changed anything in the Compose file, apart from changing the port of minio to 9003 due to another service already running on that port.

Can this be solved in a manner that would maintain security, and without having to expose the account service?

Is office and meetings support in self-host version?

Thank for developing this project, I am playing with the self-host version of the platform. I am curious about I have not seen the office and meetings in the latest version. Is office and meetings support in self-host version?

Huly Cosmos DB Mongo Azure

I have created cosmos db for mongodb in Azure, configured compose.yml to use connection string to my mongo, and it errors out at 20% of workspace creation with following error:

huly-selfhost-account-1 | {"err":{"code":2,"codeName":"BadValue","errorResponse":{"code":2,"codeName":"BadValue","errmsg":"Error=2, Details='Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 3318a5c9-d1b5-4893-861d-73dc4c97ff29; Reason: (Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 3318a5c9-d1b5-4893-861d-73dc4c97ff29; Reason: (Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 3318a5c9-d1b5-4893-861d-73dc4c97ff29; Reason: (Message: {"Errors":["The index path corresponding to the specified order-by item is excluded."]}\r\nActivityId: 3318a5c9-d1b5-4893-861d-73dc4c97ff29, Request URI: /apps/ef91e0f5-0303-489d-9342-a9fbe1d65465/services/79a175d4-3762-49db-afc2-5f3e49f16922/partitions/f1d94ce1-3b30-4c2c-b75b-4613f4aec9df/replicas/133694283049277431s/, RequestStats: Microsoft.Azure.Cosmos.Tracing.TraceData.ClientSideRequestStatisticsTraceDatum, SDK: Windows/10.0.20348 cosmos-netstandard-sdk/3.18.0);););","ok":0},"message":"Error=2, Details='Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 3318a5c9-d1b5-4893-861d-73dc4c97ff29; Reason: (Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 3318a5c9-d1b5-4893-861d-73dc4c97ff29; Reason: (Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 3318a5c9-d1b5-4893-861d-73dc4c97ff29; Reason: (Message: {"Errors":["The index path corresponding to the specified order-by item is excluded."]}\r\nActivityId: 3318a5c9-d1b5-4893-861d-73dc4c97ff29, Request URI: /apps/ef91e0f5-0303-489d-9342-a9fbe1d65465/services/79a175d4-3762-49db-afc2-5f3e49f16922/partitions/f1d94ce1-3b30-4c2c-b75b-4613f4aec9df/replicas/133694283049277431s/, RequestStats: Microsoft.Azure.Cosmos.Tracing.TraceData.ClientSideRequestStatisticsTraceDatum, SDK: Windows/10.0.20348 cosmos-netstandard-sdk/3.18.0);););","ok":0,"stack":"MongoServerError: Error=2, Details='Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 3318a5c9-d1b5-4893-861d-73dc4c97ff29; Reason: (Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 3318a5c9-d1b5-4893-861d-73dc4c97ff29; Reason: (Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 3318a5c9-d1b5-4893-861d-73dc4c97ff29; Reason: (Message: {"Errors":["The index path corresponding to the specified order-by item is excluded."]}\r\nActivityId: 3318a5c9-d1b5-4893-861d-73dc4c97ff29, Request URI: /apps/ef91e0f5-0303-489d-9342-a9fbe1d65465/services/79a175d4-3762-49db-afc2-5f3e49f16922/partitions/f1d94ce1-3b30-4c2c-b75b-4613f4aec9df/replicas/133694283049277431s/, RequestStats: Microsoft.Azure.Cosmos.Tracing.TraceData.ClientSideRequestStatisticsTraceDatum, SDK: Windows/10.0.20348 cosmos-netstandard-sdk/3.18.0);););\n at e.sendCommand (/usr/src/app/bundle.js:286:31053)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async e.command (/usr/src/app/bundle.js:286:31679)\n at async e.command (/usr/src/app/bundle.js:286:60533)\n at async NFe.execute (/usr/src/app/bundle.js:269:51678)\n at async yGa (/usr/src/app/bundle.js:268:63474)\n at async e._initialize (/usr/src/app/bundle.js:269:54283)\n at async e.cursorInit (/usr/src/app/bundle.js:269:44836)\n at async e.fetchBatch (/usr/src/app/bundle.js:269:45224)\n at async e.next (/usr/src/app/bundle.js:269:41952)"},"level":"error","message":"error","status":{"code":"platform:status:InternalServerError","params":{},"severity":"ERROR"},"timestamp":"2024-08-29T20:56:09.615Z"}

huly-selfhost-account-1 | {"level":"error","message":"Unhandled Rejection at:","promise":{},"reason":{"code":2,"codeName":"BadValue","errorResponse":{"code":2,"codeName":"BadValue","errmsg":"Error=2, Details='Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 15207215-34e6-4e09-841f-7b7d38d553c2; Reason: (Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 15207215-34e6-4e09-841f-7b7d38d553c2; Reason: (Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 15207215-34e6-4e09-841f-7b7d38d553c2; Reason: (Message: {"Errors":["The order by query does not have a corresponding composite index that it can be served from."]}\r\nActivityId: 15207215-34e6-4e09-841f-7b7d38d553c2, Request URI: /apps/7cbf22ca-c22e-4dab-a37e-b4a9279a0f42/services/e2e0f9bd-39a7-4ce4-b5c3-354b7cae6c96/partitions/1f2823b1-5be8-40a5-a5ee-ef93979990b8/replicas/133694028058343296s/, RequestStats: Microsoft.Azure.Cosmos.Tracing.TraceData.ClientSideRequestStatisticsTraceDatum, SDK: Windows/10.0.20348 cosmos-netstandard-sdk/3.18.0);););","ok":0},"message":"Error=2, Details='Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 15207215-34e6-4e09-841f-7b7d38d553c2; Reason: (Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 15207215-34e6-4e09-841f-7b7d38d553c2; Reason: (Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 15207215-34e6-4e09-841f-7b7d38d553c2; Reason: (Message: {"Errors":["The order by query does not have a corresponding composite index that it can be served from."]}\r\nActivityId: 15207215-34e6-4e09-841f-7b7d38d553c2, Request URI: /apps/7cbf22ca-c22e-4dab-a37e-b4a9279a0f42/services/e2e0f9bd-39a7-4ce4-b5c3-354b7cae6c96/partitions/1f2823b1-5be8-40a5-a5ee-ef93979990b8/replicas/133694028058343296s/, RequestStats: Microsoft.Azure.Cosmos.Tracing.TraceData.ClientSideRequestStatisticsTraceDatum, SDK: Windows/10.0.20348 cosmos-netstandard-sdk/3.18.0);););","ok":0,"stack":"MongoServerError: Error=2, Details='Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 15207215-34e6-4e09-841f-7b7d38d553c2; Reason: (Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 15207215-34e6-4e09-841f-7b7d38d553c2; Reason: (Response status code does not indicate success: BadRequest (400); Substatus: 0; ActivityId: 15207215-34e6-4e09-841f-7b7d38d553c2; Reason: (Message: {"Errors":["The order by query does not have a corresponding composite index that it can be served from."]}\r\nActivityId: 15207215-34e6-4e09-841f-7b7d38d553c2, Request URI: /apps/7cbf22ca-c22e-4dab-a37e-b4a9279a0f42/services/e2e0f9bd-39a7-4ce4-b5c3-354b7cae6c96/partitions/1f2823b1-5be8-40a5-a5ee-ef93979990b8/replicas/133694028058343296s/, RequestStats: Microsoft.Azure.Cosmos.Tracing.TraceData.ClientSideRequestStatisticsTraceDatum, SDK: Windows/10.0.20348 cosmos-netstandard-sdk/3.18.0);););\n at e.sendCommand (/usr/src/app/bundle.js:286:31053)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async e.command (/usr/src/app/bundle.js:286:31679)\n at async e.command (/usr/src/app/bundle.js:286:60533)\n at async NFe.execute (/usr/src/app/bundle.js:269:51678)\n at async yGa (/usr/src/app/bundle.js:268:63474)\n at async e._initialize (/usr/src/app/bundle.js:269:54283)\n at async e.cursorInit (/usr/src/app/bundle.js:269:44836)\n at async e.fetchBatch (/usr/src/app/bundle.js:269:45224)\n at async e.next (/usr/src/app/bundle.js:269:41952)"},"timestamp":"2024-08-29T21:01:25.733Z"}

"The order by query does not have a corresponding composite index that it can be served from." + "The index path corresponding to the specified order-by item is excluded."

I have tried using mongo cloud, and it works "out of the box". Is this error caused by some limitations of mongo API implementation in cosmosDb?

Some URLs point to nothing

For the front service, the following environment variables are defined (Here):

      - CALENDAR_URL=http://${SERVER_ADDRESS}:8095
      - GMAIL_URL=http://${SERVER_ADDRESS}:8088
      - TELEGRAM_URL=http://${SERVER_ADDRESS}:8086

However, there are no services associated with these ports, making the deployment either wrong or incomplete.
This is not mentioned in the README.

Gmail connection is not working

Error:

gmail.acef719de9c53e6257e7.js:1 
        
        
GET http://xxx.xxx.xxx:8088/signin?redirectURL=http%3A%2F%2Fxxx.xxx.xxx%2Fworkbench%2Fmikolajczuk%2Fsetting%2Fintegrations net::ERR_CONNECTION_REFUSED
s @ gmail.acef719de9c53e6257e7.js:1
(anonymous) @ bundle.93d3c932611b373f368a.js:217
Yo @ bundle.93d3c932611b373f368a.js:217
bn @ bundle.93d3c932611b373f368a.js:198
gmail.acef719de9c53e6257e7.js:1 
        
        
   Uncaught (in promise) TypeError: Failed to fetch
at HTMLButtonElement.s (gmail.acef719de9c53e6257e7.js:1:85822)
at bundle.93d3c932611b373f368a.js:217:2437
at Array.forEach (<anonymous>)
at HTMLButtonElement.Yo (bundle.93d3c932611b373f368a.js:217:2422)
at HTMLButtonElement.bn (bundle.93d3c932611b373f368a.js:198:14956)```

Looks like the app tried to connect to a service behind `8088` port. I don't see any service with this port configured in docker-compose. Something is missing? 

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.