🥧 PrivatCMS
The leap from blog to CMS is accomplished. > Der Sprung vom Blog zum CMS ist vollbracht.
PrivatCMS is a modern, lightweight, and Docker-based Content Management System (CMS) designed specifically for bloggers and developers. It offers an elegant user interface, powerful management features, and is ready to run in minutes thanks to Docker.
✨ Features
PrivatCMS comes packed with features for content creators and administrators:
📄 CMS & Pages (New)
- Static Pages: Create timeless content like "About Us", "Imprint", or "Portfolio" separate from the blog feed.
- Dynamic Navigation: Control which pages appear in the Header or Footer menu directly from the editor.
- SEO URLs: Automatic, clean URL slugs for posts and pages (e.g.,
/p/about-us).
📝 Content Management
- Pro Editor: Split-view editor with Live Preview, Markdown & HTML support.
- Media Manager: Upload images, insert them via click, and manage files directly in the editor.
- Extras: Integrated Icon Picker (FontAwesome) and Emoji support for expressive content.
- Post Status: Manage posts as Draft, Published, or Archived.
- Sticky Posts: Pin important posts to the top of the homepage (📌 Feature).
- Categories: Organize your content into flexible categories.
- Tags: Organize articles with specific keywords (Tags) for better discoverability.
- Syntax Highlighting: Automatic highlighting of code blocks for technical blogs.
🖼️ Media & Files
- File Manager: Integrated file manager for uploading and managing images and files.
- Hero Images: Set impressive cover images for your articles.
- File Attachments: Offer files directly within the article for download.
💬 Interaction & Community
- Comment System: Visitors can comment on articles.
- Contact Form: Integrated contact form with a secure Inbox in the admin panel (no mail server needed).
- Spam Protection: Built-in mathematical spam protection (Captcha).
- Moderation: Admin tools to approve, mark as spam, or delete comments.
⚙️ Administration & System
- Comprehensive Dashboard: Statistics on posts, comments, and system status at a glance.
- Multi-User System: Role-based permissions (Admin, Editor, Viewer) to manage team access secure.
- Settings: Configure blog title, description, SMTP mail server, and more directly in the admin panel.
- Backup System: Create and download backups of your data (JSON, CSV, or Full ZIP).
- Activity Log: Tracks user actions for security and transparency.
- Maintenance Mode: Temporarily take the site offline for updates.
🎨 Design & UX
- Search Function: Integrated search bar to find content instantly.
- Pagination: Smart pagination for easy browsing of article archives.
- Dark Mode: Visitors can toggle between light and dark mode 🌓.
- Responsive Design: Optimized for desktop, tablet, and mobile.
- Sidebar: Dynamic sidebar with categories, tags cloud, and latest comments.
- Back-to-Top: Convenient navigation for long articles.
🌍 Internationalization (i18n)
- Multi-language: Full support for German 🇩🇪, English 🇬🇧, French 🇫🇷, and Spanish 🇪🇸 in both the frontend and backend.
🚀 Installation
PrivatCMS is optimized for Docker, making installation extremely simple.
Prerequisites
- Docker & Docker Compose installed.
- Git (optional, to clone the repo).
Step-by-Step Guide
-
Clone Repository
git clone https://github.com/el-choco/piperblog.git cd piperblog -
Run Installer Use the included installation script to set up the environment and start the containers:
chmod +x docker-install.sh ./docker-install.shThe script automatically creates the
.envfile, builds the Docker containers, and starts them. -
Access Blog Once the containers are running, your blog is accessible at:
- Frontend:
http://localhost:3333(oder port according to configuration) - Admin Login:
http://localhost:3333/admin
- Frontend:
-
First Login Upon accessing the admin area for the first time, you will be prompted to set an initial password for the administrator if one does not exist yet.
🛠️ Tech Stack
- Backend: PHP 8.2+
- Database: MySQL 8.0
- Web Server: Apache
- Frontend: HTML5, CSS3, Vanilla JS
- Containerization: Docker
📂 Structure
admin/- Administration interface (Backend).public/- Visible frontend for visitors (themes, assets).src/- PHP classes and core logic.config/- Configuration files and language files (.ini).docker/- Docker-specific configurations.
📄 License
This project is released under the MIT License. See LICENSE for details.
🥧 PrivatCMS
PrivatCMS ist ein modernes, leichtgewichtiges und Docker-basiertes Content-Management-System (CMS), das speziell für Blogger und Entwickler entwickelt wurde. Es bietet eine elegante Benutzeroberfläche, leistungsstarke Verwaltungsfunktionen und ist dank Docker in wenigen Minuten einsatzbereit.
✨ Features
PrivatCMS kommt vollgepackt mit Funktionen für Content-Ersteller und Administratoren:
📄 CMS & Seiten (Neu)
- Statische Seiten: Erstelle zeitlose Inhalte wie "Über Uns", "Impressum" oder "Portfolio", getrennt vom Blog-Feed.
- Dynamische Navigation: Steuere direkt im Editor, ob Seiten im Header oder Footer Menü erscheinen sollen.
- SEO-URLs: Automatische, saubere URL-Slugs für Artikel und Seiten (z.B.
/p/ueber-uns).
📝 Content Management
- Pro Editor: Split-View Editor mit Live-Vorschau, Markdown & HTML Unterstützung.
- Medien-Manager: Bilder hochladen, per Klick einfügen und Dateien direkt im Editor verwalten.
- Extras: Integrierter Icon Picker (FontAwesome) und Emoji-Support für ausdrucksstarke Inhalte.
- Beitragsstatus: Verwalte Beiträge als Entwurf, Veröffentlicht oder Archiviert.
- Sticky Posts: Pinne wichtige Beiträge oben an die Startseite (📌 Feature).
- Kategorien: Organisiere deine Inhalte in flexiblen Kategorien.
- Tags (Schlagwörter): Organisiere Artikel mit spezifischen Schlagwörtern (Tags) für bessere Auffindbarkeit.
- Syntax Highlighting: Automatische Hervorhebung von Code-Blöcken für technische Blogs.
🖼️ Medien & Dateien
- Dateimanager: Integrierter Dateimanager zum Hochladen und Verwalten von Bildern und Dateien.
- Hero Images: Setze beeindruckende Titelbilder für deine Artikel.
- Datei-Anhänge: Biete Dateien direkt im Artikel zum Download an.
💬 Interaktion & Community
- Kommentarsystem: Besucher können Artikel kommentieren.
- Kontaktformular: Integrierte Kontaktseite mit sicherem Posteingang im Admin-Panel (kein Mailserver nötig).
- Spamschutz: Eingebauter mathematischer Spamschutz (Captcha).
- Moderation: Admin-Tools zum Genehmigen, als Spam markieren oder Löschen von Kommentaren.
⚙️ Administration & System
- Umfangreiches Dashboard: Statistiken zu Posts, Kommentaren und Systemstatus auf einen Blick.
- Multi-User-System: Rollenbasiertes Rechtesystem (Admin, Editor, Viewer) zur sicheren Verwaltung von Team-Zugriffen.
- Einstellungen: Konfiguriere Blog-Titel, Beschreibung, SMTP-Mail-Server und mehr direkt im Admin-Panel.
- Backup-System: Erstelle und lade Backups deiner Daten (JSON, CSV oder Full ZIP) herunter.
- Logbuch: Protokolliert Benutzeraktionen für Sicherheit und Transparenz.
- Wartungsmodus: Schalte die Seite temporär offline für Updates.
🎨 Design & UX
- Suchfunktion: Integrierte Suchleiste, um Inhalte sofort zu finden.
- Paginierung: Intelligente Seitennummerierung für einfaches Durchstöbern des Archivs.
- Dark Mode: Besucher können zwischen Hell- und Dunkelmodus wechseln 🌓.
- Responsives Design: Optimiert für Desktop, Tablet und Mobile.
- Sidebar: Dynamische Sidebar mit Kategorien, Tag-Cloud und neuesten Kommentaren.
- Back-to-Top: Bequeme Navigation für lange Artikel.
🌍 Internationalisierung (i18n)
- Mehrsprachig: Vollständige Unterstützung für Deutsch 🇩🇪, Englisch 🇬🇧, Französisch 🇫🇷 und Spanisch 🇪🇸 sowohl im Frontend als auch im Backend.
🚀 Installation
PrivatCMS ist für den Betrieb mit Docker optimiert, was die Installation extrem einfach macht.
Voraussetzungen
- Docker & Docker Compose installiert.
- Git (optional, zum Klonen des Repos).
Schritt-für-Schritt Anleitung
-
Repository klonen
git clone https://github.com/el-choco/piperblog.git cd piperblog -
Installer ausführen Nutze das beiliegende Installations-Skript, um die Umgebung einzurichten und die Container zu starten:
chmod +x docker-install.sh ./docker-install.shDas Skript erstellt automatisch die
.envDatei, baut die Docker-Container und startet sie. -
Blog aufrufen Sobald die Container laufen, ist dein Blog erreichbar unter:
- Frontend:
http://localhost:3333(oder Port gemäß Konfiguration) - Admin-Login:
http://localhost:3333/admin
- Frontend:
-
Erste Anmeldung Beim ersten Aufruf des Admin-Bereichs wirst du aufgefordert, ein Initial-Passwort für den Administrator zu setzen, falls noch keines existiert.
🛠️ Technologie-Stack
- Backend: PHP 8.2+
- Datenbank: MySQL 8.0
- Webserver: Apache
- Frontend: HTML5, CSS3, Vanilla JS
- Containerisierung: Docker
📂 Struktur
admin/- Verwaltungsoberfläche (Backend).public/- Das für Besucher sichtbare Frontend (Themes, Assets).src/- PHP-Klassen und Kernlogik.config/- Konfigurationsdateien und Sprachdateien (.ini).docker/- Docker-spezifische Konfigurationen.
📄 Lizenz
Dieses Projekt ist unter der MIT Lizenz veröffentlicht. Siehe LICENSE für Details.
Deutsch
Français
Español