Self-hosting Kamra
Own your PMS end to end. Two supported self-host paths: Docker (recommended, see the Quickstart) or a classic bench install. To host it instead, install from the Frappe Cloud Marketplace. Every feature is included — there is no paid edition to upgrade to.
Chooser: self-host or Frappe Cloud.
Server requirements
| Minimum | Recommended (20+ rooms, POS) | |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 4 GB | 8 GB |
| Disk | 40 GB SSD | 80 GB SSD |
| OS | Ubuntu 22.04/24.04 LTS (any Docker-capable Linux) | — |
Measured on our own servers: a full single-property stack (database, cache, workers, web) idles around 600 MB of RAM — 4 GB leaves comfortable headroom for busy days and updates.
Also needed: a domain or subdomain (pms.yourhotel.com) pointed at the server; ports 80/443 open; SSL via Let's Encrypt.
Typical monthly cost
| Provider | Plan that fits | Price | Guide |
|---|---|---|---|
| Hostinger | KVM 2 (2 vCPU / 8 GB) | ~₹549/mo | Guide |
| DigitalOcean | Basic 4 GB | ~$24/mo | Guide |
| Linode | Shared 4 GB | ~$24/mo | Guide |
| AWS | t3.medium + EBS | ~$30/mo | Guide |
Rather not run a server?
Host on Frappe Cloud from the marketplace (you pay Frappe’s site plan). Or Kamra Cloud is the same software, hosted, backed up and updated by the team that builds it. You can export everything and move any time; that's the point of open source.
After install — production checklist
- Create your property — sign in at
/kamraasAdministrator(or[email protected]) with the--admin-passwordyou chose — there is no default — then Admin → New Property, rooms, room types and rates. - Staff users & roles — Hotel Admin / Front Desk / Revenue / Finance / Housekeeping; roles decide what each person sees.
- Email — set up SMTP for confirmations, invoices and briefings.
- Payments — add gateway keys in the payments app (e.g. Razorpay Settings); turn off test mode.
- Scheduler —
bench --site <site> enable-scheduler; the night audit runs at 03:00 site time and housekeeping SLAs escalate every 15 min. - Backups —
bench backup --with-fileson cron to off-site storage. - Security —
developer_mode 0, strong admin password, HTTPS only. - AI (optional) — connect Claude over MCP or enable the in-app copilot with your own key.
Updating
cd frappe-bench/apps/kamra && git pull
bench --site pms.yourhotel.com migrate
bench build && bench restartRun the eval harness after any update — deterministic checks over money, tax and availability logic:
bench --site pms.yourhotel.com console
>>> from kamra.scripts.eval_harness import execute; execute()