Setting Up Lakeshore Service
Host your own Lakeshore control plane and create its first namespace. Run the server steps on the machine that will host the service, then use the Lakeshore CLI from your admin machine.
Already have a server URL and access token? Skip to Connect Lakeshore to DreamLake. To try the Python SDK first, use Quick start.
The examples use lab as the Lakeshore namespace. Replace lakeshore.example.com with your server's hostname.
1. Start the control-plane server
On your server, install Node.js 20+, pnpm, Git, and Docker with Compose. You need access to the workspace repository and its submodules.
Edit .env with these values. Generate the two secrets with the commands below and paste their output into the corresponding fields.
Initialize the database and start the server:
In another terminal on the server:
Expect {"ok":true}. This checks that the HTTP server is running.
For an ongoing service, run the start command under your process manager with this directory as its working directory. Point an HTTPS reverse proxy at port 8080 and configure DNS for lakeshore.example.com. Keep MongoDB, Redis, and the backend port private; the workspace Compose file publishes its database ports on all interfaces by default. Keep the encryption key stable across restarts.
2. Create a namespace and access token
On your admin machine, install the Lakeshore CLI:
Set the admin token to the same value you put in the server's .env. Then create the namespace:
Log in as the administrator to mint and save a regular client token:
Remove the admin credential from your shell after setup:
Keep LAKESHORE_URL unset after login: setting it makes ordinary Lakeshore commands bypass the saved login token.
Next: connect or run work
The server is ready when its health check succeeds and lakeshore auth status validates your client login.
- Connect Lakeshore to DreamLake to view its queues, workers, and jobs from DreamLake.
- Quick start to try a Python function and learn how to point the SDK at your service.
Documentation
For large job payloads and durable log storage, also configure payload storage and log storage.