Skip to main content
After Docker is running, configure your environment variables, set up HTTPS, and complete the initial application setup.

Environment variables

Your configuration lives in docker-data/config/.env. Open it in any text editor:

Required variables

At a minimum, review and update these values:

Optional variables

These enable additional features. Refer to the .env.example file for the full list of available variables:
After changing .env, restart the web container for changes to take effect:

Auto-generated keys

The following keys are generated automatically on first boot. Do not change them after data has been written:

HTTPS with a reverse proxy

PropOps must be served over HTTPS in production. The recommended approach is Nginx with Certbot (Let’s Encrypt) running directly on the host, proxying requests to the Docker container.

Install Nginx and Certbot

Create the Nginx site configuration

Save to /etc/nginx/sites-available/propops and enable it:

Issue an SSL certificate

Certbot automatically configures HTTPS, redirects HTTP traffic, and sets up auto-renewal every 90 days.

Firewall

At a minimum, expose only the ports your reverse proxy needs:
Do not expose port 3306 (MariaDB) or 8081 (phpMyAdmin) to the internet. Access phpMyAdmin through an SSH tunnel if needed:

First-time setup

Once PropOps Web is running and you have logged in with the default admin credentials:
1

Change the default password

Go to your profile and set a strong, unique password immediately.
2

Configure your organisation

Go to Admin → Settings → General to set your organisation name, logo, and default VAT rate.
3

Create your first branch

Go to Admin → Branches and create a branch. Every job in PropOps Web is assigned to a branch.
4

Invite users

Go to Admin → Users to create staff accounts and configure their roles and permissions.
5

Verify email delivery

Go to Admin → Settings → Email and send a test email to confirm your SMTP configuration is working.
PropOps includes a built-in maintenance mode you can enable from Admin → Settings → Maintenance Mode or via the API (POST /api/system/maintenance-mode). Staff still have access while all other users see a maintenance screen.