- Docker
- Docker Compose
- Copy the example environment file:
cp .env.example .env.local
- Update environment variables in
.env.local
Use Docker Compose to start all services:
docker compose up --build
This will start:
- PostgreSQL database
- Collaro application in development mode
- Image:
postgres:latest
- Port: 5432
- Environment variables:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=collaro
- Base image:
node:18-alpine
- Working directory:
/app
- Port: 3000
- Environment:
- DATABASE_URL (configured to connect to PostgreSQL container)
- Other environment variables from
.env.local
docker build -t collaro:latest .
docker build --platform=linux/amd64 -t collaro:latest .
docker tag collaro:latest registry.example.com/collaro:latest
docker push registry.example.com/collaro:latest
docker compose logs -f
docker compose exec collaro-app sh
docker compose exec postgres psql -U postgres
# Stop and remove containers
docker compose down
# Remove volumes (will delete database data)
docker compose down -v
# Remove all related images
docker compose down --rmi all
-
Port conflicts
- Change the port mapping in
compose.yaml
- Default ports: 3000 (app), 5432 (database)
- Change the port mapping in
-
Database connection issues
- Ensure database container is running:
docker compose ps
- Check database logs:
docker compose logs postgres
- Verify DATABASE_URL in environment
- Ensure database container is running: