Skip to main content

Cloud / Docker Installation

The cloud mode uses Docker Compose with a PostgreSQL database and TLS termination. It supports multiple client organisations, each with fully isolated data.

Prerequisites

  • Docker Engine 24.x
  • Docker Compose v2.x
  • A domain name pointing to the server
  • TLS certificate and private key (Let's Encrypt / Certbot recommended)

Step 1 — Clone and configure

git clone <repo> patchone
cd patchone
cp deploy/cloud/.env.example deploy/cloud/.env

Edit deploy/cloud/.env and fill in:

SettingDescription
POSTGRES_PASSWORDStrong random password for the database
SECRET_KEYLong random string for session security
ADMIN_USERNAME / ADMIN_PASSWORDInitial admin credentials
SERVER_MODESet to cloud
DOMAINYour domain name
TLS_CERT_PATH / TLS_KEY_PATHPaths to your TLS certificate files
warning

Never commit .env to version control. Use a secrets manager or encrypted storage for production values.

Step 2 — TLS certificates

certbot certonly --standalone -d your-domain.example.com

Step 3 — Start

cd deploy/cloud
docker compose up -d

Step 4 — Verify

curl https://your-domain.example.com/health

Expected: {"status": "ok", "db": "ok"}

Upgrading

git pull
docker compose pull
docker compose up -d --build

Logs

docker compose logs -f patchone-server