Using Speckle offline (without internet connection)

Hello! I was thinking that my personal Speckle workflow is very inefficient. I use it to send geometry from Rhino to Blender and it is really cool, because I can make quick corrections in Rhino and in a few clicks I get it in Blender. I use it as a “live sync” option between those 2 programs. (Lumion has something similar, automatic export from rhino to *.dae and import to Lumion app).

However my issue is that every time I want to send data with Speckle I have to first upload it to the server and than download it. It is great, beacuse Speckel adds a lot of cool features, but I can’t use it offline and with really big projects takes a bit longer… So it just seems a bit inefficient.

I was wondering if there was a possibility to use Speckel offline? More like a live sync thing?

3 Likes

Great idea @FGFG! It would be awesome if there was an offline mode where data would be stored only locally. Speed is one thing, but privacy concerns on some projects play a role too.

I guess one could always set up a local speckle server, but that’s a lot of hassle and will probably be used by a small amount of users.

1 Like

All the connectors could, theoretically, use local transports?

2 Likes

Yes, they all could. Currently, only Grasshopper and Dynamo have local transports though primarily because not having a UI it’s much easier to add these features.

Maybe we could experiment a bit with adding it to our Desktop UI and Blender, although keep in mind that local transports do not have the concept of commits and branches, and they would only work in “single-player” mode.

@FGFG do you feel like the upload/download time is considerably longer than the conversion time?

3 Likes

So far I use Speckle in “single-player” mode without commits and branches for about 95% of the cases so it is no problem.

1 Like

No, not really, only on super heavy scenes upload/download time gets slower. Also there are a few bugs with blender add on. (I already reported them :slight_smile: )

1 Like

Thanks, we’ll look into it!

(PS I can’t seem to find other threads from you in regards to Blender bugs, so feel free to link them here or post again)

Running a local server on a corporate network without the need for an internet connection is a primary need for my use case. (In terms of speckle manager working offline!)

Definitely vote for this if it isn’t too hard to do!

Hey @TonyTrav , yo can totally do so already.

We have customers running Speckle on super-secret projects in air gap rooms indeed.

After deploying the server in your local network, you can install the connectors manually, without needing manager, from: https://releases.speckle.systems/
Then, use either the Revit/Rhino/Autocad connectors to log in into your local account and you’ll be good to go!

Let me know if you face any issues in doing so :slight_smile:

2 Likes

Oh wow… that is great news.

I will try again. (initially I just turned off my internet and everything stopped working).

Good to know it is possible!

Tony

Is there a noob friendly tutorial for setting up a local server?

Not sure we have a proper tutorial about this, but if you’re familiar with Docker, you should get a server up and running locally using this docker-compose.yml file https://github.com/specklesystems/speckle-sharp/blob/5b0ad24b0f65e3d4a2c959d971bba27977b4fa4a/Core/docker-compose.yml

It’s the one we use to spin up a test server for our integration tests. Depending on your needs you may want to modify this… but it’s a good place to get you started!

Just run docker compose -f PATH_TO_DOCKER_COMPOSE_FILE up -d where PATH_TO_DOCKER_COMPOSE_FILE is wherever you saved the linked docker-compose.yml (file name included).

The devops team may have fancier ways of handling this that I’m unaware of… @gjedlicska :smiley: As i’m not sure of the implications of running your own server long term (database size… etc…)

Hey @FGFG

We have a few pages dedicated to setting up servers in different types of environments.
We strongly recommend setting up a server in some sort of linux / unix environment. For dev purposes WSL is also good, but we def not recommend that for prod usage.

For setting up a local server, if you have any linux env available with docker installed. Follow this guide for Deploying a Server - manual setup | Speckle Docs .

At that point its up to the underlying hardware capabilities how much load an instance can support ( up to a certain limit ).

3 Likes

Just want to add my encouragement to the Speckle team to make local storage an option in all the connectors. Many use cases are really really simple - in my case just moving some geometry from Rhino or Archicad to Blender for rendering. The installation instructions for setting up a local server are quite complex for a non-programmer, I tried and ran into some very cryptic errors right away.

It seems to be the curse of modern software, but I really dislike the idea of having to install a few gigs of dependencies to do a simple thing!