2025-11-12 11:01:36 +00:00
2025-11-12 10:48:25 +00:00
2025-11-12 11:01:36 +00:00
2025-11-12 10:48:25 +00:00
2025-11-12 11:01:36 +00:00
2025-09-29 19:04:26 +00:00
2025-09-30 08:38:05 +00:00
2025-10-15 14:45:04 +00:00
2025-11-12 10:48:25 +00:00
2025-10-12 13:50:44 +00:00
2025-11-12 10:48:25 +00:00

StackPulse Logo

📦 StackPulse Release

StackPulse ist eine kleine Web-App, die über die Portainer-API deine Docker-Stacks verwaltet und aktualisiert.
Aktuell funktioniert StackPulse nur mit der Business-Edition von Portainer. Die Communitiy-Edition wird in einem späteren Release implementiert! Sie besteht aus einem Backend (Node.js/Express) und einem Frontend (React/Tailwind).

Ziel:

  • Übersicht über alle Stacks in deiner Portainer-Instanz
  • Später: Updates, Deployments und Monitoring
  • Bereitstellung als Docker Image, nutzbar über docker-compose

🚀 Features & Roadmap

v0.1 Initial Release
  • Projektstruktur mit Frontend & Backend
  • Lokales Startskript (scripts/start-dev.sh)
  • Frontend zeigt Stacks an (über Backend)
  • API-Verbindung zu Portainer
  • Stack Redeploy
  • Bereitstellung eines Docker Images über GHCR
v0.2 Release

Backend

  • Anbindung einer SQLite-Datenbank
  • Logging der Redeploy-Aktionen in SQLite speichern
  • API-Endpunkte für Log-Abfragen
  • Funktionen für Pagination, Löschen und Export

Frontend

  • Anzeige der Logs (inkl. Statusfarben)
  • UI-Komponenten für Log-Details
  • Filterfunktionen für die Logs
  • Pagination, Lösch- und Exportanzeigen

Features

  • Selektive Auswahl: einzelne Stacks oder Services neu deployen
v0.3 Release

Backend

  • Automatische Datenbereinigung: Duplikate bei Stack-IDs erkennen & entfernen
  • Erweiterung der Logs
  • API für Filter & Suche (Stacks nach Name/Status abrufen)

Frontend

  • Filter: Stacks nach Name oder Status durchsuchen
  • Benachrichtigungen im UI: erfolgreicher/fehlgeschlagener Redeploy (Toast)
  • Visualisierung der Datenbereinigung (Konflikt/Auto-Fix Meldungen)

Features

  • Frontend-Filter für schnellere Navigation bei vielen Stacks
  • Echtzeit-Feedback im UI (Notifications)
  • Datenkonsistenz sichern: keine doppelten Stack-IDs mehr
v0.4 Release

Backend

  • keine Änderungen

Frontend

  • GUI komplett überarbeitet
  • Umstellung auf Material Tailwind
  • Dashboard von Creative Tim als neues Frontend

Features

  • Neue, übersichtliche Oberfläche im Material Design
  • leicht erweiterbar durch vorgefertigte Komponenten
  • kleine Bugfixes
v0.5 Release

🛠️ Backend

  • Neue API-Endpunkte für Logging, Benutzer- und Gruppenverwaltung sowie Superuser-Registrierung
  • Authentifizierung und Log-In
  • Erweiterte Protokollierung und Datenbank-Migration
  • Präzisere Steuerung der globalen Benutzerrechte

💻 Frontend

  • Neue Log-In-Seite
  • Benutzer- und Gruppenverwaltung mit granularen Rechteeinstellungen
  • Erweiterte Log-Ausgabe mit Filtern und Suchoptionen
  • Konsolidierte und vereinheitlichte Ansichten im Dashboard

Features

  • Vollständiges Authentifizierungs- und Berechtigungssystem
  • Erweiterte Logs in allen Bereichen
  • Speicherung von Server- und Superuser-Einstellungen in der Datenbank
🟡 v0.6 In Entwicklung

Backend

Frontend

Features

🔮 Geplante Features (v0.6+)
  • Notifications (z. B. via Webhooks oder Mail)
  • Monitoring (Status, CPU/RAM)
  • Verbesserte UI/UX
  • Erweiterte Filterungen udn Sortierungen
  • Multi-Server Verwaltung
  • Integration Community Edition

🗂️ Projektstruktur

stackpulse/
├── backend/          # Node.js Backend mit Express
│   └── data          # SQlite Datenbank
│   └── db            # Datenbank-Integration
├── frontend/         # React Frontend mit Tailwind
├── scripts/          # Lokale Hilfsskripte (nicht Teil des Images)
│   └── start-dev.sh  #Skript für den lokalen Start
├── Dockerfile        # Multi-Stage Build für Frontend + Backend
├── docker-compose.yml
└── README.md

🔧 Lokaler Start

1. Dev-Server starten (Frontend + Backend)

./scripts/start-dev.sh

➡️ Danach:


🐳 Docker-Setup

Mit Compose starten

version: '3.8'
services:
  app:
    build:
      context: .
      dockerfile: Dockerfile
    ports:
      - "4001:4001"
    volumes:
      - stackpulse_data:/app/backend/data
    restart: unless-stopped
    environment:
      - PORTAINER_URL=Your_Portainer_Server_Adress (optional)
      - PORTAINER_API_KEY=Your_Portainer_API_Key (optional)
      - SUPERUSER_USERNAME=Your_Superuser_Username (optional)
      - SUPERUSER_EMAIL=Your_Superuser_Email (optional)
      - SUPERUSER_PASSWORD=Your_Superuser_Password (optional)
      - SELF_STACK_ID=Your_StackPulse_Stack_ID (optional)
volumes:
  stackpulse_data:


📋 Voraussetzungen

  • Node.js >= 20
  • Docker & Docker Compose
  • Zugang zu einer Portainer-Instanz (API-Key erforderlich)

🤝 Mitmachen

  1. Repo forken
  2. Feature-Branch erstellen
  3. PR gegen dev öffnen
S
Description
No description provided
Readme 7.6 MiB
v0.5 Latest
2025-11-12 11:02:26 +00:00
Languages
JavaScript 99.7%
HTML 0.2%