Как я перестал забывать поливать фикус и при чем тут PHP
У меня дома живет около десяти разных растений. Казалось бы, не так много, но я постоянно сталкиваюсь с одной и той же бедой: либо заливаю суккуленты, либо засушиваю влаголюбивый спатифиллум. Попытки ставить напоминания в обычном календаре провалились — они смешиваются с рабочими встречами и быстро начинают раздражать. Оказывается, для таких «забывчивых садоводов» есть специальный софт.
Недавно наткнулся на интересный проект под названием HortusFox. Это self-hosted система для управления домашним садом. Если коротко: вы разворачиваете её у себя на сервере (или даже на старом ноутбуке), заносите туда все свои цветы и получаете полноценный центр управления полетами, только вместо ракет у вас рассада и кактусы.

Что умеет эта штука
HortusFox — это не просто база данных с картинками. Автор проекта, Даниэль Брендель, явно подошел к вопросу с душой. Система закрывает сразу несколько задач, которые обычно разбросаны по разным заметкам.
Во-первых, это инвентаризация. Вы создаете «локации» (например, «кухня», «балкон», «спальня») и привязываете к ним растения. У каждого растения есть своя карточка с историей, фотографиями и кучей параметров.
Во-вторых, тут есть система предупреждений. Если растение требует особого ухода или вы давно его не поливали, система подсветит это на дашборде. Кстати, дашборд выглядит вполне прилично — сразу видно общую картину по всему дому.
Интересные фишки, которые я не ожидал увидеть в таком проекте:
- Система задач и календарь (можно планировать пересадку или подкормку на месяц вперед).
- Групповой чат и возможность совместного управления. Это удобно, если вы живете не один и хотите распределить обязанности по поливу.
- История действий. Всегда можно проверить, когда именно ваш сосед последний раз удобрял этот несчастный лимон.
- Интеграция с внешними сервисами. Проект умеет подтягивать прогноз погоды через OpenWeatherMap и даже идентифицировать растения по фото с помощью Pl@ntNet API.

Техническая начинка
Проект написан на PHP (используется фреймворк Asatru) с базой данных MariaDB. На фронтенде крутится Vue.js и CSS-фреймворк Bulma. Стек классический, без лишних наворотов, что для self-hosted решения скорее плюс — легче поддерживать и разворачивать.
Разработчик предусмотрел несколько способов установки. Самый простой — через Docker Compose. Буквально пара команд, и сервис доступен на 8080 порту.
# Пример настройки админа в docker-compose.yml
APP_ADMIN_EMAIL: "admin@example.com"
APP_ADMIN_PASSWORD: "password"
APP_TIMEZONE: "Europe/Moscow"
Если вы предпочитаете ручную установку, приготовьте PHP 8.3 и MariaDB 11.4. В репозитории есть встроенный установщик и набор консольных команд для миграций и управления кэшем.
Кстати, для любителей автоматизации в проекте реализованы эндпоинты для крон-задач. Можно настроить оповещения о просроченных задачах или автоматический бэкап данных.
Зачем это разработчику
На первый взгляд может показаться, что это оверкилл. Зачем целая система для пяти горшков на подоконнике? Но тут есть два момента.
Первый — это отличный пример того, как можно организовать домашнюю автоматизацию без привязки к облачным сервисам. Ваши данные остаются у вас, никакой подписки или рекламы. К тому же, у проекта есть REST API, а значит, при желании можно прикрутить к нему свои датчики влажности почвы на ESP32 и автоматизировать полив «по-взрослому».
Второй момент — это просто добротный опенсорс-проект с внятной структурой. В нем приятно покопаться, чтобы посмотреть, как реализована многопользовательская работа или интеграция с внешними API в рамках PHP-экосистемы.
Стоит ли пробовать
Если у вас дома больше трех растений и вы любите все систематизировать — однозначно да. HortusFox закрывает проблему «ой, а я не помню, когда мы это пересаживали» и помогает не превратить квартиру в гербарий по неосторожности.
Конечно, есть куда расти. Например, мобильного приложения как такового нет, но веб-интерфейс адаптивный. Еще хотелось бы более глубокой автоматизации «из коробки», но наличие API этот вопрос частично снимает.
Попробовать проект можно, заглянув в репозиторий на GitHub. Там же лежит ссылка на официальную документацию и демку. Удачного садоводства!