Stasis

Docker Deployment

Deploy Stasis with Docker Compose

Docker Deployment

Docker Compose is the recommended way to deploy Stasis.

Quick Start

# Clone the repository
git clone https://github.com/get-stasis/stasis.git
cd stasis

# Copy environment file
cp configs/.env.example .env

# Edit .env with your settings
vim .env

# Start all services
docker compose up -d

Services

ServiceDescriptionPort
nginxReverse proxy80, 443
apiGo API server8080 (internal)
webNext.js frontend3000 (internal)
postgresPostgreSQL database5432 (internal)

Environment Variables

Create a .env file with the following:

# Required
STASIS_DB_PASSWORD=your-secure-password
STASIS_OIDC_JWT_SECRET=your-jwt-secret-minimum-32-characters

# Optional
STASIS_OIDC_ENABLED=true
STASIS_OIDC_ISSUER_URL=https://your-oidc-provider.com
STASIS_OIDC_CLIENT_ID=your-client-id
STASIS_OIDC_CLIENT_SECRET=your-client-secret

Volumes

VolumeDescription
postgres_dataPostgreSQL data
repo_dataGit repositories
nginx_certsSSL certificates

Health Checks

All services include health checks:

# Check service status
docker compose ps

# View logs
docker compose logs -f api

Production Considerations

  1. Use HTTPS: Configure SSL certificates
  2. Set strong passwords: Use secure database passwords
  3. Enable OIDC: Configure authentication
  4. Regular backups: Backup PostgreSQL and repository data
  5. Monitor services: Set up monitoring and alerting

Next Steps

On this page