Quick Start Guide¶
Get from zero to a running workspace in 15 minutes.
Prerequisites¶
Before you start, make sure you have:
- [x] A Linux server (Ubuntu 22.04+) with SSH access
- [x] Docker installed on the server
- [x] Tailscale installed on both your local machine and the server
- [x] Both machines connected to the same Tailscale network
Step 1: Install devbox¶
Download the binary for your platform:
Verify the installation:
Step 2: Configure SSH access¶
Make sure you can SSH into your server by name:
If this doesn't work, add an entry to ~/.ssh/config:
Tip
Use the Tailscale IP (100.x.x.x) as the hostname so the connection works from anywhere on your tailnet, not just your local network.
Step 3: Check server health¶
Run the built-in health checker:
This verifies SSH connectivity, Docker, Tailscale, git, and disk space on the server. Fix any issues it reports before continuing.
Step 4: Create a config¶
In your project directory, run:
This creates a devbox.yaml with interactive prompts for project name, server, git repo, services, and ports.
Already have a docker-compose.yml?¶
Convert it directly:
This extracts services and port mappings from your existing Compose file.
Manual config¶
Alternatively, create devbox.yaml by hand:
name: my-project
server: dev1
repo: git@github.com:your-org/your-repo.git
services:
- mysql:8.0
- redis:7-alpine
ports:
app: 8080
mysql: 3306
env:
APP_ENV: local
DB_HOST: mysql
See Configuration Reference for all available fields.
Step 5: Start a workspace¶
This will:
- SSH into the server
- Clone your repo
- Start Docker containers for your app and services
- Expose ports via Tailscale
You'll see a summary with the workspace URL and connection details when it's done.
Step 6: Connect¶
Use the Remote - SSH extension to connect to your server.
Step 7: Verify¶
Check that your workspace is running:
You should see your workspace with status running, the server name, and exposed ports.
What's next?¶
| Command | Description |
|---|---|
devbox stop my-project |
Stop the workspace (data preserved) |
devbox up |
Restart an existing workspace |
devbox destroy my-project |
Permanently remove it |
devbox up --branch feature/xyz |
Workspace for a different branch |
devbox snapshot my-project |
Save workspace state |
devbox tui |
Interactive dashboard |
Troubleshooting¶
If something goes wrong, see Troubleshooting for common issues and fixes.