Server Requirements
This guide covers the requirements for self-hosting TryPost.Minimum Requirements
Software Requirements
Required
-
PHP 8.4.1+ (8.4 or 8.5; the Docker image ships 8.4) with extensions:
- BCMath, Ctype, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML
- cURL, Fileinfo, Sodium, POSIX, DOM / SimpleXML (cURL is a separate package on Debian and Ubuntu)
- pdo_pgsql or pdo_mysql, matching the database you chose — without it the app fails at boot with could not find driver
- pcntl (required by Horizon)
- intl, zip, exif, sockets
- GD (required). Imagick is optional: it enables HEIC conversion and better blurred-background fits (both ship in the Docker image). HEIC/HEIF uploads are converted to JPEG only when Imagick is built with HEIC support; without it they are rejected with a clear message and every other format still works
- No PHP Redis extension needed (Predis is bundled); set
REDIS_CLIENT=phpredisto use the extension. The Redis service is still required
sudo apt install php8.4-{cli,fpm,curl,mbstring,xml,zip,intl,bcmath,gd,imagick,pgsql,mysql,redis} - Composer 2.x
- Node.js 22.12+ and npm (24 LTS works) — not needed if you only run the published Docker image
- PostgreSQL or MySQL — both are fully supported; see choosing a database
- Redis — queues, cache and locks (the Compose files ship Redis 7)
Long-running processes
TryPost needs three processes besides the web server. The Docker image starts them for you; on bare metal see Production setup.- Horizon — the queue workers that publish posts, send email and webhooks, and collect analytics
- Reverb — WebSockets for live updates in the app
- Scheduler —
php artisan schedule:runevery minute (orschedule:work)
Optional
- Nginx or Apache (for production bare-metal)
- Supervisor (for Horizon, Reverb, and related workers)
- SSL certificate (Let’s Encrypt recommended)
PHP Configuration
Recommendedphp.ini settings:
client_max_body_size in Nginx, etc.). The published Docker image uses the same 1G upload cap with a lower memory_limit = 256M and max_execution_time = 60; the higher values above give large video uploads and image processing more headroom on bare metal.
Supported Operating Systems
TryPost can run on any OS that supports the required software:- Ubuntu 22.04+ (recommended)
- Debian 11+
- CentOS/RHEL 8+
- macOS (for development)
- Windows with WSL2 (for development)
Cloud Providers
TryPost works well on any cloud provider. We recommend Hetzner Cloud for the best price-to-performance ratio. Other supported providers:- DigitalOcean Droplets
- AWS EC2
- Google Cloud Compute
- Linode
- Vultr
Storage Considerations
Media files (images, videos, documents) can be stored:- Locally —
FILESYSTEM_DISK=public+php artisan storage:link - S3 — Amazon S3
- R2 — Cloudflare R2
- Spaces — DigitalOcean Spaces
- Any S3-compatible — MinIO, etc.

