Docker Compose
This guide covers setting up Hook0 using Docker Compose for local development.
Development Only
This configuration is intended for development and testing purposes only, not for production use.
This setup does not address production concerns such as:
- Scalability - handling increased load and traffic
- Resilience - fault tolerance and recovery
- High availability - minimizing downtime
- Observability - monitoring, logging, and alerting
- 24/7 operations - on-call support and incident management
For production workloads, use Hook0 Cloud which provides a fully managed, production-ready infrastructure.
Prerequisites
- Docker installed on your machine
- Docker Compose installed
Setup
Clone the repository and run Docker Compose:
git clone https://gitlab.com/hook0/hook0.git
cd hook0
docker compose -f docker-compose.yaml up --build --detach
The initial build requires significant time.
User Registration
After deployment, create an account using the registration endpoint:
curl http://localhost:8081/api/v1/register \
-X POST \
-H 'Content-Type: application/json' \
-d '{
"email": "your@email.com",
"first_name": "Your",
"last_name": "Name",
"password": "your-secure-password"
}'
Email Verification
Hook0 sends a verification email before you can log in. In local development, emails are captured by Mailpit:
- Open Mailpit at
http://localhost:8025 - Find the verification email sent to your address
- Click the verification link in the email
Access
After verifying your email, login at http://localhost:8001.
Data Storage
Docker volumes include:
| Volume | Path | Purpose |
|---|---|---|
| postgres-data | /var/lib/postgresql/data | Hook0 database |