Skip to main content

Install

Pizug Companion is delivered as a Docker image.

You can see it in Docker Hub: https://hub.docker.com/r/pizug/companion.

tip

If you get stuck, you can join our Discord server for immediate help. Click here to join.

Choosing Data Directory

The most important step before installing the Companion is deciding a data directory.

Data directory is a volume in Docker terms. You can also let Docker manage this directory. See more info here

Bind Mount (A directory in host system)

If you are using a Linux server this can be something like /var/data/companion. If you are using Windows this can be something like C:\dev\companion_data.

The docker container will use this data directory to store all the data. You can remove and reinstall the container giving it the same directory and it will work the same.

Please note down your directory.

Volume (managed by Docker)

Here we create a volume named pizug_companion and attach it to container. For Windows, this is more performant since it will use WSL2 file system.

docker volume create pizug_companion
docker run -d --name pizug-companion -p 3000:8080 -v pizug_companion:/data --restart=always pizug/companion
tip

If you are planning to use Windows for production, it is advised to use the same filesystem. Check Microsoft WSL documentation Performance across OS file systems. Also Docker documentation about bind-mounting best practices

Pulling the Docker Image

First you need to have Docker engine installed.

Then you can get the image by running this command:

docker pull pizug/companion

First-time Setup of Admin User

For security, you need to set admin user via command line.

Run this command (Windows example):

docker run --init --rm -v "C:/dev/pizug/companion_data:/data" pizug/companion --admin-email [email protected] --admin-password ABC123456

Then you can close the terminal Ctrl+C

info

Note that you can have spaces in data directory path, since -v argument is inside quotes.

Running as a Service in the background

After you setup your admin user, you can run the service:

docker run -d --name pizug-companion -p 3000:8080 -v "C:/dev/pizug/companion_data:/data" --restart=always pizug/companion

You can pick any port to expose. Since 3000 is used in this example the service will be accessible at http://localhost:3000/.

Mac example

Companion is also tested on Apple Silicon.

Setting admin password:

docker run --init --rm -v "/Users/fatihpense/dev/companion_data:/data" pizug/companion --admin-email [email protected] --admin-password 12345

Running it as a service(note that data folder is the same):

docker run -d --name pizug-companion -p 3000:8080 -v "/Users/fatihpense/dev/companion_data:/data" --restart=always pizug/companion