I am trying to Install SpeckleSystems V2.0 on Azure, but still not successful.
I have tried these.
Install on Azure AppService using Multicontainer images: This did not work and was getting gateway errors through out.
For example: az webapp create --resource-group ResGroup_SpeckleDemo–plan AppSvc-SpeckleServer-plan --name SpeckleMCApp --multicontainer-config-type compose --multicontainer-config-file docker-compose-speckle.yml
installed on Azure Container Instance, using YAML for example
For example az container create --resource-group RS_Speckle_demo --file speckleserver.yml
This is giving me this error
The requested resource is not available in the location ‘xxxx’ at this moment. Please retry with a different resource request or in another location. Resource requested:‘5’ CPU ‘3.5’ GB memory ‘Linux’ OS
Is there any documentation that clearly explains the steps to Deploy SpeckleSystems 2.0 on Azure?
We’re working on publishing docker images on Docker Hub, thus greatly simplifying deployments, as you will no longer need to build the docker images yourself.
We will also provide a docker-compose.yml file to use when deploying. (the current ones are intended for local testing/development)
I will keep you posted on this thread with updates on this (probably a few days)
Hi Chris,
Thanks for your reply, I represent Atkins and we are considering speckle to be one of the core platforms and for that, I am setting up POC on Azure. I understand that you are parallel working to set up docker images. I am able to follow these instructions and set up a local version of the speckle on my developer system. However, with Azure, it’s not that straightforward though I was able to push the images to the Azure container registry and deploy them through YAML files, I am not able to push all images and run the images on azure. So instead of reinventing the wheel again, just checking out is there any work in progress or draft documentation that I could try out speckle on azure.
By the way I am part of the beta program and could even beta test the setup with azure.
Thanks
Aravinda
@cristi is just as we speak busy publishing public docker images to dockerhub, so theroretically the container registry from azure will not be needed. He will follow up as soon as things are done and tested - later on today afaik
@arvnda
Yes, as dimitrie mentioned, I uploaded docker images to docker hub (that get updated automatically by our CI pipeline), so they’re now public and ready to be used.
Here is a docker-compose that still needs more testing and documentation, its purpose is for dedicated VMs where you want to run everything in one VM:
For azure, I think the best way is to create the postgres and redis as fully managed services by azure, and only run the speckle frontend and backend with containers. (maybe remove the postgres and redis from this yaml and their associated storage volumes and then just update env variables for the server as needed to point to the correct DBs).
In this setup, the frontend will publicly listen on port 80 and forward the server requests to the server container automatically.
Appreciate your support here, I am able to use the original yaml file found here speckle-server/docker-compose-speckle.yml at main · specklesystems/speckle-server · GitHub on Azure Linux VM with Dockercompose as per the documentation here. Deploying a Server | Speckle Docs
. Right now I am seeing this error
chunk-vendors.a8ad4fe0.js:25 WebSocket connection to ‘ws://51.x.x.y/graphql’ failed: Error during WebSocket handshake: Unexpected response code: 400
t.connect @ chunk-vendors.a8ad4fe0.js:25
t @ chunk-vendors.a8ad4fe0.js:25
1112 @ app.fd6c46a3.js:1
i @ app.fd6c46a3.js:1
0 @ app.fd6c46a3.js:1
i @ app.fd6c46a3.js:1
t @ app.fd6c46a3.js:1
(anonymous) @ app.fd6c46a3.js:1
(anonymous) @ app.fd6c46a3.js:1
Also please note that, for speckle server I am using the same IP as the front end server with a different port number, I am not sure, if this leads to an issue though.
We changed the documentation and the recommended docker-compose yaml after publishing the official images to Docker Hub.
You only need to expose the frontend port to the internet (and use it as the speckle server url). The frontend will communicate with the backend transparently. (to test, you can try http://51.x.x.y/graphql . if it opens the page correctly, then the frontend communicated correctly with the backend, which served the page.
The github url that u mentioned was removed, as it contained some issues. It was almost the same version as the one in the documentation (which is mentioned as a snippet). It was removed from the repo to simplify things: If you just want to deploy a server, follow the docs. If you want a development environment, follow the git repo
Can you please paste your docker-compose .yml file? is it using the latest images from docker hub directly?
Do you use any https in front of the azure deployment (cloudflare, other azure services), or just access the services directly?
Looks like your environment variable CANONICAL_URL is set to the wrong value (it looks like it has an extra ‘.2221’ at the end, from the URL requested in your screenshot).
Also, the websocket connection issue was fixed in the latest release.
So you can get the latest images or better yet, explicitly use the latest release by using the docker image tags :v2.2.7 instead of :latest (for both speckle/speckle-frontend and speckle/speckle-server images)
Hi @arvnda, I think those errors are actually ok - I think functionality is integral. They might be related to missing information about the server; you can customise and edit this under your profile > edit server info: