Skip to main content

Advanced installation

servasec can be deployed with Docker Compose or Helm.

Available since v0.0.2

Prerequisites

The quickest path is the install script, which downloads the deploy files and pulls the container images from registry.gitlab.com.

Community edition (published images)

git clone https://github.com/servasec/servasec.git
cd servasec
cp .env.example .env
# update .env as needed
make community

Uses docker-compose.prod.yml and pulls the backend, frontend and caddy images from registry.gitlab.com.

Community edition (build from source)

make community-build

Uses docker-compose.build.yml as an override to build the images locally with multi-stage Docker builds instead of pulling them.

Pro edition

git clone https://github.com/servasec/servasec.git
cd servasec
cp .env.example .env
# set SSC_LICENSE_KEY in .env
make pro

The pro backend is a private image: authenticate to the registry first with docker login registry.gitlab.com.

Compose files

FilePurpose
docker-compose.dev.ymlLocal development with hot-reload
docker-compose.prod.ymlProduction deployment (pulls images from registry.gitlab.com)
docker-compose.build.ymlBuild override (local builds from source)

Volumes

VolumeMountPurpose
caddy_data/dataTLS certificates
postgres_data/var/lib/postgresql/dataDatabase persistence

Environment variables

VariableDefaultDescription
SSC_PUBLIC_DOMAINservasec.localDeployment domain
POSTGRES_PASSWORD(required)PostgreSQL password
JWT_SECRET(auto-generated)JWT signing secret
CSRF_SECRET(auto-generated)CSRF protection secret
SSC_LICENSE_KEY-Pro license key (optional)

See the full configuration reference for all environment variables.