Skip to content

Docker Deployment

Deploy USSO using Docker and Docker Compose.

Quick Start

git clone https://github.com/ussoio/usso.git
cd usso
cp sample.env .env
# Edit .env
docker compose up -d

Docker Compose Configuration

services:
  app:
    image: ghcr.io/ussoio/usso:latest
    environment:
      - MONGO_URI=mongodb://mongo:27017/usso
      - REDIS_URI=redis://redis:6379/0
    depends_on:
      - mongo
      - redis
    ports:
      - "8000:8000"

  mongo:
    image: mongo:latest
    volumes:
      - mongo_data:/data/db

  redis:
    image: redis:latest
    volumes:
      - redis_data:/data

volumes:
  mongo_data:
  redis_data:

Environment Variables

See Environment Variables for full list.

Reverse Proxy

Use Nginx or Traefik for SSL termination:

server {
    listen 443 ssl;
    server_name api.yourapp.com;

    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Health Checks

services:
  app:
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
      interval: 30s
      timeout: 10s
      retries: 3

Production Setup →