Skip to main content

Install a Piiano Vault edition for self-hosting

Learn how to self-host Piiano Vault by installing an edition from a pre-built, publicly available Docker image

Prerequisites

  1. Register to get a free 7-day development license, no credit card required.

Dev

Dev edition is a standalone, single-container Vault package. Its main purpose is to enable you to experiment, test, and develop. It is not intended for use in production. See Dev edition for more details.

Run with Docker

To start the Dev edition, use this command:

docker run --rm --init \
--name pvault-dev \
-p 8123:8123 \
-e PVAULT_DEVMODE=true \
-e PVAULT_SERVICE_LICENSE={LICENSE_KEY} \
-d \
piiano/pvault-dev:1.14.0

You can gain a performance boost by running completely in memory (e.g. during development or CI/CD).
Add the following parameters to the docker run command listed above:

--mount type=tmpfs,destination=/var/lib/postgresql/data

More details at: https://docs.docker.com/storage/tmpfs/

Server

Server edition is a single container Vault package, to be used with an external database. See Server edition for more details.

Run with Docker

Server edition needs a Postgres server running. You start a Postgres container with this command:

docker run -p 5432:5432 \
--name pvault-db \
-e POSTGRES_DB=pvault \
-e POSTGRES_USER=pvault \
-e POSTGRES_PASSWORD=pvault \
-d \
postgres:14.5

To start Vault, use this command:

docker run --rm \
--name pvault-server \
-p 8123:8123 \
-e PVAULT_DB_HOSTNAME=172.17.0.1 \
-e PVAULT_DEVMODE=true \
-e PVAULT_SERVICE_LICENSE={LICENSE_KEY} \
-d \
piiano/pvault-server:1.14.0

Vault's settings are changed using configuration files and Environment variables. These configuration variables include the database connection settings such as user and password. Make sure that the connection settings match those of the database.

ServerX

ServerX edition still uses the same container as the Server Vault package with additional configuration to limit its operation to just control operations or just data operations. It is designed for implementations where maximum scalability with network segregation is required. For example, running the container with only the data component enabled will secure it from ever performing any control operations. See ServerX edition for more details.

Run with Docker

ServerX edition needs a Postgres server running. You start a Postgres container with this command:

docker run -p 5432:5432 \
--name pvault-db \
-e POSTGRES_DB=pvault \
-e POSTGRES_USER=pvault \
-e POSTGRES_PASSWORD=pvault \
-d \
postgres:14.5

To start Vault, first start the control container:

docker run --rm \
--name pvault-server-control \
-p 8124:8123 \
-e PVAULT_DB_HOSTNAME=172.17.0.1 \
-e PVAULT_DEVMODE=true \
-e PVAULT_SERVICE_LICENSE={LICENSE_KEY} \
-e PVAULT_SERVICE_COMPONENTS=control \
-d \
piiano/pvault-server:1.14.0

Then start the data container:

docker run --rm \
--name pvault-server-data \
-p 8123:8123 \
-e PVAULT_DB_HOSTNAME=172.17.0.1 \
-e PVAULT_DEVMODE=true \
-e PVAULT_SERVICE_LICENSE={LICENSE_KEY} \
-e PVAULT_SERVICE_COMPONENTS=data \
-d \
piiano/pvault-server:1.14.0

Vault's settings are changed using configuration files and Environment variables. These configuration variables include the database connection settings such as user and password. Make sure that the connection settings match those of the database.

Next steps

  • Now that you have your Piiano Vault server up and running, you can Follow our step-by-step guide, and find out what you can do with it.
  • You can always contact us if you need help working something out, or if you want to have a chat.