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
-
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.