Как развернуть свою систему управления арендой недвижимости без облачных подписок
Репозиторий давно не обновлялся
Последнее обновление было 6 месяцев назад.
У многих айтишников в какой-то момент появляется квартира под сдачу, гараж или даже пара коммерческих помещений. Сначала всё фиксируется в Telegram с самим собой или в Google Таблицах. Но когда арендаторов становится чуть больше одного, начинаются проблемы. Кто-то задержал платеж на три дня, кому-то нужно выставить квитанцию, у кого-то заканчивается договор, а шаблон акта приема-передачи затерялся где-то на старом жестком диске.
Проприетарные SaaS-сервисы для учета аренды обычно либо перегружены функционалом для огромных риелторских агентств, либо просят ежемесячную подписку за базовые вещи. Недавно я наткнулся на интересный проект с открытым исходным кодом, который решает именно эту задачу. Речь идет о MicroRealEstate.
Что умеет MicroRealEstate
По сути это готовое веб-приложение для владельцев недвижимости, которым нужно навести порядок в договорах, платежах и контактах жильцов. Код написан на JavaScript и распространяется под свободной лицензией MIT.
Проект делит интерфейс на две основные части: кабинет арендодателя и портал для жильцов. Это удобно, если вы хотите дать арендаторам доступ к истории их платежей и документам, не пересылая каждый PDF-файл вручную в мессенджерах.
Вот основные возможности, которые заложены в систему:
- База объектов и жильцов. Вы заводите карточки квартир, комнат, офисов, привязываете к ним жильцов, их контактные данные и паспортные реквизиты.
- Шаблоны договоров и актов. В системе есть встроенный редактор шаблонов. Вы один раз настраиваете текст договора с переменными, после чего система сама подставляет данные арендатора, сроки и сумму оплаты.
- Учет арендных платежей и задолженностей. Приложение отслеживает график оплат, подсвечивает просрочки и фиксирует поступление денег.
- Массовые и персональные уведомления. Можно отправлять жильцам квитанции, напоминания об оплате или важные объявления по электронной почте прямо из интерфейса.
- Совместная работа. Если вы управляете объектами вместе с партнером или нанятым помощником, можно добавить несколько учетных записей с разграничением прав.
Интерфейс и скриншоты
Интерфейс выглядит аккуратно и без лишнего визуального шума. Ниже несколько экранов из документации проекта.
| | | |
| :-----------------------------------------------------------------------------------------------------------------------: | :-------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------: |
| Rents page | Send notices, receipt by email | Pay a rent |
|
| | |
| Tenants page | Tenant details | |
| | | |
| Properties page | Property details | |
| | | |
| Landlord page | Template leases | Author a contract |
| | | |
| Members | |
| | |
Как развернуть на своем сервере
Авторы упаковали все сервисы в Docker Compose, поэтому развертывание занимает буквально пять минут. Под капотом приложение использует базу данных MongoDB.
Подготовка конфигурации
Сначала создадим рабочую директорию и скачаем базовые файлы:
mkdir mre
cd mre
curl https://raw.githubusercontent.com/microrealestate/microrealestate/master/docker-compose.yml > docker-compose.yml
curl https://raw.githubusercontent.com/microrealestate/microrealestate/master/.env.domain > .env
Обязательно откройте файл .env и задайте свои секретные ключи, токены и пароли в конце файла. Если вы обновляете уже работающую установку, переносите старые значения MONGO_URL и секреты, чтобы не потерять доступ к данным.
Запуск на локальной машине
Для проверки интерфейса на компьютере достаточно выполнить одну команду:
APP_PORT=8080 docker compose --profile local up
После запуска интерфейс арендодателя откроется по адресу http://localhost:8080/landlord, а интерфейс жильца будет доступен на http://localhost:8080/tenant.
Запуск на сервере с доменом и HTTPS
Если вы поднимаете инстанс на VPS и уже настроили DNS-записи домена на свой IP, система может автоматически выпустить SSL-сертификат через встроенный обратный прокси:
sudo APP_DOMAIN=app.example.com APP_PROTOCOL=https docker compose up
Панель управления будет доступна по защищенному протоколу на https://app.example.com/landlord.
Резервное копирование
Поскольку все данные хранятся в MongoDB, бэкапы делаются одной командой через официальный образ:
docker compose run mongo /usr/bin/mongodump --uri=mongodb://mongo/mredb --gzip --archive=./backup/mredb-$(date +%F_%T).dump
Восстановить базу из дампа можно аналогично:
docker compose run mongo /usr/bin/mongorestore --uri=mongodb://mongo/mredb --drop --gzip --archive=./backup/mredb-XXXX.dump
Для кого этот проект
MicroRealEstate вряд ли заменит тяжелые ERP-системы для крупных управляющих компаний с сотнями жилых комплексов. Там требуются интеграции с ГИС ЖКХ, телефонией и специфическими кассовыми аппаратами.
Однако для частных арендодателей, владельцев нескольких апартаментов или небольших коворкингов это отличная self-hosted альтернатива. Данные о недвижимости и жильцах остаются на вашем личном сервере, интерфейс интуитивен, а базовый запуск через Docker избавляет от долгой настройки окружения.
