Installing piler enterprise edition#
This documentation applies to Piler enterprise edition 2.1.0+
Revision #3
Publication date: 2026-FEB-03
Installing on a single node using docker compose#
There's a docker compose stack that deploys all the necessary components. Follow the instructions in the README.
Installing on a single Linux node#
Download the installer script, customise the following variables:
- PILER_HOSTNAME
- MYSQL_ROOT_PASSWORD
- MYSQL_PILER_PASSWORD
- ARCH (either "amd64" or "arm64")
Execute the installer
curl -o install.sh https://download.mailpiler.com/install.sh
chmod +x install.sh
sudo ./install.sh
Copy the license file to /etc/piler/license.jwt, then reboot the host, and verify that all services come up properly.
Centos/Redhat/Oracle Linux specific notes#
SELinux needs to be disabled.
Installing on multiple Linux nodes#
In this setup you'll have 1 frontend node and 2 worker nodes. It's recommended to have an MX server that receives emails to be archived, and distributes them among the worker nodes.
The frontend node runs only the UI (it also needs mysql, manticore and redis). The worker nodes run all components. Each worker node shall have its own unique server id (eg. 00, 01, 02, ...) that comes from the license file.
The worker nodes hostnames are worker0.example.com and worker1.example.com
Installing the worker nodes#
Run install.sh just as shown above. Add these extra settings to /var/piler/.env:
MULTINODES=true
NODE_TYPE=worker
JWT_SECRET=fi5w6x5sYPiY6llG8NxE2uMfFPlGxgCxHIjKh33iYQW4am75KZPgL0D03XiJOUfGFkOm
The JWT secret shall be 40+ random characters. All nodes shall use the same JWT secret.
Installing the frontend node#
Run install.sh just as shown above. Add these extra settings to /var/piler/.env:
MULTINODES=true
WORKERS=http://worker0.example.com:3000,http://worker1.example.com:3000
JWT_SECRET=fi5w6x5sYPiY6llG8NxE2uMfFPlGxgCxHIjKh33iYQW4am75KZPgL0D03XiJOUfGFkOm
Notice that the JWT secret is the same as on the worker nodes.
Stop and disable the following services:
- piler
- piler-smtp
- scanner
- tika
systemctl stop piler
systemctl disable piler
....
Installing the MX server#
You may use postfix, etc. as the MX server. See the examples repo for a working setup.
Security considerations#
- the worker nodes need to access mysql on the frontend node
- the frontend node needs to access port 9312 on the worker nodes
- the UI port (3000) of the worker nodes shall be accessed only from the frontend node
- the SMTP port (25) of the worker nodes shall be accessed only from the MX server
- you need a reverse proxy like traefik or nginx on the frontend node to provide https access