We’re pleased to announce Zercurity is now generally available on Docker for free available via our GitHub page.
Since January we’ve been working on de-coupling our platform from AWS (which we still run our platform from). However, the demand for on-premise deployments of Zercurity has risen with more companies focused on keeping control over their data.
Zercurity is also available as both a standalone via OVA and Kubernetes cluster for larger deployments.
Or if you know what you’re doing:
docker-compose --env-file ../production.env up
Installing Zercurity on Debian 10
Installing on Debian is fairly straight forward. There are a few prerequisites you’ll need to install. Thereafter, the
./setup.sh will take care of the configuration and installation.
The first few steps will need to be done as root.
sudo su - or
As root install
apt install git apt-transport-https ca-certificates \
curl gnupg-agent software-properties-commoncurl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/debian \
$(lsb_release -cs) \
stable"apt update && apt-get install docker-ce docker-ce-cli
As a final setup task you need to add your non-root user to the docker group in order to interact with the docker service. Just replace tim with your user name which you can find with
whoami outside of your root session.
usermod -aG docker tim
Installing Docker Compose
As root install
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-compose
Lastly, as root. Install these last packages.
apt install git
logout of your root session. Navigate to your desired install directory. In this example we’re just using the root of our home directory.
This will take a moment to download the required files. A new folder called zercurity will have now been created.
Next run the
./setup.sh script. This will prompt you for your password during the installation as files are copied to
During the setup you’ll be required to enter in a domain name. We recommend something like:
zercurity.company.com . However, we’re just going to stick with
zercurity.local . Anything entered here will be added to your
The environment variable "ZERCURITY_DOMAIN" is not set.
A domain name is required in order to continue. e.g. zercurity.local.
Please enter one now ..
The domain can be changed at a later date. Once done zercurity will create the following file:
/var/lib/zercurity/production.env . This file contains all the necessary configuration options for your Zercurity instance.
Several gigabytes worth of container images will now be downloaded and extracted. Once completed the Zercurity service will be started automatically.
Starting up as "zercurity.local" ..
Updating local files ..
Already up to date.
Updating containers ..
Pulling frontend ... done
Pulling postgres ... done
Pulling migrations ... done
Pulling mailer ... done
Pulling redis ... done
Pulling scheduler ... done
Pulling workers ... done
Pulling backend ... done
Pulling nginx ... done
Removing old containers ..
Total reclaimed space: 0B
You will now be able to visit: https://app.zercurity.local in your web browser.
If you’re using a self signed certificate you will need to accept the warning and proceed to visit the following URLs. Otherwise, the app will not work:
Zercurity does support Let’s Encrypt. Just make sure your server is publicly facing and Let’s Encrypt can contact your server to perform an authorization check over HTTP. Simply add these variables to your
Creating your first user
In order to login you’ll need to register. You’ll be sent a confirmation email to complete the signup process. If this isn’t working or emails are restricted within your environment, you can run the following command to generate a signup link.
docker exec zercurity_backend_1 ./zercurity --register --name "Your name" --email "email@example.com"
Hopefully you’ve managed to successfully deploy Zercurity. If you have any questions or would like to leave any feedback please head over to our GitHub and leave an issue.