Skip to content

Configuration

Isaiah Fisher edited this page Dec 17, 2025 · 9 revisions

Configuration

By default, the latest numbered stable version of the product is installed. If you want to install the very latest build of the product (latest), use the following command:TAG=latest docker compose up -d

Before using Pneumatic in production

Before you start using the product, you must replace several default passwords with stronger ones.

If you use a single SQL database, make sure that the POSTGRES_PASSWORD and POSTGRES_REPLICA_PASSWORD variables have the same value.

Stop Pneumatic:

docker compose down

Delete the following data directories if they were created earlier. After you change the passwords, the data in them will no longer be accessible). It is therefore important to perform this step before you start using the product in earnest:

  • postgres/data
  • rabbitmq/data
  • redis/data

Add the following variables to the .env file in the project directory, making sure you generate sufficiently complex password for each one of them:

POSTGRES_PASSWORD=<new password 1>
POSTGRES_REPLICA_PASSWORD=<new password 1>
REDIS_PASSWORD=<new password 3>
RABBITMQ_PASSWORD=<new password 4>

Now, launch Pneumatic:

docker compose up -d

Now you can open the GUI and create your first account.

In production, you also want to enable SSL by following the steps in the next section:

Setting up SSL

The your-address below refers to the registered domain name of your server. To use SSL, you need SSL certificates. The easiest way to generate them is by using certbot.

  1. Install certbot on your host machine Instruction

  2. Generate certificates for two domains: your-address and form.your-address

  3. Copy the certificates to the following location in the project directory pneumaticworkflow/nginx/keys.

    The certificates are to be copied and renamed as follows:

/etc/letsencrypt/live/your-address/fullchain.pem -> pneumaticworkflow/nginx/keys/<your-address>.crt

/etc/letsencrypt/live/your-address/privkey.pem -> pneumaticworkflow/nginx/keys/<your-address>.key

  1. Go to the pneumaticworkflow project directory and edit the .env file as per the list below:
BACKEND_URL=https://<your-address>:8001
FRONTEND_URL=https://<your-address>
FORMS_URL=https://form.<your-address>
FRONTEND_DOMAIN=<your-address>
BACKEND_DOMAIN=<your-address>
FORM_DOMAIN=form.<your-address>
NGINX_CONF_TEMPLATE=./nginx/ssl_templates/
WSS_URL=wss://your-address:8001
  1. Relaunch Pneumatic:
docker compose down
docker compose up -d

By default, Pneumatic's performance is optimized for a small team, so if you notice that pages are taking too long to load, follow the recommendations below:

  1. The default number of workers is 2, so you may want to increase that, however, you want to bear in mind that every worker takes up an average of 250MB of RAM and you want to have at least 1GB of free RAM at all times while Pneumatic is running. A high load Pneumatic instance would benefit from having between 10 and 20 workers, which translates into 2.5GB to 5GB of RAM. To increase the number of workers, add a WORKERS_COUNT variable in the .env file:
WORKERS_COUNT=<new count>

Relaunch Pneumatic:

docker compose down
docker compose up -d

Make sure your host machine has properly configured SWAP so it won't freeze once Pneumatic runs out of RAM.

Setting up SSO

To use SSO, you need to add the following values to your .env file (as before, your-address means the domain name of your server):

SSO_AUTH=yes
SSO_PROVIDER=okta
OKTA_DOMAIN=<your-domain>
OKTA_CLIENT_ID=<your-client-id>
OKTA_CLIENT_SECRET=<your-client-secret>
OKTA_REDIRECT_URI=https://<your-address>/oauth/okta

Relaunch Pneumatic:

docker compose down
docker compose up -d

Clone this wiki locally