Skip to main content

Server Requirements

This guide covers the requirements for self-hosting TryPost.

Minimum Requirements

Software Requirements

Required

  • PHP 8.2+ with extensions:
    • BCMath, Ctype, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML
    • pcntl (required by Horizon)
    • intl, zip, exif, sockets
    • GD or Imagick (for image processing)
    • Redis extension (or use Predis via Composer — the Redis service is still required)
  • Composer 2.x
  • Node.js 20+ and npm (Vite 7 + Vue 3 require Node 20 or newer) — not needed if you only run the published Docker image
  • PostgreSQL 14+ or MySQL 8+
  • Redis 6+

Optional

  • Nginx or Apache (for production bare-metal)
  • Supervisor (for Horizon, Reverb, and related workers)
  • SSL certificate (Let’s Encrypt recommended)

PHP Configuration

Recommended php.ini settings:
Match these to your reverse-proxy body-size limit (client_max_body_size in Nginx, etc.). The published Docker image uses a 1G cap.

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.
Get 20 EUR free credits on Hetzner Cloud — enough to run TryPost for several months on a CX22 instance (2 vCPUs, 4 GB RAM). This is a referral link — it helps support TryPost development at no extra cost to you.
Other supported providers:
  • DigitalOcean Droplets
  • AWS EC2
  • Google Cloud Compute
  • Linode
  • Vultr

Storage Considerations

Media files (images, videos, documents) can be stored:
  • LocallyFILESYSTEM_DISK=public + php artisan storage:link
  • S3 — Amazon S3
  • R2 — Cloudflare R2
  • Spaces — DigitalOcean Spaces
  • Any S3-compatible — MinIO, etc.
For production with heavy media usage, object storage is recommended. See Configuration → File Storage.

Next Steps