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.