- A running Pullbase server with database
- An admin account
- Two demo agents reporting their status
Prerequisites
- Docker 24.0+ with the Compose plugin (
docker compose) - Git to clone the repository
- A terminal (macOS, Linux, or WSL)
Step 1: Clone and start Pullbase
- PostgreSQL database
- Pullbase server (API + dashboard)
- Two demo agents (test-server-1, test-server-2)
Wait for the stack to be healthy (about 60 seconds):You should see all services with status
healthy or running.Step 2: Verify the server is running
Step 3: Bootstrap your admin account
Pullbase generates a one-time bootstrap secret on first start. Retrieve it and create your admin:You should see:
Step 4: Open the dashboard
Visit http://localhost:8080 in your browser and sign in with:- Username:
admin - Password:
SecurePassword123!(or whatever you chose)
You should see the Pullbase dashboard with:
- A sidebar showing “Environments” and “Servers”
- The demo environment and servers from the seeded data
Step 5: Watch agents come online
Navigate to Servers in the sidebar. Within 60 seconds, you should see:| Server | Status | Last Seen |
|---|---|---|
| test-server-1 | Applied | Just now |
| test-server-2 | Applied | Just now |
Next: Add your own server
Now that you’ve seen Pullbase working, here’s how to add a real server.Option A: Using the UI
- Go to Servers → Create Server
- Enter a server ID (e.g.,
web-01) and name - Select an environment
- Click Create
- Go to the server’s Tokens tab and create a token
- Copy the install command and run it on your target server
Option B: Using the CLI
Install the agent on your server
On your target Linux server (VM, bare-metal, or cloud instance):What’s next?
Create environments
Group servers and link them to Git repositories
Write config.yaml
Define packages, services, and files to manage
Production deployment
Deploy Pullbase on real infrastructure with TLS
CLI Guide
Master the CLI for automation and workflows
Troubleshooting
docker compose up fails
docker compose up fails
- Ensure Docker is running:
docker info - Check if port 8080 is available:
lsof -i :8080 - Check if port 5432 is available:
lsof -i :5432 - View logs:
docker compose logs -f
Bootstrap secret not found
Bootstrap secret not found
The secret file is created on first boot. Wait 30 seconds after
docker compose up and try again:Agents not showing up
Agents not showing up
- Check agent logs:
docker compose logs test-server-1 - Agents report every 60 seconds — wait and refresh
- Verify the central-server is healthy:
curl http://localhost:8080/api/v1/healthz
Cannot access localhost:8080
Cannot access localhost:8080
- Ensure the central-server is running:
docker compose ps - Check for errors:
docker compose logs central-server - Try the healthcheck:
docker compose exec central-server wget -qO- http://localhost:8080/api/v1/healthz
Clean up
To stop and remove all containers and data:- All containers
- The PostgreSQL data volume
- Generated certificates