Symfony hosting
Symfony, gedeployd zonder downtime
Koppel je repository en push. Elke deploy installeert Composer-pakketten in een verse release, leegt de cache, voert je Doctrine-migraties uit en schakelt pas dan over, terwijl Supervisor je Messenger-workers op de nieuwe code laat draaien.
Van repository naar productie in drie stappen
- 1
Maak een server aan
Bij Hetzner Cloud, DigitalOcean, Vultr, Akamai, AWS of Google Cloud, of op elke Ubuntu 24.04-VPS. Kies PHP 8.1 tot en met 8.5 en MySQL, MariaDB of PostgreSQL; Redis, Node.js en Supervisor krijg je erbij.
- 2
Maak een Symfony-site aan
Kies de Symfony-preset en je repository bij GitHub, GitLab of Bitbucket. Nginx serveert
/publicvia PHP-FPM, en de site krijgt een gratison-deploy.link-adres dat direct werkt. - 3
Push
Een webhook deployt elke push naar je branch. De nieuwe release gaat pas live als Composer, de cache en de migraties allemaal zijn gelukt.
Deployscript
Het standaard deployscript voor Symfony
Gewone Bash die met set -e in de nieuwe release draait, als de gebruiker van de site. Migraties draaien alleen als je project een map migrations heeft. Pas het script in de browser aan om eigen stappen toe te voegen, zoals asset-map:compile of een npm-build.
Gebruik $VIMONTO_PHP en $VIMONTO_COMPOSER in plaats van php en composer, zodat het script de PHP-versie van de site volgt als je die wijzigt. $VIMONTO_BRANCH en $VIMONTO_COMMIT vertellen je wat er wordt gedeployd.
$VIMONTO_COMPOSER install --no-dev --no-interaction --prefer-dist --optimize-autoloader
$VIMONTO_PHP bin/console cache:clear --env=prod
if [ -d migrations ]; then
$VIMONTO_PHP bin/console doctrine:migrations:migrate --no-interaction --allow-no-migration --env=prod
fiGebouwd voor hoe Symfony in productie draait
Messenger-workers
Zet Messenger-workers aan en kies je transports, zoals
async scheduler_default, en 1 tot 20 processen. Supervisor draaitmessenger:consume, en elke deploy stuurtmessenger:stop-workers.Terugzetten in seconden
De nieuwste vijf releases blijven op de server. Terugzetten maakt een eerdere release weer live, zonder iets te bouwen.
Een gedeelde .env
Schrijf de productie-
.envop de pagina Omgeving. Die wordt versleuteld opgeslagen, in elke release gekoppeld en bewaard met een geschiedenis van de laatste 50 versies.Privépakketten
Inloggegevens voor privé-Composer- en npm-registries worden versleuteld opgeslagen en alleen tijdens de build gebruikt, via
COMPOSER_AUTHen een tijdelijke npm-config.
Elke deploy, stap voor stap
Volg de fasen Ophalen, Bouwen en Live terwijl een deploy draait, met de uitvoer van elke stap. Mislukt een stap, dan wordt de release weggegooid en verandert de live site niet.

Vragen over Symfony hosting
Waar stel ik APP_ENV, APP_SECRET en DATABASE_URL in?
Op de pagina Omgeving van de site. De .env die je daar opslaat, wordt naar de server geschreven, in elke release gekoppeld in plaats van de .env uit je repository, en overleeft deploys en terugzettingen. Zet APP_ENV=prod, zodat de scripts van Composer met je productiebundles draaien.
Welke PHP-versies kan ik gebruiken?
PHP 8.1 tot en met 8.5. Installeer meerdere versies naast elkaar op één server en kies er per site één; het deployscript volgt die via $VIMONTO_PHP.
Kan ik de Symfony Scheduler draaien?
Ja. Voeg zijn transport toe aan de Messenger-workers, bijvoorbeeld async scheduler_default. Voor een gewoon cron-commando voeg je in plaats daarvan een geplande taak toe op de server.
Werkt het met API Platform of een monorepo?
Ja. Elke Symfony-app met een public/index.php werkt. Stel in een monorepo de Hoofdmap van de site in op de map van de app, zoals /api.
Wat kost het?
Het gratis plan omvat 1 server en 3 sites, met alle functies. Premium kost € 15 per maand per organisatie, zonder limieten. Je servers betaal je aan je cloudprovider.
Gerelateerde pagina’s
- DeploymentsReleases zonder downtime, push to deploy, deploy-URL's voor CI en terugzetten met één klik.
- PHPGewone PHP-apps met meerdere PHP-versies naast elkaar en instelbare PHP-FPM-instellingen.
- LaravelLaravel deployen zonder downtime, met Horizon, Reverb, Pulse, queues en de planner op één schakelaar afstand.
- Hetzner CloudServers in Duitsland, Finland, de VS en Singapore, met DNS en back-ups in Object Storage.
Je volgende deploy kan live zijn voordat je koffie koud is.
Maak een organisatie aan, koppel een server en push. Meer is het niet.