Skip to content

Repository files navigation

🏠 Rent Reminder — Self-Hosted Rent Tracking & Automated Reminders

Automated, self-hosted rent tracking & email reminders for landlords.
Your data, your server, zero monthly cloud fees.

License: Source-Available / Anti-SaaS Node.js Docker


✨ Features

  • 📊 Clear Dashboard: Instant visual overview for every month (Paid / Pending / Overdue).
  • ✉️ Automated Email Notices & Reminders:
    • 1st reminder before due date (e.g. 3 days prior).
    • 2nd urgency notice after due date for late payments.
    • Sent via your own SMTP server (emails originate directly from your account).
    • Idempotency guarantee (no email is ever sent twice).
  • 🔢 Payment Reference / Variable Symbol (VS):
    • Automatic mode: Formula YYYYMM + Tenant ID (e.g. 2026070001).
    • Custom fixed mode: Assign a permanent reference code per tenant.
  • 🏢 Property & Tenant Management: Track units, rent amounts, due days, and currencies (USD, EUR, CZK, GBP, etc.).
  • 📝 Email Template Editor: Fully customizable notification text with dynamic placeholders ({TENANT}, {AMOUNT}, {VS}, {ACCOUNT_NUMBER}, etc.).
  • 📥 Export Overdue Tenants to CSV: Generate MS Excel-compatible reports (UTF-8 with BOM).
  • 🔒 100% Private: Embedded SQLite database running locally on your server. Zero third-party data sharing.

🚀 Quickstart

Option A: Prebuilt Docker Container (Fastest)

Run directly via Docker without cloning:

docker run -d \
  --name rent-reminder \
  -p 3000:3000 \
  -v ./data:/app/data \
  --restart unless-stopped \
  ghcr.io/rcisar77-stack/rent-reminder:latest

Open in browser: http://localhost:3000


Option B: Docker Compose (Source Build)

  1. Clone the repository:

    git clone https://github.com/rcisar77-stack/rent-reminder.git
    cd rent-reminder
  2. Launch via Docker:

    docker compose up -d
  3. Open in your browser: http://localhost:3000


Option C: Direct Node.js Installation

  1. Install dependencies:

    npm install
  2. Start the application:

    npm start
  3. Open in your browser: http://localhost:3000


🧩 First Steps After Launch

  1. Configure SMTP & Bank Details: Go to the Settings tab to enter your SMTP email provider credentials and bank account info.
  2. Add Properties & Tenants: Open the Properties & Tenants tab to create your units, set rent amounts, due days, and payment reference types.
  3. Autopilot Operation: Rent Reminder runs automatically on a daily cron schedule to check due dates and send pre-due reminders or overdue notices.

💾 Data Persistence & Safety

  • All data (tenants, properties, payment history, settings) is stored locally in an embedded SQLite database (./data/rent_reminder.db).
  • In Docker deployments, the ./data directory is mounted as a persistent volume, ensuring your data is safely retained across container restarts or image updates.

🌍 Supported Languages (i18n)

Rent Reminder supports instant UI and email template switching across 5 languages:

  • 🇬🇧 English (Default)
  • 🇨🇿 Czech
  • 🇩🇪 German
  • 🇪🇸 Spanish
  • 🇫🇷 French

🧪 Testing

To run automated unit tests:

npm test

📜 License

This project is licensed under the Rent Reminder Source-Available & Anti-SaaS License (v1.0):

  • 🟢 Free for personal & business use: Any individual or company (real estate agencies, property managers, landlords) may freely install, run, and modify the software to manage their own properties.
  • 🔴 No SaaS Resell (Anti-SaaS): Operating or reselling this software as a commercial paid cloud service (SaaS) for third parties is prohibited without a commercial license from the author.

📝 Changelog

v1.0.1

  • Fix: CSV export escaping quotes and proper header encoding.
  • Security: Strict input validation for tenant rental amounts and due dates.
  • Localization: Primary language changed to English as standard codebase baseline.

About

Self-hosted rent tracking and automated email reminders for landlords

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages