🚂 Bonus: Railway PaaS
BONUSJouw Symfony-app in minuten live op Railway — zonder server configureren.
- • Eindprojecten en presentaties
- • Snel een demo online zetten
- • Als je nog geen VPS wilt beheren
- • Experimenten en prototypes
- • Leren hoe servers écht werken
- • Volledige controle over de stack
- • Productie-apps met veel verkeer
- • Eigen domeinnaam + HTTPS
Wat is Railway?
Railway is een Platform as a Service (PaaS). Je pusht je code naar GitHub en Railway bouwt en host de app automatisch — geen server configureren, geen nginx, geen Certbot.
Verbind je repo — Railway detecteert automatisch je tech stack
Bij elke git push bouwt Railway automatisch een nieuwe versie
Je krijgt gratis een URL op *.up.railway.app met HTTPS
• Hobby plan: $5/maand — 512 MB RAM, voldoende voor eindprojecten
• Pro plan: $20/maand — meer resources, teams
• Database add-ons worden apart berekend per gebruik
Project aanmaken en GitHub koppelen
Zorg dat je een composer.json hebt in de root van je repo. Railway herkent dit als PHP-project.
- 1. Ga naar railway.app en maak een account aan (log in met GitHub)
- 2. Klik op New Project → Deploy from GitHub repo
- 3. Selecteer je Symfony-repo
- 4. Railway start de eerste build — dit duurt 2–5 minuten
- 5. Je ziet de build-logs en een URL zodra het klaar is
Omgevingsvariabelen instellen
In Railway stel je omgevingsvariabelen in via het dashboard — net zoals je .env.local op een VPS aanmaakt, maar dan via een UI.
Als je een MySQL-database toevoegt via Railway (stap 4), voegt Railway automatisch een DATABASE_URL variabele toe die naar jouw Railway-database verwijst.
MySQL database toevoegen
- 1. In je Railway-project: klik op + New → Database → Add MySQL
- 2. Railway maakt een MySQL-instantie aan en koppelt hem aan je project
- 3. In je app-service → Variables zie je automatisch
DATABASE_URL - 4. Voer migraties uit via Railway shell of voeg een
Procfiletoe
web: php-fpm & nginx -g 'daemon off;' release: php bin/console doctrine:migrations:migrate --no-interaction --env=prod
De release-fase wordt uitgevoerd vóór elke deployment, zodat migraties automatisch worden gedraaid.
Migraties uitvoeren in Railway is hetzelfde als op een VPS: doctrine:migrations:migrate --env=prod. Het verschil is dat Railway dit automatisch kan doen bij elke deploy.
VPS vs. Railway — wat leer je van elk?
| VPS (les 2–7) | Railway PaaS | |
|---|---|---|
| Server beheer | Jij — via SSH | Railway automatisch |
| nginx config | Handmatig schrijven | Niet nodig |
| HTTPS | Certbot zelf draaien | Automatisch inbegrepen |
| Deploy | git pull + script | git push → klaar |
| Prijs | €3–€10/maand | $5–$20/maand |
| Leercurve | Hoog — je leert veel | Laag — "black box" |
Leer de VPS-aanpak (les 2–7) voor begrip. Gebruik Railway voor eindprojecten als je snel iets wilt tonen. Op de werkvloer kom je beide tegen.
Kennischeck
Deployment-track voltooid!
Je hebt de volledige deployment-stack doorlopen: van VPS bestellen tot HTTPS, en als bonus Railway PaaS. Je kunt nu een Symfony-app live zetten op een echte server.
Les 8 afronden en track voltooien
Dit is de laatste les van de Deployment-track