Stop Tracking Rent in Spreadsheets: A Self-Hosted Alternative
You've got a rental property or two, and right now the ledger lives in a spreadsheet you half-trust. A payment comes in, you update a cell, and hope the formula still works. The lease is last year's Word file with the dates swapped. The receipts go out whenever you remember. MicroRealEstate is an open-source, self-hosted app that puts leases, rents, and receipts in one place—on a machine you own.
What It Does
MicroRealEstate is a property management application aimed at landlords. The core loop is simple: you record a payment as it lands, and the balance updates itself. Overdue rents stay visible instead of getting buried in a tab you stopped opening. Leases get generated from your own customizable templates rather than copied and hand-edited each time.
Around that core, it handles the rest of the paperwork: generating rent notices and receipts, then emailing them to the right tenants in one pass. Units, tenants, and contact records all live together. There's a tenant portal where renters can check their own lease, payment history, and receipts—which cuts down on the "did you get my payment?" emails. If you share the work with someone else, you can invite a second person from Settings > Access; they get their own account but see the same records.
Under the hood, it's Docker microservices plus MongoDB. You run it on any Linux machine—your laptop, an old desktop, or the cheapest VPS your host sells—and your data never leaves your server.
Why It's Cool
-
The installer actually does the work. A single curl command detects your server's IP, generates the required secrets, starts all services, and prints the URLs for both the landlord and tenant interfaces. If Docker and Compose are missing, it installs them. Binding ports 80 and 443 needs root, so it'll prompt for your sudo password—but that's the only friction point in the whole setup.
-
It plays nice with what you already run. If Apache, nginx, or another reverse proxy already owns that host, you append a flag and the bundled Caddy steps aside. The app listens on
127.0.0.1:8080for your existing proxy instead. That's a small detail, but it's the kind of thing self-hosted projects often ignore. -
Day-to-day operations are handled. The installer drops an
mre.shscript next to itself for start, stop, restart, status, logs, backup, and restore. Updates are the same one-liner withupdateappended. For a tool holding your financial records, backup and restore being first-class commands matters more than any UI feature. -
The tenant portal changes the dynamic. A lot of landlord tools treat tenants as data entry. Here, tenants can look at their own lease and payment history without asking you. That's less admin for you and fewer awkward conversations.
-
Templates over copy-paste. Generating leases from customizable templates means the lease for a new tenant is a fresh, correct document—not last year's file with a find-and-replace that missed a date.
How to Try It
You'll need a Linux machine. Then run the installer:
curl -sSL https://raw.githubusercontent.com/microrealestate/microrealestate/main/install.sh | bash
Once it finishes, it'll show you the landlord and tenant URLs. On first run:
- Open the landlord UI shown in the banner
- Create your account
- Add your first property and tenant
- Configure a domain from Settings > Web server to serve the app over HTTPS
To update later, run the same command from the install directory (the one holding .env) with update appended:
curl -sSL https://raw.githubusercontent.com/microrealestate/microrealestate/main/install.sh | bash -s -- update
Already running a reverse proxy? Use:
curl -sSL https://raw.githubusercontent.com/microrealestate/microrealestate/main/install.sh | bash -s -- install --reverse-proxy external --url https://your.domain
The project lives at github.com/microrealestate/microrealestate. You can see the app screen by screen at microrealestate.app, and the operations details are in documentation/OPERATIONS.md.
Final Thoughts
MicroRealEstate is best for landlords with a handful of units who are comfortable running a Linux box and would rather own their data than pay a SaaS subscription. It's not a sprawling enterprise property management suite, and the README doesn't pretend otherwise. The honest pitch is this: if you can run a curl command, you can have a working rent tracker by dinner. For anyone still reconciling payments in a spreadsheet, that's a trade worth making.