• Dec. 2, 2025, 8:58 a.m.

    Overview

    This guide documents the process of installing Bludit CMS—a flat-file Content Management System—on a VPS running a YunoHost/Docker hybrid setup.

    The goal is to run Bludit in a container while utilising YunoHost's reverse proxy capabilities to expose it via a specific domain (market.nulu.my).

    Prerequisites

    • Docker and Docker Compose installed.
    • A configured YunoHost server.
    • Root or sudo access to the server.

    Step 1: Directory Setup

    First, create a directory to house the configuration files. Keeping the file structure organised is crucial for maintenance.

    mkdir -p /opt/bludit
    cd /opt/bludit
    

    Step 2: Docker Compose Configuration

    Create the docker-compose.yml file.

    File: /opt/bludit/docker-compose.yml

    services:
      bludit:
        image: bludit/docker:latest
        container_name: bludit_cms
        restart: unless-stopped
        ports:
          - "50328:80" # Exposing on port 50328 to avoid conflict with YunoHost (80/443)
        volumes:
          # Persisting data using Docker Volumes
          - bludit_content:/usr/share/nginx/html/bl-content
          - bludit_themes:/usr/share/nginx/html/bl-themes
          - bludit_plugins:/usr/share/nginx/html/bl-plugins
        environment:
          - PUID=1000
          - PGID=1000
    
    volumes:
      bludit_content:
      bludit_themes:
      bludit_plugins:
    

    Key Configuration Notes:

    • Port 50328: Chosen to avoid conflicts with standard web ports.
    • Volumes: We use three distinct volumes (content, themes, plugins). This allows for easier upgrades without losing site data or customisations.

    Step 3: Deployment

    Run the container in detached mode:

    docker compose up -d
    

    Verify the container status:

    docker compose ps
    

    Step 4: YunoHost Reverse Proxy

    To expose the container to the public internet securely via SSL, use the YunoHost web admin panel.

    1. Add Domain: Ensure market.nulu.my is added to the domains list.
    2. Install Redirect App: Go to Applications > Install and search for the "Redirect" app.
    3. Configuration:
      • Domain: market.nulu.my
      • Path: /
      • Destination URL: http://127.0.0.1:50328
      • Type: Proxy (sometimes labelled as 'Invisible Proxy').

    Step 5: Finalisation

    Access https://market.nulu.my to complete the Bludit installation wizard (setting up the admin user and language).

    Managing Themes & Plugins:
    Since we used Docker Volumes, standard installation via the Admin Panel is preferred. If manual file access is required (e.g., for a custom theme development), inspect the volume path:

    docker volume inspect bludit_themes
    
  • edit

    Thread title has been changed from Bludit CMS - Docker Compose & YunoHost Hybrid.

  • edit

    Thread title has been changed from Bludit CMS - Docker Compose.