> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trypost.it/llms.txt
> Use this file to discover all available pages before exploring further.

# Requirements

> Server requirements for self-hosting TryPost

# Server Requirements

This guide covers the requirements for self-hosting TryPost.

## Minimum Requirements

| Component | Minimum | Recommended |
| - | - | - |
| CPU | 1 core | 2+ cores |
| RAM | 1 GB | 2+ GB |
| Storage | 10 GB | 20+ GB (depends on media storage) |

## Software Requirements

### Required

* **PHP 8.2+** with extensions:
  * BCMath, Ctype, JSON, Mbstring, OpenSSL, PDO, Tokenizer, XML
  * **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 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+ — both are fully supported; see [choosing a database](/self-hosting/configuration#database)
* **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:

```ini theme={null}
upload_max_filesize = 1G
post_max_size = 1G
memory_limit = 512M
max_execution_time = 600
```

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](https://hetzner.cloud/?ref=V4djx1Vt7Mm7) for the best price-to-performance ratio.

<Tip>
  Get **20 EUR free credits** on [Hetzner Cloud](https://hetzner.cloud/?ref=V4djx1Vt7Mm7) — 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.*
</Tip>

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.

For production with heavy media usage, object storage is recommended. See [Configuration → File Storage](/self-hosting/configuration#file-storage).

## Next Steps

* [Installation](/self-hosting/installation)
* [Docker Deployment](/self-hosting/docker)
* [Production Setup](/self-hosting/production)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.