Self-Hosted PlatformX
Run PlatformX on one Linux server with Docker Compose.
The self-hosted repository runs PlatformX on a
single Linux server with Docker Compose. It is modelled on Sentry’s self-hosted installer: one
script prepares the machine, and running that script again is the upgrade.
The installer is new and has not yet been run end to end on a server. The compose files validate and the database step has been run against PostgreSQL 16. Treat a first install as a test and report what breaks.
What runs
| Service | Role |
|---|---|
proxy | Caddy. Terminates TLS and is the only container that publishes ports. |
portal | The admin portal. |
portal-api | The API behind the portal. |
public-api | The API client websites read. |
media | Serves and resizes uploaded files. |
upload | Receives uploads. Single replica by design. |
operations-worker | Runs background operations: social sends, video uploads, preview clips. |
postgres | The database. |
azurite | Blob storage emulator. Replaceable with Azure Blob Storage. |
What it does not do
- One tenant per install. The services are pinned to one tenant code.
- No client website. This is the CMS and its APIs.
- No Kubernetes. Docker Compose is the only supported way to run it.
Requirements
- Linux with Docker and the Docker Compose plugin, version 2.20 or newer
- 4 GB of memory, 10 GB of free disk. 8 GB of memory with the
searchprofile. - Five DNS names under one domain, all pointing at the server:
portal,portal-api,public-api,media,upload - Ports 80 and 443 reachable, so certificates can be issued