Files
bentopdf/SIMPLE_MODE.md
alam00000 b059ac6ada chore: migrate Docker Hub to bentopdfteam, add Podman/Quadlet support
- Migrate Docker Hub account from bentopdf to bentopdfteam
- Make GHCR the recommended container registry
- Add Podman and Podman Compose support
- Add Podman Quadlet (systemd) documentation
- Add Table of Contents to README
2026-01-26 13:34:50 +05:30

5.7 KiB

Simple Mode for BentoPDF

Simple Mode is designed for internal organizational use where you want to hide all branding and marketing content, showing only the essential PDF tools for your users.

What Simple Mode Does

When enabled, Simple Mode will:

  • Hide the navigation bar
  • Hide the hero section with marketing content
  • Hide the features section
  • Hide the security/compliance section
  • Hide the FAQ section
  • Hide the testimonials section
  • Hide the support section
  • Hide the footer
  • Update the page title to "PDF Tools"
  • Make the tools section more prominent

How to Enable Simple Mode

Use the pre-built Simple Mode image directly:

Using GitHub Container Registry (Recommended):

# Docker
docker run -p 3000:8080 ghcr.io/alam00000/bentopdf-simple:latest

# Podman
podman run -p 3000:8080 ghcr.io/alam00000/bentopdf-simple:latest

Using Docker Hub:

# Docker
docker run -p 3000:8080 bentopdfteam/bentopdf-simple:latest

# Podman
podman run -p 3000:8080 docker.io/bentopdfteam/bentopdf-simple:latest

Or with Docker Compose / Podman Compose:

services:
  bentopdf:
    # Using GitHub Container Registry (Recommended)
    image: ghcr.io/alam00000/bentopdf-simple:latest
    # Or using Docker Hub
    # image: bentopdfteam/bentopdf-simple:latest
    container_name: bentopdf
    restart: unless-stopped
    ports:
      - '3000:8080'

Method 2: Using Docker Compose with Build

Build the image locally with Simple Mode enabled:

docker compose -f docker-compose.dev.yml build --build-arg SIMPLE_MODE=true
docker compose -f docker-compose.dev.yml up -d

Method 3: Using Docker Build

Build the image with the SIMPLE_MODE build argument:

docker build --build-arg SIMPLE_MODE=true -t bentopdf-simple .
docker run -p 3000:8080 bentopdf-simple

Method 4: Using npm Script (Easiest for Local Development)

Use the built-in npm script that handles everything:

npm run serve:simple

This command automatically:

  • Sets SIMPLE_MODE=true
  • Builds the project with Simple Mode enabled
  • Serves the built files on http://localhost:3000

Method 5: Using Environment Variables

Set the environment variable before building:

export SIMPLE_MODE=true
npm run build
npx serve dist -p 3000

🧪 Testing Simple Mode Locally

Method 1: Using npm Script (Easiest for Development)

npm run serve:simple

This automatically builds and serves Simple Mode on http://localhost:3000.

Method 2: Using Pre-built Image (Easiest for Production)

# Docker - Pull and run the Simple Mode image
docker pull ghcr.io/alam00000/bentopdf-simple:latest
docker run -p 3000:8080 ghcr.io/alam00000/bentopdf-simple:latest

# Podman
podman pull ghcr.io/alam00000/bentopdf-simple:latest
podman run -p 3000:8080 ghcr.io/alam00000/bentopdf-simple:latest

Open http://localhost:3000 in your browser.

Method 3: Build and Test Locally

# Build with simple mode
SIMPLE_MODE=true npm run build

# Serve the built files
npx serve dist -p 3000

Open http://localhost:3000 in your browser.

Method 4: Compare Both Modes

# Test Normal Mode (Docker)
docker run -p 3000:8080 ghcr.io/alam00000/bentopdf:latest

# Test Simple Mode (Docker)
docker run -p 3001:8080 ghcr.io/alam00000/bentopdf-simple:latest

# Podman users: replace 'docker' with 'podman'
  • Normal Mode: http://localhost:3000
  • Simple Mode: http://localhost:3001

🔍 What to Look For

When Simple Mode is working correctly, you should see:

  • Clean "PDF Tools" header (no marketing hero section)
  • "Select a tool to get started" subtitle
  • Search bar for tools
  • All PDF tool cards organized by category
  • No navigation bar
  • No hero section with "The PDF Toolkit built for privacy"
  • No features, FAQ, testimonials, or footer sections

📦 Available Container Images

Normal Mode (Full Branding)

GitHub Container Registry (Recommended):

  • ghcr.io/alam00000/bentopdf:latest
  • ghcr.io/alam00000/bentopdf:v1.0.0 (versioned)

Docker Hub:

  • bentopdfteam/bentopdf:latest
  • bentopdfteam/bentopdf:v1.0.0 (versioned)

Simple Mode (Clean Interface)

GitHub Container Registry (Recommended):

  • ghcr.io/alam00000/bentopdf-simple:latest
  • ghcr.io/alam00000/bentopdf-simple:v1.0.0 (versioned)

Docker Hub:

  • bentopdfteam/bentopdf-simple:latest
  • bentopdfteam/bentopdf-simple:v1.0.0 (versioned)

🚀 Production Deployment Examples

Docker Compose / Podman Compose

services:
  bentopdf:
    image: ghcr.io/alam00000/bentopdf-simple:latest # Recommended
    # image: bentopdfteam/bentopdf-simple:latest     # Alternative: Docker Hub
    container_name: bentopdf
    restart: unless-stopped
    ports:
      - '80:8080'
    environment:
      - PUID=1000
      - PGID=1000

Podman Quadlet (Linux Systemd)

Create ~/.config/containers/systemd/bentopdf-simple.container:

[Unit]
Description=BentoPDF Simple Mode
After=network-online.target

[Container]
Image=ghcr.io/alam00000/bentopdf-simple:latest
ContainerName=bentopdf-simple
PublishPort=80:8080
AutoUpdate=registry

[Service]
Restart=always

[Install]
WantedBy=default.target

Enable and start:

systemctl --user daemon-reload
systemctl --user enable --now bentopdf-simple

⚠️ Important Notes

  • Pre-built images: Use ghcr.io/alam00000/bentopdf-simple:latest for Simple Mode (recommended)
  • Environment variables: SIMPLE_MODE=true only works during build, not runtime
  • Build-time optimization: Simple Mode uses dead code elimination for smaller bundles
  • Same functionality: All PDF tools work identically in both modes