Skip to content

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

MinimumRecommended (20+ rooms, POS)
CPU2 vCPU4 vCPU
RAM4 GB8 GB
Disk40 GB SSD80 GB SSD
OSUbuntu 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

ProviderPlan that fitsPriceGuide
HostingerKVM 2 (2 vCPU / 8 GB)~₹549/moGuide
DigitalOceanBasic 4 GB~$24/moGuide
LinodeShared 4 GB~$24/moGuide
AWSt3.medium + EBS~$30/moGuide

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

  1. Create your property — sign in at /kamra as Administrator (or [email protected]) with the --admin-password you chose — there is no default — then Admin → New Property, rooms, room types and rates.
  2. Staff users & roles — Hotel Admin / Front Desk / Revenue / Finance / Housekeeping; roles decide what each person sees.
  3. Emailset up SMTP for confirmations, invoices and briefings.
  4. Payments — add gateway keys in the payments app (e.g. Razorpay Settings); turn off test mode.
  5. Schedulerbench --site <site> enable-scheduler; the night audit runs at 03:00 site time and housekeeping SLAs escalate every 15 min.
  6. Backupsbench backup --with-files on cron to off-site storage.
  7. Securitydeveloper_mode 0, strong admin password, HTTPS only.
  8. AI (optional)connect Claude over MCP or enable the in-app copilot with your own key.

Updating

bash
cd frappe-bench/apps/kamra && git pull
bench --site pms.yourhotel.com migrate
bench build && bench restart

Run the eval harness after any update — deterministic checks over money, tax and availability logic:

bash
bench --site pms.yourhotel.com console
>>> from kamra.scripts.eval_harness import execute; execute()