Stasis

GHCR Images

Deploy with pre-built Docker images from GitHub Container Registry

GHCR Images

Pre-built Docker images are available on GitHub Container Registry (GHCR). No need to clone the repository or build from source.

Available Images

ImageDescriptionSizePlatforms
ghcr.io/get-stasis/stasis-apiGo API server~50MBamd64, arm64
ghcr.io/get-stasis/stasis-webNext.js frontend~200MBamd64, arm64
ghcr.io/get-stasis/stasis-all-in-oneAll services bundled~1.5GBamd64, arm64
ghcr.io/get-stasis/stasis-ciCI runner~500MBamd64, arm64

Quick Start (All-in-One)

The fastest way to run Stasis - single container with all services:

docker run -d \
  --name stasis \
  -p 80:80 \
  -p 2222:2222 \
  -e STASIS_DATABASE_HOST=your-postgres-host \
  -e STASIS_DB_PASSWORD=your-password \
  ghcr.io/get-stasis/stasis-all-in-one:latest

Access:

Individual Services

For production deployments with separate scaling:

API Server

docker run -d \
  --name stasis-api \
  -p 8080:8080 \
  -p 2222:2222 \
  -e STASIS_DATABASE_HOST=postgres \
  -e STASIS_DB_PASSWORD=your-password \
  -e STASIS_SERVER_MODE=release \
  ghcr.io/get-stasis/stasis-api:latest

Web Frontend

docker run -d \
  --name stasis-web \
  -p 3000:3000 \
  -e NEXT_PUBLIC_API_URL=http://stasis-api:8080/api \
  ghcr.io/get-stasis/stasis-web:latest

CI Runner

docker run -d \
  --name stasis-ci \
  -p 8081:8080 \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e CI_SERVICE_TOKEN=your-token \
  ghcr.io/get-stasis/stasis-ci:latest

Environment Variables

Stasis API

VariableRequiredDefaultDescription
STASIS_DATABASE_HOSTYes-PostgreSQL host
STASIS_DATABASE_PORTNo5432PostgreSQL port
STASIS_DATABASE_USERNostasisDatabase user
STASIS_DB_PASSWORDYes-Database password
STASIS_DATABASE_DBNAMENostasisDatabase name
STASIS_DATABASE_SSLMODENodisableSSL mode
STASIS_SERVER_HOSTNo0.0.0.0Listen address
STASIS_SERVER_PORTNo8080Listen port
STASIS_SERVER_MODENodebugdebug or release
STASIS_SSH_HOSTNo0.0.0.0SSH listen address
STASIS_SSH_PORTNo2222SSH port
STASIS_STORAGE_TYPENofilesystemfilesystem or s3
STASIS_STORAGE_BASE_PATHNo/app/data/reposRepo storage path
STASIS_OIDC_ENABLEDNofalseEnable OIDC auth
STASIS_OIDC_ISSUER_URLIf OIDC-OIDC issuer URL
STASIS_OIDC_CLIENT_IDIf OIDC-OIDC client ID
STASIS_OIDC_CLIENT_SECRETIf OIDC-OIDC client secret
STASIS_OIDC_JWT_SECRETIf OIDC-JWT signing secret

CI Runner

VariableRequiredDefaultDescription
CI_SERVICE_TOKENYes-Service token for Git server
CI_API_KEYNo-API key for authentication
RUST_LOGNoinfoLog level
CI_CONFIGNo/app/configs/config.yamlConfig file path

Tags

All images support these tags:

TagDescription
latestLatest stable release
sha-abc1234Specific commit SHA
v1.0.0Specific version (when available)

Health Checks

All services expose health endpoints:

# API server
curl http://localhost:8080/health

# Web frontend
curl http://localhost:3000

# CI runner
curl http://localhost:8081/health

Volumes

All-in-One

PathDescription
/app/data/reposGit repository storage
/var/log/stasisApplication logs
/var/log/nginxNginx logs

CI Runner

PathDescription
/var/run/docker.sockDocker socket (required)
/app/workspacesCI job workspaces
/app/cacheBuild cache

Next Steps

On this page