Speckle Server

Speckle is the open source data platform for the architecture, engineering and construction industry. It enables you to freely exchange data between software silos and automate design and delivery processes.

Software Included

Package Version License
Speckle Server latest Apache 2.0
Nginx 1.18 Custom
Docker CE 20.10.6 Apache 2.0
PostgreSQL 13.1 PostgreSQL License
Redis 6.0 three clause BSD license

Creating an App using the Control Panel

Click the Deploy to DigitalOcean button to create a Droplet based on this 1-Click App. If you aren’t logged in, this link will prompt you to log in with your DigitalOcean account.

Deploy to DO

Creating an App using the API

In addition to creating a Droplet from the Speckle Server 1-Click App using the control panel, you can also use the DigitalOcean API. As an example, to create a 4GB Speckle Server Droplet in the SFO2 region, you can use the following curl command. You need to either save your API access token) to an environment variable or substitute it in the command below.

curl -X POST -H 'Content-Type: application/json' \
         -H 'Authorization: Bearer '$TOKEN'' -d \
        '{"name":"choose_a_name","region":"sfo2","size":"s-2vcpu-4gb","image": "aecsystems-speckleserver-20-04"}' \
        "https://api.digitalocean.com/v2/droplets"

Getting Started After Deploying Speckle Server

Optional (recommended): If you want your Speckle Server to use the secure https protocol, you need to set up a domain (or subdomain) for it. To set it up, you should create an A record for the domain/subdomain you wish to use, to point to the droplet IP address.

After the Speckle Server One-Click Droplet is created (and optionally domain and DNS records are set up), you’ll need to log into the Speckle Server Droplet to complete its setup. From a terminal on your local computer, connect to the Droplet as root. Make sure to substitute the IP address of the Droplet:

ssh root@your_droplet_public_ipv4

As soon as you log in for the first time, you will be asked to interactively configure the server with:

  • An optional domain name that points to your Droplet IP address
  • An optional email provider SMTP settings to allow the Speckle Server to send emails

If you choose to use a domain for your server, you will also be asked to configure letsencrypt certificate generation (email address and to agree to their terms and conditions).

Once that’s done, head over to your Server’s URL in a browser and create an account. This first account will be an administrator for this Speckle Server.

If you ever want to reconfigure the Speckle Server details mentioned here, you can manually run the setup script again and follow the instructions:

/opt/speckle-server/setup.py

If you want to upgrade your droplet to the latest released SpeckleServer version, you can run the update.sh script:

/opt/speckle-server/update.sh

After running the update.sh script, you should run the setup.py file to configure the new version.