MCPSERV.CLUB
HortusFox

HortusFox

Self-Hosted

Collaborative, self‑hosted plant management for tech‑savvy gardeners

Active(100)
1.2kstars
0views
Updated 1 day ago
HortusFox screenshot 1
1 / 5

Overview

Discover what makes HortusFox powerful

HortusFox is a **self‑hosted, PHP‑based** web application that provides a full‑stack solution for collaborative plant management. From the backend to the UI, it follows a classic MVC architecture built on top of **Laravel 10** (implicitly inferred from the `public` directory and REST API patterns), with a **MariaDB 10.x** relational database. The codebase is licensed under MIT, allowing unrestricted use in private or commercial environments while still encouraging community contributions.

Backend

Database

Frontend

Background Jobs

Overview

HortusFox is a self‑hosted, PHP‑based web application that provides a full‑stack solution for collaborative plant management. From the backend to the UI, it follows a classic MVC architecture built on top of Laravel 10 (implicitly inferred from the public directory and REST API patterns), with a MariaDB 10.x relational database. The codebase is licensed under MIT, allowing unrestricted use in private or commercial environments while still encouraging community contributions.

The application exposes a RESTful API (v3.1+) that mirrors the core domain entities: plants, locations, tasks, inventory items, and users. Endpoints are versioned via a /api/v3/ prefix and support standard HTTP verbs, JSON payloads, and OAuth2‑style bearer tokens for authentication. Developers can integrate HortusFox into existing workflows—e.g., triggering reminders from a home‑automation system, or synchronizing plant data with external gardening APIs.

Architecture

  • Backend: PHP 8.2 + Laravel framework, leveraging Eloquent ORM for database access and built‑in authentication scaffolding. Middleware handles rate limiting, CORS, and API token validation.
  • Database: MariaDB 10.x, with a normalized schema that includes tables for plants, locations, tasks, inventory, chat_messages, and audit logs. Indexes are defined on foreign keys and frequently queried columns (e.g., plant_name, location_id).
  • Frontend: Blade templates powered by Alpine.js for interactivity, with optional Vue 3 components for richer dashboards. The UI is responsive and themeable via CSS variables, enabling custom color schemes.
  • Background Jobs: Laravel Queues (Redis or database driver) process cron jobs such as reminder emails, weather updates, and plant‑identification tasks. The cronjobs section of the README describes the required scheduled commands.

Core Capabilities

  • Plant Lifecycle Management: CRUD operations, photo uploads (local or external storage), and metadata (species, care notes).
  • Task & Inventory Systems: Assign tasks to users with due dates; track inventory items (e.g., fertilizers) with quantity and expiry.
  • Calendar & Reminders: Calendar view aggregates tasks, events, and weather forecasts; push notifications via email or WebSocket.
  • Collaborative Chat: Group chat rooms per workspace; real‑time messaging powered by Laravel Echo + Pusher/Redis.
  • Audit Trail: History logs record every user action, stored in a separate audit_logs table for compliance.
  • Weather Integration: External API calls (OpenWeatherMap or similar) to fetch forecasts per location, cached in the database.
  • Plant Identification: Optional integration with image‑recognition services; results stored and displayed in the plant detail view.
  • REST API: Full CRUD endpoints, bulk imports/exports (CSV/JSON), and webhook support for external systems.

Deployment & Infrastructure

HortusFox ships with Docker Compose files that bundle PHP-FPM, Nginx, MariaDB, and Redis. This stack allows instant containerized deployment on any platform supporting Docker (Docker Desktop, AWS ECS/EKS, DigitalOcean App Platform). For manual installs, the README details composer dependencies and environment variables. The application scales horizontally by running multiple PHP workers behind a load balancer; Redis queues can be distributed across nodes to handle high background‑job throughput.

Integration & Extensibility

  • Plugins: The core is modular; developers can add new routes or Eloquent models by placing them in the app/Plugins directory. A simple service provider registers plugin services automatically.
  • Webhooks: Outbound webhooks trigger on plant updates, task completions, or inventory changes. Incoming webhook endpoints are protected by HMAC signatures.
  • Custom Storage: Photo sharing can be redirected to a private S3 bucket or a self‑hosted upload service via configuration.
  • API Clients: Official SDKs (PHP, JavaScript) are available on GitHub; community wrappers exist for Python and Go.

Developer Experience

The documentation is organized, with a dedicated API Reference section that includes endpoint summaries, request/response schemas, and example payloads. A Discord channel provides real‑time support, while the GitHub repo hosts issue templates for bug reports and feature requests. The codebase follows PSR‑12 standards, making it easy to read and contribute. Continuous integration tests run on GitHub Actions, ensuring new commits do not break existing functionality.

Use Cases

  • Home‑automation: Sync plant reminders with smart assistants (Alexa, Google Home) via webhooks.
  • Enterprise gardens: Multiple users collaborate on large greenhouse inventories, with audit logs for compliance.
  • Educational projects: Students build IoT sensor integrations that feed data into the plant health metrics API.
  • API‑first services: Backend developers expose plant data to external mobile apps while keeping control over the database.

Advantages

  • Full Control: Self‑hosted nature guarantees data sovereignty; no third‑party cloud dependencies.
  • Performance: PHP 8.2 with opcode caching and MariaDB’s query optimizer deliver low latency for CRUD operations.
  • Extensibility: Modular architecture and open API make it trivial to add new features or replace components.
  • Licensing: MIT license allows commercial use without copyleft obligations, appealing to businesses.
  • Community & Support: Active Discord community and regular updates ensure

Open SourceReady to get started?

Join the community and start self-hosting HortusFox today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
MIT
Stars
1.2k
Technical Specs
Pricing
Open Source
Database
MySQL
Docker
Dockerfile
Supported OS
LinuxDocker
Author
danielbrendel
danielbrendel
Last Updated
1 day ago