to select ↑↓ to navigate
Frappe Framework

Frappe Framework

Open in ChatGPT
Ask ChatGPT about this page
Open in Claude
Ask Claude about this page

Multi-tenancy

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/ en private/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?
Thanks!