Install Bindplane in Docker Compose
Learn how to install and configure Bindplane using Docker Compose.
This guide explains how to install and configure Bindplane using Docker Compose. Docker Compose provides an easy way to manage and run Bindplane in a containerized environment.
This setup is intended for development and testing purposes.
Prerequisites
Before installing Bindplane, ensure you have:
- Docker installed (version 20.10.0 or later)
- Docker Compose installed (version 2.0.0 or later)
- At least 2 CPU cores and 4GB of RAM available
- Ports 3001 available for Bindplane
- A valid Bindplane license
Step 1: Create Docker Compose Configuration
Create a docker-compose.yaml
file. Go to the Download page, select Docker as your platform, copy the content and paste it into your docker-compose.yaml
file.
Step 2: Configure Environment Variables
Replace the placeholder value for BINDPLANE_LICENSE
with your actual license.
Step 3: Start Bindplane
Start the Bindplane service:
Verify that the container is running:
View logs for troubleshooting:
Step 4: Access Bindplane
Once the container is running, you can access Bindplane:
- Bindplane UI:
http://localhost:3001
- Prometheus UI:
http://localhost:9090
Step 5: Stopping the Services
Troubleshooting
Common Issues
-
PostgreSQL fails to start
- Check if port 5432 is already in use
- Ensure you have proper permissions for the data volume
-
Bindplane fails to connect to PostgreSQL
- Wait for PostgreSQL to fully initialize
- Check the PostgreSQL logs:
docker compose logs postgres
-
Transform agent connection issues
- Verify the transform agent is running:
docker compose ps transform
- Check transform agent logs:
docker compose logs transform
- Verify the transform agent is running:
Viewing Logs
Data Persistence
Data is persisted in Docker volumes:
- PostgreSQL data:
bindplane
volume - Prometheus data:
prometheus
volume
To back up your data, you can use Docker volume backup commands:
Security Notes
- This configuration uses default passwords for PostgreSQL. In a production environment, you should change these.
- The default configuration exposes ports to localhost only.
- Sensitive information should be stored in environment variables or secrets management.
- Generate unique UUIDs for
BINDPLANE_SESSIONS_SECRET
.
Additional Resources
Next Steps
After installing Bindplane: