Development

Symfony Stack

PHP-FPM, Nginx, PostgreSQL 16, Redis and Supervisor — production-ready Symfony stack from the moment you order.

About Symfony Stack

Symfony Stack provisions your VPS with everything a Symfony application needs in production: PHP 8.3-FPM with the Intl and OPcache extensions, Nginx as the reverse proxy, PostgreSQL 16 as the database, Redis for sessions and the Doctrine cache, and Supervisor for Messenger workers. No manual package hunting, no buildpack constraints — clone your repository, run your migrations, and your application is live.

PHP 8.3 with OPcache preloading eliminates most of the autoloading overhead per request and makes Symfony noticeably faster in production. PHP-FPM with a tunable `pm.max_children` handles concurrent requests efficiently. Nginx manages static-file serving, gzip compression and HTTPS termination without container overhead. PostgreSQL 16 provides JSONB columns, full-text search and the advanced query planner that Doctrine leverages at scale.

The stack is designed for real Symfony projects: Messenger workers run under Supervisor, Redis is ready for sessions and Doctrine caching, and PHP-FPM can be tuned to the available RAM. Deploy the same environment across every server and eliminate "works on my machine" surprises.

What gets installed

Ready when the VPS starts

Compatible OS
Ubuntu 24.04
Application
Symfony Stack
Tech stack
PHP 8.3-FPMNginxPostgreSQL 16RedisSupervisorComposer
Minimum RAM
2 GB
Minimum CPU
1 vCPU
Access
root over SSH

Key features

  • PHP 8.3-FPM with all the Symfony-required extensions — intl, opcache, pgsql, redis, mbstring, xml, curl, zip.
  • Nginx configured as a reverse proxy for Symfony (public/ root, try_files, security headers).
  • PostgreSQL 16 with user and database created — the recommended Symfony production database.
  • Redis for Symfony sessions, Doctrine cache and Messenger transport.
  • Supervisor configured for Symfony Messenger workers — automatic restart after reboot.
  • Composer installed globally, OPcache preloading enabled — PHP bytecode is compiled once at server startup.

When to use this solution?

Symfony web application

Deploy an existing Symfony application: clone your repository, run composer install --no-dev, clear the cache, and migrate. Nginx proxies ports 80/443 to PHP-FPM — SSL via Let's Encrypt is a single certbot command.

API Platform backend

Host an API Platform service for a mobile app or SPA. Nginx handles CORS headers and rate limiting. Redis and Supervisor are already in place for Messenger async handlers and background jobs.

SaaS on Symfony

Start your Symfony SaaS locally, deploy to this stack in minutes. Add Messenger async workers, a Redis cache and PostgreSQL LISTEN/NOTIFY for real-time features — all on a single 2 GB VPS until traffic justifies splitting services.

Guide

Deploy Symfony Stack on your VPS

  1. Create the VPS

    Select the "Symfony Stack" template. Minimum 2 GB RAM for Symfony with PostgreSQL. Choose 4 GB if you plan to run multiple Messenger workers or a loaded Redis cache.

  2. Clone your project and configure

    SSH in, clone your repository into /var/www/your-app, run composer install --no-dev --optimize-autoloader, and create a .env.local with APP_ENV=prod, APP_SECRET, and DATABASE_URL.

  3. First access

    This template installs a server toolchain (PHP 8.3-FPM, Nginx, PostgreSQL 16, Redis, Supervisor, Composer). There is no web interface to open — connect via SSH and deploy your own Symfony application.

  4. Compile the cache and run migrations

    Run php bin/console cache:clear --env=prod && cache:warmup, then php bin/console doctrine:migrations:migrate --no-interaction. Check permissions on the var/ directory.

  5. Configure Nginx and enable HTTPS

    Point the Nginx root to public/, route all requests to index.php via try_files, and proxy .php files to the PHP-FPM socket. Run certbot --nginx -d your-domain.com for a free Let's Encrypt certificate.

Frequently asked questions

Questions about Symfony Stack

← Back to DevelopmentAll applications
php8.3-fpm, php8.3-cli, php8.3-pgsql, php8.3-redis, php8.3-mbstring, php8.3-xml, php8.3-curl, php8.3-zip, php8.3-intl, php8.3-opcache. All the extensions required by a standard Symfony application.

Embed the deploy button

Maintaining a project that uses Symfony Stack? This button lets your readers deploy it on a VPS in one click, without reading Docker documentation.

Deploy Symfony Stack on ServOrbit
Markdown
[![Deploy Symfony Stack on ServOrbit](https://servorbit.com/brand/deploy/button.svg)](https://servorbit.com/vps-cloud?template=symfony-stack&utm_source=deploy-badge&utm_medium=referral&utm_campaign=symfony-stack)
HTML
<a href="https://servorbit.com/vps-cloud?template=symfony-stack&utm_source=deploy-badge&utm_medium=referral&utm_campaign=symfony-stack"><img src="https://servorbit.com/brand/deploy/button.svg" alt="Deploy Symfony Stack on ServOrbit" height="40"></a>

The button points to a VPS order with the template preselected. The image is served from servorbit.com — nothing to host on your side.

Need help?

Browse our help center and FAQ, or reach our team — callback, WhatsApp or email.

Message us on WhatsAppopens in a new tab