Skip to content

Services Overview

Aegis runs as a Docker Compose stack with 5 core services.

Service Architecture

graph TB
    subgraph External["External Traffic"]
        Internet[Internet]
    end

    subgraph Stack["Docker Compose Stack"]
        Traefik[Traefik<br/>:80, :443]
        Dashboard[Dashboard<br/>:8080]
        Scheduler[Scheduler]
        Playwright[Playwright<br/>:3002]
        FalkorDB[FalkorDB<br/>:6379]
    end

    subgraph Host["Host Services"]
        PostgreSQL[PostgreSQL<br/>:5432]
        Ollama[Ollama<br/>:11434]
    end

    Internet --> Traefik
    Traefik --> Dashboard
    Dashboard --> PostgreSQL
    Dashboard --> Ollama
    Dashboard --> FalkorDB
    Scheduler --> PostgreSQL
    Scheduler --> Playwright

Service Status

Service Container Port Health
Dashboard aegis-dashboard 8080 /health
Scheduler aegis-scheduler - inherits
Traefik traefik 80, 443 /ping
FalkorDB falkordb 6379 redis PING
Playwright aegis-playwright 3002 /health
PostgreSQL host service 5432 pg_isready

Startup Order

  1. traefik - Starts independently (external network)
  2. falkordb - Starts independently (data persistence)
  3. dashboard - Depends on traefik (health check required)
  4. playwright - Starts independently
  5. scheduler - Depends on dashboard + playwright

Management Commands

# Start all services
cd ~/projects/aegis-core && docker compose up -d

# View status
docker compose ps

# View logs
docker compose logs -f dashboard

# Restart single service
docker compose restart dashboard

# Rebuild and restart
docker compose up -d --build dashboard

# Stop all
docker compose down

Health Monitoring

All services have health checks:

# Quick status
docker ps --format "table {{.Names}}\t{{.Status}}"

# Detailed health
docker inspect aegis-dashboard | jq '.[0].State.Health'

# All endpoints
curl -s http://localhost:8080/health | jq .
curl -s http://localhost:3002/health
redis-cli -p 6379 ping

Resource Usage

# Real-time stats
docker stats --no-stream

# Current usage (typical)
# aegis-dashboard:  ~500MB memory
# aegis-scheduler:  ~300MB memory
# aegis-playwright: ~200MB memory
# falkordb:         ~100MB memory
# traefik:          ~50MB memory

Documentation


Last Updated: 2026-01-25