Installation

This guide walks through deploying the Argus Agentic SOC Platform using Docker Compose — the fastest path from zero to a running system.

Prerequisites

Software Minimum Version Notes
Docker 24.0+ Container runtime
Docker Compose 2.20+ Included in Docker Desktop
Git 2.30+ Clone the repository
Make (optional) 4.0+ Shortcut commands; install via choco install make on Windows

Quick Start

# 1. Clone the repository
git clone <repository-url>
cd ECHO-SOC-Platform

# 2. Create the environment file
cp env.example .env

# 3. Edit .env — fill in required variables (see below)

# 4. Build and start all services in development mode
docker-compose -f docker-compose.dev.yml up --build -d

# 5. Open the application
#    Frontend:    http://localhost:3000
#    Backend API: http://localhost:8000

Environment Configuration

Copy the example file and set all required variables before starting containers.

Required Variables

Variable Description Example
SECRET_KEY Django secret key (strong random string) change-me-in-production
DEBUG Enable debug mode False
ALLOWED_HOSTS Comma-separated allowed hostnames localhost,127.0.0.1
POSTGRES_DB PostgreSQL database name siem_db
POSTGRES_USER PostgreSQL username siem_user
POSTGRES_PASSWORD PostgreSQL password siem_password
POSTGRES_HOST Database hostname db (Docker service name)
POSTGRES_PORT Database port 5432
BACKEND_ORIGIN Backend URL for frontend API calls http://backend:8000

Docker networking: Set POSTGRES_HOST=db, not localhost. Both services share the same Docker Compose network and resolve each other by service name.

Optional Variables

Variable Description Default
ES_HOST Elasticsearch URL http://localhost:9200
ES_USERNAME Elasticsearch username elastic
ES_PASSWORD Elasticsearch password
PREFECT_API_URL Prefect Server API endpoint http://127.0.0.1:4200/api
REDIS_ENABLED Enable Redis caching false
REDIS_URL Redis connection URL redis://localhost:6379/0

Email / SMTP

Variable Description Example
EMAIL_HOST SMTP server smtp.gmail.com
EMAIL_PORT SMTP port 587
EMAIL_HOST_USER SMTP username noreply@example.com
EMAIL_HOST_PASSWORD SMTP password
EMAIL_USE_TLS Use TLS true
DEFAULT_FROM_EMAIL Default sender address noreply@example.com

Service Ports (Development)

Service Host Port Container Port
Frontend (Next.js) 3000 3000
Backend (Django) 8000 8000
PostgreSQL 5432 5432

Verifying the Deployment

1. Check container status

docker ps

You should see three running containers: frontend, backend, and postgres.

2. Check backend health

curl http://localhost:8000/api/

3. Check database connectivity

docker exec -it postgres psql -U siem_user -d siem_db -c "SELECT 1;"

4. View logs

# All services
docker-compose -f docker-compose.dev.yml logs -f

# Single service
docker logs backend

Common Makefile Commands

Command Description
make build-dev Build and start development containers
make redeploy-dev Stop, rebuild, and restart
make logs-dev Tail development logs
make clean-dev Remove all dev containers, volumes, and images

For production deployment (Gunicorn, port 80, hardened settings) see Docker Deployment.