• Postgres 15 or newer (for "UNIQUE NULLS NOT DISTINCT" feature)


Lapdev works on a variety of Linux distributions. You can install Lapdev on a Linux machine with a single command:

curl -L https://lap.dev/install.sh | sh

After installation, edit the config file at /etc/lapdev.conf and change the db config to your Postgres installation, and then start lapdev service

# Use systemd to start lapdev now and on reboot
sudo systemctl enable --now lapdev

You can now view the web interface by going to http://YOUR_IP.

Cluster Initiation

The first time you go to the web interface at http://YOUR_IP, you will see the OAuth provider configurations.

Lapdev currently supports Github and Gitlab. Create your OAuth settings in your Github or Gitlab account, and the Authorization callback URL needs to be http://YOUR_IP_ADDRESS/api/private/session/authorize

After saving the OAuth settings, you can log in via your OAuth provider.

After login, you can access the cluster settings and you'll want to change the http://IP_ADDRESS to a proper https site. To do that, you'll need to add SSL certificates at Cluster Admin -> Cluster Settings

We suggest you use a wildcard certificate for your Lapdev domain, because the workspace web IDE will be accessed from a subdomain of your Lapdev domain. E.g., if your Lapdev domain is ws.lap.dev, the web IDE will be something like workspace-123.ws.lap.dev.

If you haven't already, you'd need to update your DNS settings for your-lapdev-domain.com and *.your-lapdev-domain.com to point to the Lapdev node's IP address. After saving the SSL certificate, you can start to access the web interface via https://your-lapdev-domain.com

And before you log in, you'll need to change the Authorization callback URL in your OAuth provider to https://your-lapdev-domain.com/api/private/session/authorize

Workspace Host Installation

To be able to create workspaces, you'll need to create a workspace host. For a quick start, you can install the workspace host service on the same machine. And you can install it with a single command:

curl -L https://lap.dev/install-ws.sh | sh

Then you can start lapdev-ws service:

# Use systemd to start lapdev-ws now and on reboot
sudo systemctl enable --now lapdev-ws

If you've installed workspace host on a different machine, you'll need to allow tcp port 6123 from the controller. And you can see the full firewall rules requirements here.

Cluster Settings

After lapdev-ws is installed and started, you will need to add the workspace host in Cluster Admin -> Workspace Hosts:

And configure the hostname for your Lapdev cluster in Cluster Admin -> Cluster Settings

Next Steps

You can start to create workspaces in Lapdev, and you can learn more about Lapdev’s core concepts.

To know about scaling Lapdev out beyond one node, you can read about it here.

If you’re interested in the Lapdev internals, you can read about its architecture here.

Last updated