Hello everyone, I’m working with @tycecycle to try to spin up a local development environment with Speckle using an Ubuntu environment on Microsoft Hyper V and so far, I’ve managed to get all of the components installed as explained in the instructions (yarn, docker, docker compose, git, node) with Node.js Version 18.19.
After calling sudo yarn dev in both the frontend-2 and server directories, I am able to get the mail server to show up on port 1080 but the main Speckle screen on port 8081 hangs with this internal error message. I suspect it has to do with this error on the command line that is running the yarn dev command from the server folder but I’m not sure what to change in the files to get the connection to work correctly.
I originally fixed this problem in Hyper V by installing cors on yarn but does this have to do with corepack in some way? It works on Hyper V with this fix but not working on WSL 2 for whatever reason.
Also wondering if there is a way to access the localhost:8081 window inside the Hyper V environment from my Windows machine. Is that with SSH?
Thanks for sharing more details! Since the 500 error is from your Hyper-V attempt and you’ve since tried WSL2 with similar results, it looks like the backend isn’t running correctly or there’s an issue with service communication. While we can’t deep-dive into every custom deployment, here are a few key areas that might help narrow it down:
• Check Running Services – Run docker ps -a to confirm all necessary services (Speckle server, PostgreSQL, Redis, etc.) are up. If any have exited or are restarting, check their logs with docker logs <container_id>.
• Database Connection Issues – If PostgreSQL isn’t running or is misconfigured, the API won’t function. Try docker-compose logs db to check for authentication or connectivity errors.
• CORS or Reverse Proxy Configurations – If the frontend is failing API calls, verify that CORS_ORIGIN and other related environment variables are set correctly. If using a reverse proxy, ensure it’s passing requests through properly.
• Networking & Port Binding – Hyper-V and WSL2 handle networking differently. Ensure the Speckle server is binding to 0.0.0.0 instead of localhost, and check if Windows firewall or Hyper-V’s NAT rules are blocking connections.
• Docker in WSL2 – If running Speckle in WSL2, make sure Docker itself is also running inside WSL2 rather than using Windows Docker Desktop, as cross-environment networking can cause issues. Running echo $DOCKER_HOST inside WSL2 should help confirm where it’s pointing.
• Environment Variables & File Permissions – If the issue persists across both setups, check your .env file for incorrect values, and ensure Docker has proper read/write access to necessary files.
It’s great that you’ve tried WSL2, as that tends to be a more reliable option for local development than Hyper-V. If switching environments hasn’t resolved the issue, the next step is to closely inspect logs for more specific errors. The team may be able to take a look after the weekend, but let us know if any of these checks surface useful details!
I see. Yeah, there was a brief moment where REDIS wasn’t running correctly but I addressed that after restarting Docker and ensuring that docker ran correctly in WSL2. When I do echo $DOCKER_HOST though, nothing prints out. Should it be printing something?
Do you have logs from speckle’s server container? Do you have additional logs from speckle’s frontend-2 container? If you review the logs in detail, these may provide additional information.
I see. Running docker info seems to be working fine. I ran docker ps -a and all necessary services seem to be up and running. I tried docker-compose logs db and did see an error show up that says that no configuration files are provided. I have also tried redoing the cp commands to ensure that the environment variables are maintained across the whole setup but that doesn’t seem to have changed anything. Regarding CORS and reverse proxy configurations (which seem to have fixed the Hyper V setup), what would be the correct way to set up the CORS_ORIGIN environment variable?
With regards to the logs, I have attached them here with bold in the parts that may lead to a solution. Most notably, there is a WARN when running yarn dev in the frontend-2 directory that says ApolloClient Error: Fetch Failed.
And then it ends with internal error code 500 and I cannot sign in on the mail server.