Docker Setup

Pulsimo is designed to run with Docker and Docker Compose for easy deployment and management.

Prerequisites

Docker

Version 24.0+ required

Docker Compose

Version 2.20+ required

Quick Start

# Clone repository
git clone https://github.com/Cloud-Council/pulsimo.git
cd pulsimo

# Configure environment
cp .env.example .env
nano .env  # Edit configuration

# Start all services
docker compose up -d --remove-orphans

# Check status
docker compose ps

Service Management

Start Services

# Start all services in background
docker compose up -d

# Start specific service
docker compose up -d api-gateway

# View logs while starting
docker compose up

Stop Services

# Stop all services
docker compose down

# Stop and remove volumes (⚠️ deletes data)
docker compose down -v

# Stop specific service
docker compose stop api-gateway

View Logs

# All services
docker compose logs -f

# Specific service
docker compose logs -f checker

# Last 100 lines
docker compose logs --tail=100 api-gateway

Common Commands

Restart Services

docker compose restart

Check Status

docker compose ps

Rebuild Images

docker compose up -d --build

Clean Everything

docker compose down -v
docker system prune -a

Troubleshooting

Port Already in Use

# Check what's using the port
sudo lsof -i :3000

# Change port in .env
EXPOSE_FRONTEND_PORT=3001

Service Won't Start

# Check logs for errors
docker compose logs service-name

# Try recreating
docker compose up -d --force-recreate service-name

Database Connection Failed

# Wait for PostgreSQL to be ready
docker compose logs postgres

# Restart dependent services
docker compose restart api-gateway checker

Best Practices

🔄 Always Use --remove-orphans: Prevents accumulation of old containers from previous configurations.

💾 Regular Backups: Backup volumes before major updates or migrations.

📊 Monitor Resources: Use docker stats to monitor CPU and memory usage.