🌿 Botanical Modernism • Next.js 15 & SQLite Next.js 15 & SQLite

Das moderne Zuhause für deinen Zimmerdschungel. The modern companion for your indoor jungle.

Selbstgehostetes Pflanzen-Management ohne Cloud-Zwang. Entwickelt für Pflanzenliebhaber und Home-Server: Sanfte Dringlichkeits-Sortierung, 4-in-1 Pflege-Tracking, Foto-Wachstumstagebücher, intelligente Winterruhe und lokaler Wetter-Sync. Minimalist, resource-efficient botanical care management for self-hosters. Automatic urgency sorting, 4-in-1 routine care tracking, high-res growth photo diaries, intelligent winter dormancy, and weather sync — 100% local-first.

http://plantstack.local:9666
PlantStack Dashboard Preview

Alles, was deine Pflanzen zum Gedeihen brauchen. Everything your plants need to truly thrive.

Durchdacht bis ins kleinste Detail: Keine überladenen Menüs, sondern funktionale Ästhetik und kompromisslose Datenhoheit. Crafted with care: No cluttered screens, but functional aesthetics and uncompromising local data sovereignty.

💧

4-in-1 Pflege & Meilensteine 4-in-1 Routine Care

Wasser, Dünger, Schädlingsschutz und Pilzvorsorge in einem harmonischen Interface. Dedizierte Meilensteine für Umtopfen (🪴) und Formschnitt (✂️) bleiben dank permanenter Speicherung dauerhaft erhalten. Water, fertilizer, pest defense, and fungal care in one unified interface. Dedicated milestones for repotting (🪴) and pruning (✂️) are permanently preserved across routine history resets.

⚡

4-Stufen Dringlichkeit & Snooze 4-Tier Gentle Urgency & Snooze

Kein Gießstress durch starre Kalendertage: Farbcodierte Stufen (Überfällig, Heute fällig, Demnächst fällig, Im Plan) priorisieren deine Pflanzen sanft vor. Inklusive 1-Klick Batch-Gießen und flexiblem +2-Tage-Snooze. No watering anxiety from rigid calendar dates: Color-coded tiers (Overdue, Due Today, Due Soon, Scheduled) prioritize care gently. Includes 1-click batch watering and flexible +2 days snooze.

❄️

Winterruhe-Modus per Schalter Winter Dormancy Switch

Schützt vor Wurzelfäule in der dunklen Jahreszeit: Mit einem Schalter in den Einstellungen aktivierst du den Wintermodus. PlantStack streckt daraufhin Gießintervalle um 50% und pausiert Düngeroutinen bis zum Frühling. Prevents root rot during darker months: Toggle winter dormancy mode with a single switch. PlantStack automatically stretches watering intervals by 50% and pauses fertilizer routines until spring.

🏡

Standorte: Indoor & Balkon (Outdoor) Locations: Indoor & Outdoor (Balcony)

Strukturiere deine Sammlung nach echten Lebensräumen: Wohnzimmer, Schlafzimmer, schattige Fensterbank oder sonniger Südbalkon. Hinterlege individuelle Lichtverhältnisse und behalte den Überblick über jeden Raum. Organize your botanical collection by physical spaces: living room, shaded windowsill, or sunny outdoor balcony. Assign lighting conditions and keep every habitat perfectly structured.

🌦️

Open-Meteo Wetter & Frost-Alarm Open-Meteo Weather & Frost Alerts

Verbindet sich direkt mit der Open-Meteo API für deinen Standort: Warnt rechtzeitig vor Frost für Balkon- und Terrassenpflanzen und berücksichtigt natürliche Niederschläge für Außenstandorte. Connects directly to the Open-Meteo API for your location: Issues timely frost alerts for balcony and patio plants and factors in local precipitation for outdoor spots.

📖

Open Plantbook Pflanzen-Lexikon Botanical Intelligence

Zero-CLS Autocomplete: Greife direkt auf tausende botanische Spezifikationen (wissenschaftlicher Name, Herkunft, Lichtansprüche, optimale Bodenfeuchte) via Open Plantbook per Autocomplete zu. Zero-CLS botanical autocomplete: Access thousands of species profiles (botanical names, origins, light requirements, optimal soil humidity) via Open Plantbook.

📷

Wachstumstagebuch & Historie Growth Diary & Timeline

Dokumentiere neue Blattaustriebe, Umtopfaktionen und jahreszeitliche Entwicklungen mit hochauflösenden Fotos, Zeitstempeln und Notizen. Jede Aktion wird in einem transparenten Verlauf protokolliert. Document new leaf unfurlings, seasonal growth, and repotting with high-resolution photos, timestamps, and notes. Every care event is logged in a transparent chronological history.

📦

Pflanzen-Archiv & Chronik Plant Archive & History

Wenn eine Pflanze verschenkt wird oder eingeht: Wandert sie mit einem Klick ins Archiv. Alle Fotos, Notizen und Pflegestatistiken bleiben für immer erhalten, ohne das aktive Dashboard zu überladen. When a plant is gifted, relocated, or perishes: Move it to the archive with one click. All historical photos, notes, and care records remain preserved forever without cluttering your active dashboard.

💾

1-Klick Backup & Datenhoheit 1-Click ZIP Backup

Deine Daten gehören dir. Exportiere deine gesamte SQLite-Datenbank zusammen mit allen hochgeladenen Originalfotos als komprimiertes ZIP-Archiv und stelle es auf jedem Server mit einem Klick wieder her. Your data belongs to you. Export your entire SQLite database along with all uploaded photos as a compressed ZIP archive and restore it on any server with a single click.

Elegantes Interface für jeden Bildschirm. An elegant interface for every display.

Klicke auf die Screenshots, um sie in voller Auflösung in der Lightbox zu betrachten. Click any screenshot to inspect it in full high-resolution inside the lightbox.

Liebevolle Fürsorge wird belohnt. Attentive care deserves recognition.

PlantStack motiviert mit mehrstufigen botanischen Erfolgen und tiefen Einblicken: Schalte Badges frei, wenn du gießt, umtopfst oder neue Arten sammelst – und verfolge deine Pflege-Streaks, Gießfrequenzen und Vitalitätswerte in übersichtlichen, interaktiven Statistiken. PlantStack celebrates your dedication with unlockable botanical badges and deep insights: Earn achievements as you water, repot, or diversify species — and track your care streaks, watering frequency, and health metrics over time with interactive statistics.

Regenmacher Badge

Regenmacher III Rainmaker III

Regenwolke Rain Cloud

250x erfolgreich gegossen Watered 250 times

Botanik-Nerd Badge

Botanik-Nerd III Botany Nerd III

Dschungel-Kurator Jungle Curator

35+ aktive Pflanzen in der Sammlung 35+ active plants in collection

Artenvielfalt Badge

Artenvielfalt III Species Diversity III

Arten-Pionier Biodiversity Pioneer

15+ verschiedene botanische Arten 15+ distinct botanical species

Umtopf-Pate Badge

Umtopf-Pate II Repot Master II

Wurzel-Architekt Root Architect

10x fachgerecht umgetopft Repotted 10 times

Meister-Gärtner Badge

Meister-Gärtner II Master Gardener II

Bonsai-Adept Bonsai Adept

15x Formschnitt & Rückschnitt Pruned 15 times

Methusalem Badge

Methusalem III Methuselah III

Pflanzen-Veteran Plant Veteran

Pflanze über 2 Jahre gehegt & gepflegt Nurtured a plant for over 2 years

Räume Badge

Räume II Rooms II

Villa mit Wintergarten Townhouse & Conservatory

Pflanzen auf 6+ Standorte verteilt Plants distributed across 6+ locations

Weltreise Badge

Weltreise II World Tour II

Globetrotter World Explorer

Pflanzen aus 8+ Herkunftsländern Plants from 8+ geographical origins

In 2 Minuten startklar mit Docker Compose. Up and running in 2 minutes with Docker Compose.

Optimiert für Synology NAS, Unraid, TrueNAS, Raspberry Pi oder jeden Linux-Server. Kopiere einfach das Snippet und starte den Container. Engineered for Synology NAS, Unraid, TrueNAS, Raspberry Pi, or any Linux server. Simply copy the configuration and launch your stack.

● docker-compose.yml
services:
  plantstack:
    image: ghcr.io/sm4sh-it/plantstack:latest
    container_name: plantstack
    restart: unless-stopped
    ports:
      - "9666:3000"
    volumes:
      - plantstack_data:/app/data
    environment:
      - NODE_ENV=production
      # Optional: Zugangsschutz mit Passwort / Optional: API secret password
      # - PLANTSTACK_API_SECRET=dein_geheimes_passwort
      # Optional: Open Plantbook Zugangsdaten für automatische Spezifikationen
      # - OPENPLANTBOOK_CLIENT_ID=deine_client_id
      # - OPENPLANTBOOK_CLIENT_SECRET=dein_client_secret

volumes:
  plantstack_data:
⚙️ Schritt 1: Einstellungen & Keys (Optional) Step 1: Settings & Keys (Optional)

• PLANTSTACK_API_SECRET: Vergibst du ein Passwort, schützt ein eleganter botanischer Lockscreen mit 30-Tage Session deine App und API. Lässt du es weg, läuft PlantStack direkt offen im Heimnetz.
• OPENPLANTBOOK_CLIENT_ID / SECRET: Kostenlose Keys von open.plantbook.io für automatische botanische Spezifikationen & Pflanzenfotos.
• PLANTSTACK_API_SECRET: Protects your app and API with a botanical lockscreen and 30-day session cookie. Without it, PlantStack operates openly on your LAN.
• OPENPLANTBOOK_CLIENT_ID / SECRET: Free API credentials from open.plantbook.io for automated botanical species profiles & photo autocomplete.

⚡ Schritt 2: Stack starten Step 2: Launch Container

docker compose up -d
Öffne anschließend http://<server-ip>:9666 im Browser und starte mit deinen Pflanzen. Then navigate to http://<server-ip>:9666 in your browser and start adding your plants.

📦 Multi-Arch Registry Multi-Arch Registry

Offizielle Multi-Arch Builds (amd64 & arm64) werden direkt über die GitHub Container Registry bereitgestellt – ideal für Synology NAS, Unraid oder Raspberry Pi. Official multi-arch builds (amd64 & arm64) are hosted on GitHub Container Registry – ready for Synology NAS, Unraid, or Raspberry Pi.

🤖

Vibe Coded mit Gemini & Rigoros Auditiert Vibe Coded with Gemini & Rigorously Audited

Entwickelt im agilen KI-Pair-Programming mit Google Gemini via Antigravity CLI – moderne Webtechnologien, rasant entwickelt und solide gesichert. Crafted in agile AI pair-programming with Google Gemini via Antigravity CLI — modern web paradigms, rapid velocity, and solid engineering.

⚡

Hohe Feature-Geschwindigkeit High Feature Velocity

Moderne React 19 & Next.js 15 Paradigmen, direkte Umsetzung echter Pflanzen-Bedürfnisse und kontinuierliche Evolution ohne bürokratischen Stillstand. Modern React 19 & Next.js 15 paradigms, rapid iteration based on real houseplant care needs, and zero bureaucratic slowdown.

🛡️

Rigorose Sicherheits-Audits Rigorously Audited & Hardened

Schnelles Prototyping geht Hand in Hand mit Disziplin: Strukturierte CWE / OWASP Top 10 Audits, Binär-Prüfung von Bild-Uploads (Magic Bytes) und robuster Schutz vor CSRF und Pfad-Traversal. Fast AI prototyping backed by strict discipline: Structured CWE / OWASP Top 10 reviews, binary magic-byte image validation, and defense against CSRF and path-traversal.

📡

Offen für dein Smart Home Smart Home & Automation Ready

Schlanke Status-API (/api/plants/status) zur direkten Einbindung in Home Assistant, MagicMirror oder stromsparende ESPHome E-Ink Nachttisch-Displays. Lean status API (/api/plants/status) ready to display overdue plant alerts on Home Assistant, MagicMirror, or low-power ESPHome e-ink bedside displays.

Alles, was du über PlantStack wissen möchtest. Everything you want to know about PlantStack.

Wichtige Antworten zu Systemanforderungen, Docker-Deployment, Datenschutz und Features. Essential answers regarding system requirements, Docker deployment, privacy, and features.

Was ist PlantStack und für wen ist es gedacht? What is PlantStack and who is it designed for?

PlantStack ist ein modernes, minimalistisches und ressourcenschonendes Pflanzen-Management-System für Self-Hoster. Es ermöglicht das strukturierte Verfolgen von Gieß-, Dünge-, Schädlings- und Pilzschutz-Routinen, bietet Fototagebücher und synchronisiert sich mit Wetterdaten – 100% lokal und ohne jeden Cloud-Zwang.

PlantStack is a modern, minimalist, resource-efficient plant care management web application for self-hosters. It tracks watering, fertilizer, pest, and fungus routines, records growth photo diaries, and syncs local weather — 100% locally on your hardware without any cloud subscriptions.

Wie installiere ich PlantStack mit Docker Compose? How do I deploy PlantStack with Docker Compose?

Die Bereitstellung gelingt mit einer einfachen docker-compose.yml. Das offizielle Multi-Arch Image (ghcr.io/sm4sh-it/plantstack:latest) läuft out-of-the-box auf Port 9666 und benötigt lediglich ein persistentes Volume für die SQLite-Datenbank unter /app/data. Nach einem docker compose up -d ist das Dashboard sofort erreichbar.

Deployment is completed with a simple docker-compose.yml file. The official multi-arch container (ghcr.io/sm4sh-it/plantstack:latest) runs out-of-the-box on port 9666 and requires only one volume mounted to /app/data. Run docker compose up -d and access your dashboard immediately.

Was unterscheidet PlantStack von kommerziellen Apps wie Planta oder PictureThis? How does PlantStack differ from proprietary apps like Planta or PictureThis?

Volle Datenhoheit, null Abo-Kosten und kein Vendor-Lock-in. Deine Pflanzendaten, Fotos und Notizen bleiben auf deiner eigenen Hardware (NAS, Raspberry Pi, Heimserver). Zudem zwingt PlantStack dich nicht in starre, stressige Gießkalender, sondern berechnet eine sanfte 4-Stufen-Dringlichkeit mit Snooze- und Batch-Funktion.

Complete data sovereignty, zero subscription fees, and no vendor lock-in. Your photos, historical logs, and care notes remain exclusively on your private hardware. Furthermore, PlantStack eliminates watering anxiety with a 4-tier gentle urgency engine, +2 days snooze, and 1-click batch watering.

Wie funktioniert der Winterruhe-Modus? How does the Winter Dormancy mode work?

Mit einem einfachen Schalter in den Einstellungen aktivierst du den Winterruhe-Modus. PlantStack streckt daraufhin Gießintervalle automatisch um 50% und pausiert Düngeroutinen, um Wurzelfäule durch Staunässe in der lichtarmen Jahreszeit wirkungsvoll zu verhindern.

With a simple toggle in settings, you activate winter dormancy mode. PlantStack then automatically stretches watering intervals by 50% and pauses fertilizing routines to prevent root rot and overwatering during low-light winter months.

Was bedeutet es, dass PlantStack vibecoded ist? What does it mean that PlantStack is vibe-coded?

PlantStack wird im agilen KI-Pair-Programming mit Google Gemini über die Antigravity CLI entwickelt (Vibe Coding). Dies ermöglicht eine rasante Feature-Geschwindigkeit und modernste Web-Paradigmen (React 19 & Next.js 15), kombiniert mit disziplinierten Sicherheits-Audits (OWASP Top 10 / CWE Prüfungen) und solider Softwarearchitektur.

PlantStack is engineered through agile AI pair-programming with Google Gemini using the Antigravity CLI (Vibe Coding). This delivers rapid feature velocity and cutting-edge paradigms (React 19 & Next.js 15), backed by disciplined security audits (OWASP Top 10 / CWE compliance) and robust engineering.