Skip to main content

On-Premises Installation

This guide covers downloading the deployment package, configuring environment variables, installing Docker, and starting the Authnull On-Premises stack.

Step 1: Download the Package

Download the deployment package from the AuthNull GitHub repository onprem-public, or retrieve the zip file authnull-onprem-v1.0.0.zip attached to the onboarding email.

If you download it locally first, transfer it to the server using the scp command.

Install unzip and extract the package

sudo apt-get install -y unzip
unzip authnull-onprem.zip

After extraction, the package contains the docker-compose.yaml, nginx.conf, and db-init files used in the steps below.

Extracted package contents

Step 2: Configure Environment Variables

Before running Docker Compose, update the following values in the .env file to match the customer's domain and server:

ORG_NAME=customer-org-name
DOMAIN_URL=default.customer-org-name.customer-domain.com
SYSTEM_URL=https://onprem.customer-domain.com
SYSTEM_IP=SERVER_PUBLIC_IP

DB_HOST=
DB_PORT=
DB_USER=
DB_PASSWORD=
DB_NAME=

POSTGRES_HOST=
POSTGRES_PORT=
POSTGRES_DB=
POSTGRES_USER=
POSTGRES_PASSWORD=

REDIS_HOST=
REDIS_PORT=
REDIS_PASSWORD=

SMTP_HOST=
SMTP_PORT=
SMTP_USER=
SMTP_PASSWORD=
note

SYSTEM_IP is this VM's public IP address. Make a note of the ORG_NAME and DOMAIN_URL values - they must match the organization you create in Organization and Tenant Setup.

Step 3: Install Docker and Docker Compose

Connect to the server over SSH, then install Docker and Docker Compose. All commands below are run on the server.

1. Update the package index

sudo apt-get update && sudo apt-get upgrade -y

2. Install prerequisite packages

sudo apt-get install -y ca-certificates curl

3. Add Docker's official GPG key

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

4. Add the Docker repository to APT sources

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

5. Update APT again

sudo apt-get update

6. Install Docker Engine, CLI, and Compose plugin

sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

7. Start and enable the Docker service

sudo systemctl start docker
sudo systemctl enable docker
sudo systemctl status docker

8. Allow your user to run Docker without sudo

sudo usermod -aG docker $USER
newgrp docker

9. Verify the installation

docker --version
docker compose version

Step 4: Start Authnull On-Premises Containers

Change into the directory that contains docker-compose.yaml and the .env file you edited in Step 2, then start the stack:

docker compose up -d

Step 5: Verify Container Status

docker compose ps

All containers should show the status Up.

Next Steps

Continue to Domain and SSL Configuration to point your domain at the server and enable HTTPS.