We publish official Docker images for each release. Sirveo is designed to run well in containerized environments.
Configuration is typically provided via environment variables, instead of a configuration file.
Regarding Licensing
See the licensing reference for how to configure a license.
Without a valid license, the server will start in restricted mode .
You can obtain a free evaluation licenses here .
Note that our official Docker images have SIRVEO_EULA_ACCEPT
configured to no
. Change this setting to yes
if
you agree to the terms of Sirveo’s EULA .
Public Docker Repo
Sirveo publishes official images on Docker Hub.
These images are based on amd64 Linux. Images for arm64 Linux are not available yet. See below for building your own.
docker pull sirveo/sirveo:stable
Custom Docker Images
Obtain a Sirveo binary here .
Official images are built with a dockerfile similar to this:
COPY /path/to/sirveo-amd64-linux ./sirveo
ARG SIRVEO_LOG_LEVEL=INFO
ARG SIRVEO_EULA_ACCEPT= "no"
ARG SIRVEO_DB_TYPE=postgres
ARG SIRVEO_DB_HOST=localhost
ARG SIRVEO_DB_NAME=sirveo
ARG SIRVEO_DB_USER=changeme
ARG SIRVEO_DB_PASSWORD=changeme
ARG SIRVEO_DB_SSLMODE=prefer
ARG SIRVEO_CREATE_DEFAULT_USER=false
ARG SIRVEO_DEFAULT_USERNAME=admin
ARG SIRVEO_DEFAULT_PASSWORD=sirveoadmin
ARG SIRVEO_LISTEN_ADDRESS_ADMIN=0.0.0.0:7001
ARG SIRVEO_LISTEN_ADDRESS_INBOUND=0.0.0.0:7005
ARG SIRVEO_URL_ADMIN= "http://localhost:7001"
ARG SIRVEO_URL_INBOUND= "http://localhost:7005"
ARG SIRVEO_IP_HEADER_ADMIN= ""
ARG SIRVEO_IP_HEADER_INBOUND= ""
ARG SIRVEO_ENABLE_CORS=false
# config: API authentication
ARG SIRVEO_JWT_SIGNING_SECRET= ""
ARG SIRVEO_JWT_EXPIRY= "4h"
ARG SIRVEO_RETENTION_PERIOD_SCHEDULES= "24h"
ARG SIRVEO_RETENTION_PERIOD_EVENTS= "720h"
ARG SIRVEO_TELEMETRY_MODE=disabled
CMD [ "/usr/bin/sirveo" , "server" ]
Customize the default configuration as appropriate, or override at runtime.
Docker Compose
Running Sirveo with Docker compose is useful for local testing environments.
The following Docker compose file is based on the official image. You can use it as-is, apart from configuring a license.
# ============================================ postgres
POSTGRES_DB : " sirveo_app "
POSTGRES_USER : " sirveo_user "
POSTGRES_PASSWORD : " sirveo_pass "
# ============================================ sirveo
image : " sirveo/sirveo:stable "
SIRVEO_DB_TYPE : " postgres "
SIRVEO_DB_NAME : " sirveo_app "
SIRVEO_DB_USER : " sirveo_user "
SIRVEO_DB_PASSWORD : " sirveo_pass "
SIRVEO_DB_SSLMODE : " prefer "
SIRVEO_CREATE_DEFAULT_USER : " true "
SIRVEO_DEFAULT_USERNAME : " admin "
SIRVEO_DEFAULT_PASSWORD : " sirveoadmin "
SIRVEO_LISTEN_ADDRESS_ADMIN : " 0.0.0.0:7001 "
SIRVEO_LISTEN_ADDRESS_INBOUND : " 0.0.0.0:7005 "
SIRVEO_URL_ADMIN : " http://localhost:7001 "
SIRVEO_URL_INBOUND : " http://localhost:7005 "
SIRVEO_IP_HEADER_ADMIN : ""
SIRVEO_IP_HEADER_INBOUND : ""
SIRVEO_ENABLE_CORS : " false "
# config: API authentication
SIRVEO_JWT_SIGNING_SECRET : ""
SIRVEO_RETENTION_PERIOD_SCHEDULES : " 24h "
SIRVEO_RETENTION_PERIOD_EVENTS : " 720h "
SIRVEO_TELEMETRY_MODE : " disabled "