Announcing DoltLab Enterprise Offline mode
Today we're excited to announce the release of DoltLab v2.3.5 which includes support for running DoltLab Enterprise in "offline" mode. Prior versions of DoltLab Enterprise, which support "online" mode only, required customers to allow egress access on their Enterprise hosts.
This was because DoltLab Enterprise "online" needs to make outbound http requests in order to validate an Enterprise license.
Now, with DoltLab >= v2.3.5, DoltLab Enterprise can run totally offline. In October, we showed you how to run DoltLab Community edition "offline" but until 2.3.5, Enterprise needed the internet.
Today's post covers how to set up a DoltLab Enterprise instance that runs in "offline" mode.
DoltLab Enterprise offline
On the DoltLab host, you will need a version of DoltLab and its service images >= v2.3.5.
Ensure that DoltLab's dependencies are installed on the host as well.
Next, unzip
DoltLab's service images and load them into Docker.
$ unzip doltlab-service-images-v2.3.5.zip -d service-images
Archive: doltlab-service-images-v2.3.5.zip
inflating: service-images/envoy-v1.28-latest.tar
inflating: service-images/pull-merge-v2.3.5.tar
inflating: service-images/dolt-ci-v2.3.5.tar
inflating: service-images/dolthubapi-server-v2.3.5.tar
inflating: service-images/dolt-sql-server-v2.3.5.tar
inflating: service-images/doltremoteapi-server-v2.3.5.tar
inflating: service-images/query-job-v2.3.5.tar
inflating: service-images/dolthub-server-v2.3.5.tar
inflating: service-images/dolthubapi-graphql-server-v2.3.5.tar
inflating: service-images/fileserviceapi-server-v2.3.5.tar
inflating: service-images/file-importer-v2.3.5.tar
# load all service images into docker
$ docker load < envoy-v1.28-latest.tar
...
$ docker load < pull-merge-v2.3.5.tar
...
$ $ docker load < dolt-ci-v2.3.5.tar
...
After loading all the images, unzip
DoltLab and edit the installer_config.yaml
. In addition to specifying the host
and passwords
to use, supply the offline license keys in the enterprise section of the file. The DoltHub team will provide you with the values for these fields.
# installer_config.yaml
host: "my-doltlab.instance.com"
...
enterprise:
offline_api_key: "my-offline-api-key"
offline_shared_key: "my-offline-shared-key"
offline_license_key: "my-offline-license-key"
offline_product_code: "my-offline-product-code"
request_offline_activation: true
Ensure that request_offline_activation
has a value of true
. This tells the installer to generate a request file for offline activation that you will need to send back to the DoltHub team in order to complete your offline activation. Run the installer
to generate this file.
$ ./installer
2025-01-06T19:29:08.273Z INFO metrics/emitter.go:111 Successfully sent DoltLab usage metrics
2025-01-06T19:29:08.275Z INFO cmd/main.go:601 Please provide the generated offline activation request file to the DoltHub team: {"file": "/home/ubuntu/doltlab/0ed1d18_offline_activation.req"}
You should then send the DoltHub team the generated file ending in .req
. Once the team responds, they will provide you with a valid license file. Upload this file to your DoltLab Enterprise host.
In our example, the license file provided to us by the DoltHub team is /home/ubuntu/doltlab/0ed1d18_doltlabv1.json
.
Our final step will be to edit the installer_config.yaml
, specifying the path to the license file in the offline_license_file field, and removing the request_offline_activation
field or setting it to false
.
# installer_config.yaml
...
enterprise:
offline_api_key: "my-offline-api-key"
offline_shared_key: "my-offline-shared-key"
offline_license_key: "my-offline-license-key"
offline_product_code: "my-offline-product-code"
offline_license_file: "/home/ubuntu/doltlab/0ed1d18_doltlabv1.json"
Next, we re-run the installer
to generate the DoltLab Enterprise assets.
$ ./installer
2025-01-06T20:34:24.777Z INFO metrics/emitter.go:111 Successfully sent DoltLab usage metrics
2025-01-06T20:34:24.777Z INFO cmd/main.go:607 Successfully configured DoltLab {"version": "v2.3.5"}
2025-01-06T20:34:24.777Z INFO cmd/main.go:613 To start DoltLab, use: {"script": "/home/ubuntu/doltlab/start.sh"}
2025-01-06T20:34:24.777Z INFO cmd/main.go:618 To stop DoltLab, use: {"script": "/home/ubuntu/doltlab/stop.sh"}
We can now start DoltLab Enterprise normally with the start.sh
script, and the instance will be fully operational without making any http outbound requests!
Conclusion
As always, the basic version of DoltLab is totally free and you can get it up and running in under 30 minutes. For those requiring the full enterprise experience, we'd be happy to provide you with a free trial, just pop by our Discord and ask! We'd love to chat with you and learn more about how you want to use DoltLab.
Thanks for reading and don't forget to check out each of our cool products below:
- Dolt—it's Git for data.
- Doltgres—it's Dolt + PostgreSQL.
- DoltHub—it's GitHub for data.
- DoltLab—it's GitLab for data.
- Hosted Dolt—it's RDS for Dolt databases.
- Dolt Workbench—it's a SQL workbench for Dolt databases.