For AI agents: a documentation index is available at /llms.txt. A markdown version of this page is available at /guide/self-hosted/get-started/prerequisites.md.

Self-hostedGet started

Prerequisites

Hardware, operating system, database and network requirements for a production self-hosted deployment.

Sizing below is for a production deployment supporting 100 or more concurrent users. Smaller teams can scale down; larger or unusual workloads should be sized with Orangescrum directly.

These are starting points, not hard limits

The figures come from typical processing and operational requirements. For tailored sizing, contact sales@orangescrum.com.

#Servers

A production install is three roles. They can be separate machines or co-located on fewer, larger ones — but the database should not share a disk with attachment storage.

#Application server

SpecificationRequirement
Instances1
Load balancer1 — required for high availability
CPU8 cores minimum
RAM32 GB or more
App install directory~100 GB
File attachments1 TB or more
Application logs1 GB minimum
Total disk500 GB or more

#Database server

SpecificationRequirement
Instances1
CPU8 cores minimum
RAM32 GB or more
Total disk1 TB or more

#Auxiliary server — Advanced Dashboard & Wiki

SpecificationRequirement
Instances1
CPU8 cores minimum
RAM32 GB or more
Total disk500 GB or more

Attachment storage grows without bound

A NAS can be mounted to extend attachment capacity beyond the initial disk allocation. Plan for this before the disk fills rather than after — it is the volume that fills first on every long-running install.

#Operating system

Operating systemVersionStatus
Red Hat Enterprise Linux9.6Fully supported
CentOS Stream9Fully supported
Ubuntu LTS22.04Fully supported

#Database

PostgreSQL is the only supported database — there is no MySQL option.

ComponentVersionNotes
PostgreSQL Server16.10 or aboveLatest stable
EDB Postgres Advanced Server (EPAS) or Community Edition16.10 or aboveEither is supported
pgAdmin8.xAdministration and monitoring
PostGIS extension3.4Only if you need geospatial data
psql CLI client16.xBundled with the server
libpq16.xClient connection library
pg_dump / pg_restore16.xBackup and restore
cURLLatest stableExtension installs and integrations

Version guidance differs by deployment model

The current prerequisites specify PostgreSQL 16.10+. Older Enterprise documentation states a floor of PostgreSQL 12 for traditional installs. Deploy against 16.x unless Orangescrum support tells you otherwise for your licence and version — see Deployment options.

#Application runtime

Required for a traditional (non-container) install. The Docker deployment bundles all of this in the image.

ComponentRequirement
PHP8.2 or higher
PHP extensionspdo_pgsql, mbstring, intl, openssl, tokenizer, json, xml, ctype, curl, gd, zip
Web serverApache or Nginx
ComposerLatest

Verify before you start:

bash
php -v
php -m | grep -E "pdo_pgsql|mbstring|intl|openssl|tokenizer|json|xml|ctype|curl|gd|zip"
psql --version
composer --version

For the container deployment you need Docker instead:

ComponentMinimum
Docker Engine24.x
Docker Compose plugin2.x
bash
docker --version
docker compose version

#Network and connectivity

RequirementDetail
Internet accessRequired during initial setup to download packages and images
Domain nameA valid domain pointed at the server
SSL certificateTLS recommended — Let's Encrypt or a commercial certificate
FirewallOpen 80 (HTTP) and 443 (HTTPS); restrict 5432 (PostgreSQL) to the internal network
Outbound SMTPRequired for notifications and user invitations

Never expose PostgreSQL publicly

Port 5432 must be reachable only from the application server. An internet-facing database is the single most damaging misconfiguration on a self-hosted install.

#Licence

A valid Orangescrum Enterprise licence email is verified during installation and the key is stored with your instance. Have it to hand before you begin — see Licence and versions.

#Before you begin

  1. Decide the hostname

    It goes into configuration and every generated email link. Changing it later means editing config and clearing caches.

  2. Have SMTP details ready

    Host, port, username, password and from-address. SMTP is set during installation.

  3. Plan the backup target

    Somewhere off this machine. See Backup.

  4. Confirm your licence and add-ons

    Which optional modules are covered determines whether you need the auxiliary server.

🏗Next: architecture

What actually runs once it is deployed.