SIMPLE_MODE.md
Simple Mode is what powers the Self-Hosted build of BentoPDF (bentopdf-simple). It is functionally identical to the Commercial build that powers bentopdf.com โ every PDF tool is present and behaves the same. It just hides the marketing chrome (hero, FAQ, testimonials, footer) that only makes sense on the public bentopdf.com site or on a commercial public-facing deployment.
Simple Mode is not a feature-reduced "lite" version. Every PDF tool โ merge, split, edit, sign, OCR, Office conversion, every other tool โ works identically in both builds. The only difference is the marketing UI around the tools.
The Commercial build (ghcr.io/alam00000/bentopdf:latest) is used by bentopdf.com itself and by commercial license holders running public-facing PDF deployments where the full marketing site makes sense.
When enabled, Simple Mode hides the following bentopdf.com-specific marketing UI:
It also updates the page title to "PDF Tools" and makes the tools section more prominent. No PDF tools are removed or disabled.
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'
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
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
Use the built-in npm script that handles everything:
npm run serve:simple
This command automatically:
SIMPLE_MODE=truehttp://localhost:3000Set the environment variable before building:
export SIMPLE_MODE=true
npm run build
npx serve dist -p 3000
npm run serve:simple
This automatically builds and serves Simple Mode on http://localhost:3000.
# 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.
# 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.
# Commercial build (the bentopdf.com look)
docker run -p 3000:8080 ghcr.io/alam00000/bentopdf:latest
# Self-Hosted build (Simple Mode)
docker run -p 3001:8080 ghcr.io/alam00000/bentopdf-simple:latest
# Podman users: replace 'docker' with 'podman'
http://localhost:3000http://localhost:3001When Simple Mode is working correctly, you should see:
GitHub Container Registry (Recommended):
ghcr.io/alam00000/bentopdf-simple:latestghcr.io/alam00000/bentopdf-simple:v1.0.0 (versioned)Docker Hub:
bentopdfteam/bentopdf-simple:latestbentopdfteam/bentopdf-simple:v1.0.0 (versioned)The full marketing site, including hero/FAQ/testimonials/footer. Pull this only if you specifically want the bentopdf.com look โ for example, you're running a public-facing PDF deployment under a commercial license.
GitHub Container Registry (Recommended):
ghcr.io/alam00000/bentopdf:latestghcr.io/alam00000/bentopdf:v1.0.0 (versioned)Docker Hub:
bentopdfteam/bentopdf:latestbentopdfteam/bentopdf:v1.0.0 (versioned)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
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
ghcr.io/alam00000/bentopdf-simple:latest for Simple Mode (recommended)SIMPLE_MODE=true only works during build, not runtime