🥧 PrivatCMS

The leap from blog to CMS is accomplished.

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:

🗣️ Forum System (New)

  • Full-Featured Boards: Create multiple discussion boards (categories) with descriptions.
  • Threads & Posts: Users can start new topics and reply to existing ones.
  • Rich Editor for Users: The powerful Markdown & HTML editor is available for forum posts, including Image Uploads, Color Picker, Emojis, and Icons.
  • Moderation Tools: Admins can Lock threads (read-only) or Pin important topics (Sticky) to the top.
  • Navigation: Integrated Breadcrumbs for easy navigation through board levels.

📄 CMS & Pages

  • 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

  • Hybrid Pro Editor: Advanced split-view editor supporting Markdown AND HTML. Includes a native Color Picker, text highlighting, and extensive formatting tools.
  • Post Status: Manage posts as Draft, Published, or Archived.
  • Sticky Posts: Pin important posts to the top of the homepage (📌 Feature).
  • Categories & Tags: Organize your content into flexible categories and use tags for better discoverability.
  • Syntax Highlighting: Automatic highlighting of code blocks for technical blogs.
  • Extras: Integrated Icon Picker (FontAwesome), Emoji support, and direct Media Upload within the flow.

🖼️ Media & Files

  • File Manager: Powerful, standalone file manager (files.php) to upload, view, and manage all your media assets in one place.
  • Media Integration: Insert images directly from the editor via a modal media library.
  • Lightbox Gallery: Integrated Lightbox feature automatically displays images from articles and pages in a sleek, full-screen overlay when clicked.
  • 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.
  • Inbox System: Integrated contact form with a secure Inbox (messages.php) in the admin panel to read and manage incoming messages directly (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

  • Rich Dashboard: A "chock-full" dashboard (dashboard.php) featuring visitor statistics (daily views), content metrics, and quick system status at a glance.
  • Multi-User System: Role-based permissions (Admin, Editor, Viewer, and Member) to manage team access and forum users securely.
  • 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

  1. Clone Repository

    git clone https://github.com/el-choco/rivatcms.git
    cd privatcms
  2. Run Installer Use the included installation script to set up the environment and start the containers:

    chmod +x docker-install.sh
    ./docker-install.sh

    The script automatically creates the .env file, builds the Docker containers, and starts them.

  3. Access CMS Once the containers are running, your blog is accessible at:

    • Frontend: http://localhost:3333 (or port according to configuration)
    • Admin Login: http://localhost:3333/admin
  4. First Login Use the default credentials to log in to the admin area:

    • Username: admin
    • Password: admin123
    • (Please change the password immediately after your first login!)

🛠️ 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.