Multi-tenancy
Eén Frappe bench kan veel sites hosten. Elke site is volledig geïsoleerd — eigen database, bestanden, gebruikers, geïnstalleerde apps. Zo bedienen Frappe Cloud en Prilk-managed meerdere klanten vanaf gedeelde infrastructuur.
Bench vs Site
| Term | Wat |
|---|---|
| Bench | Werkdirectory: Python-env, app-broncode, gemeenschappelijke config |
| Site | Eén geïsoleerde installatie: eigen DB, bestanden, gebruikers |
| App | Code gedeeld over de bench; per site te installeren |
Site-isolatie
Elke site heeft:
- Eigen MariaDB / PostgreSQL-database (
<site>_xxxxxxx-conventie) - Eigen
sites/<site>/public/files/enprivate/files/ - Eigen
site_config.json - Mogelijk andere apps dan de buur
Twee sites op dezelfde bench kunnen verschillende minor-versies van dezelfde app draaien (meestal gelijk).
URL-routing
Nginx routeert op hostname:
klant-a.voorbeeld.nl → site "klant-a"
klant-b.voorbeeld.nl → site "klant-b"
Lokaal: pas /etc/hosts aan om hostnames naar localhost te wijzen; Frappe leest de Host-header.
Cross-site operaties
Sites delen geen data. Voor cross-site rapportage of admin: één proces per site:
for site in $(bench --site all list-apps | cut -d' ' -f1 | sort -u); do
bench --site $site execute my_app.report.run_summary
done
Wanneer nieuwe bench vs nieuwe site
| Nood | Toevoegen |
|---|---|
| Nieuwe geïsoleerde klant, zelfde Frappe-versie | Nieuwe site |
| Andere Frappe-versie | Nieuwe bench |
| Andere Python / OS-omgeving | Nieuwe bench |
Meerdere benches op één server is gangbaar tijdens upgrades — oude blijft draaien terwijl de nieuwe naast hem wordt opgezet.
Last updated 3 days ago
Was this helpful?