Debian

Zercurity is supported on Debian 9/10.

Note

This installation assumes you are installing Zercurity as a system user called admin under the working directory /home/admin. You can install Zercurity to any system directory. Just make sure to update the volumes section within the docker-compose.yml file.

Installing Docker

apt-get -y update
DEBIAN_FRONTEND=noninteractive apt-get -yq upgrade
apt-get -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common
curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
apt-key fingerprint 0EBFCD88
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
apt-get -y update
apt-get -y install docker-ce docker-ce-cli

# Add the docker user to your user group to avoid permission errors
# we're using the user admin in this example.
usermod -aG docker admin

Installing Docker Compose

In order to deploy Zercurity and keep it up-to-date Docker Compose is required.

apt-get -y install python3-pip
pip3 install --upgrade docker-compose

ECR Login

Zercurity makes use of AWS ECR. In order to authenticate with our container repository you’ll need to download and install AWS cli tools for Debian.

Warning

Your Zercurity account manager will provide you with AWS keys in order to authenticate with the Zercurity container repository.

Once you have your account credentials. Please run the following commands.

pip3 install --upgrade awscli

aws configure

Starting Zercurity

To setup Zercurity copy across the installation files. Provided to you by your account manager. The ./setup.sh script will guide you through the process.

You’ll be required to enter the domain name you want to use which will update your production.dev file which stores all configuration settings. The setup will also download the latest version of Zercurity for Docker.

./setup.sh

Once the setup has downloaded all the container images you can start Zercurity like so:

sudo systemctl start zercurity

You can view the logs by using the journalctl command.

sudo journalctl -u zercurity -xef

You can also stop and restart zercurity using the following commands.

sudo systemctl stop zercurity
sudo systemctl restart zercurity

As the containers start (which will take a few minutes) you’ll notice two directories being created, certs and data.

  • The certs directory contains the SSL certificates for the NGINX web-server.
  • The data directory contains both a working directory for the creation of temp files and data for the prostgresql database.

The Zercurity web application will now be available at: https://app.zercurity.local

Warning

If you are using self-signed certificates you will need to manually visit https://app.zercurity.local, https://api.zercurity.local and https://download.zercurity.local in order for the web application to work correctly. Or you can add the generated CA to your preferred browser which can be found in the certs folder.

Updating Zercurity

You can update Zercurity by using the ./update.sh script. This will authenticate to our ECR repository and download all the latest docker images.

This script will not restart any Zercurity services. You will need to do this manually once the script has finished.

# There is no need to shutdown Zercurity. The new image containers will
# be fetched and used the next time the service is restarted.
./update.sh

sudo systemctl restart zercurity