Three practical ways to get Lab Manager in front of a user, from fastest evaluation to a real deployment.
Before deploying a new release candidate from a checkout, verify the maintained release gate:
uv sync --dev --frozen
docker compose --env-file .env.example config -q
uv run pytest tests --ignore=tests/bdd -q
bash scripts/run_release_gate.shThis is the current release standard for the default shipped product surface.
Best for product evaluation, demos, and first-time users who want to try the app before adopting it.
cd lab-manager
bash scripts/bootstrap_local_env.sh "My Lab"
docker compose up -d --buildThen open http://localhost and complete the setup wizard in the browser.
This path is intentionally local-friendly:
- it generates secrets automatically
- it sets
SECURE_COOKIES=falsefor localhost HTTP - it does not require an AI API key to explore the core product
Run on any Ubuntu/Debian machine (local server, VM, cloud instance):
gh repo clone labclaw/lab-manager
cd lab-manager
bash deploy/install.shThe installer will:
- Install Docker if needed
- Generate all secrets automatically
- Ask for your lab name, domain, and optional Gemini API key
- Start all services and verify they're healthy
Requirements: Ubuntu/Debian, 4GB+ RAM, root or sudo access.
This repo is currently private. If you do not use gh repo clone, run the installer from an existing checked-out copy of the repository.
Create a fully configured cloud server with one command from your local checked-out repo:
gh repo clone labclaw/lab-manager
cd lab-manager
# Install doctl: https://docs.digitalocean.com/reference/doctl/how-to/install/
doctl auth init
bash deploy/digitalocean/create-droplet.sh --lab-name "My Lab"This creates a $24/mo droplet (4GB RAM, 2 vCPUs) with:
- Lab Manager running and accessible via HTTP
- UFW firewall (ports 22, 80, 443 only)
- Daily database backups at 2 AM
- All secrets auto-generated
- The current local repo snapshot uploaded directly to the droplet
Options:
bash deploy/digitalocean/create-droplet.sh --region sfo3 --name my-lab --lab-name "My Lab"
bash deploy/digitalocean/create-droplet.sh --gemini-api-key "$GEMINI_API_KEY"For custom setups, see DEPLOY.md in the project root.
cp .env.example .env
# Edit .env with your passwords and settings
docker compose up -dAll three options end the same way:
- Open the URL in your browser (the installer prints it)
- You'll see a setup wizard -- enter your lab name and create an admin account
- Start using Lab Manager immediately
The SQLAdmin panel is available at /admin/ using the generated ADMIN_PASSWORD (printed by the installer or stored in /opt/labclaw/.admin_password on DigitalOcean).
To enable AI features later, add a Gemini API key to .env and restart:
# Edit .env and set GEMINI_API_KEY=your-key
docker compose up -d