---
title: "Deploy Browser PDF Privacy Desk with BentoPDF"
description: "A protected browser PDF desk without a server-side document archive."
category: "Other"
url: https://railway.com/deploy/browser-pdf-privacy-desk-with-bentopdf
---

# Deploy Browser PDF Privacy Desk with BentoPDF

A protected browser PDF desk without a server-side document archive.

**[Deploy Browser PDF Privacy Desk with BentoPDF on Railway](https://railway.com/template/browser-pdf-privacy-desk-with-bentopdf)**

Machine-readable deploy manifest (JSON, validated by TemplateCI): https://railway.com/deploy/browser-pdf-privacy-desk-with-bentopdf/manifest.json

- **Creator:** dankeewithtwoes's Projects
- **Category:** Other

## Template content

### App

- **Image:** ghcr.io/alam00000/bentopdf@sha256:6ef493c8e3bdbaa26c9bfcec330377ae95116fa00660ca0342769063197b1952

### Gateway

- **Image:** caddy@sha256:d8542f48d34a9cf4e4c11a478865229840e87e4c96ea3f439101f31a5d35f75f
- **Start command:** `/bin/sh -c 'set -eu; hash=$(caddy hash-password --plaintext "$GATEWAY_PASSWORD"); printf "{\n admin off\n auto_https off\n}\n:8080 {\n header X-Robots-Tag noindex\n basic_auth {\n operator %s\n }\n reverse_proxy %s {\n header_up X-Forwarded-Proto https\n }\n}\n" "$hash" "$UPSTREAM" > /tmp/Caddyfile; exec caddy run --config /tmp/Caddyfile --adapter caddyfile'`
- **Public domain:** Yes

## Documentation

# Deploy and Host Browser PDF Privacy Desk with BentoPDF on Railway

A protected browser PDF desk without a server-side document archive.

## About Hosting Browser PDF Privacy Desk with BentoPDF

Teams preferring browser-side PDF tasks for small document workflows.

Enter the operator gateway, choose a PDF operation and open a local sample file. Download the result to your own document store. Use this separate desk when you do not need the server-side Stirling processing stack.

### Included services and storage

| Service | Persistent storage | Public access |
| --- | --- | --- |
| App | None; container state is disposable | Private network only |
| Gateway | None; container state is disposable | HTTPS domain |

### First deployment

1. Review required inputs in the deploy form and supply your own administrator email where requested.
2. Deploy the services and wait for the application and any database migrations to finish.
3. Open the generated HTTPS domain and follow the workflow above.
4. For the first browser prompt use username `operator` and the generated `Gateway.GATEWAY_PASSWORD` from Railway variables. App-specific accounts, where present, remain separate. The App service has no public domain.

## Why Deploy Browser PDF Privacy Desk with BentoPDF on Railway

The definition supplies an HTTPS endpoint, generated credentials where supported and explicit storage paths. PostgreSQL, when present, stays private. Public upstream image manifests are locked to immutable digests so an upstream tag change does not silently replace a running version.

## Common Use Cases

- Merge a small PDF set in the browser.
- Reorder pages before delivery.
- Perform local PDF transformations.

## Dependencies for Browser PDF Privacy Desk with BentoPDF

- [Upstream application and its documentation](https://github.com/alam00000/bentopdf). The upstream authors own the application and its license. This recipe does not claim application authorship or official endorsement.
- Caddy gateway using generated Basic authentication and WebSocket-capable reverse proxying.
- A Railway plan with resources sufficient for these services. Hosting, storage and outbound traffic are billed by Railway; no software subscription, bank connection, SMTP account or provider credit is included.

### Operational limits and backups

This serves the upstream client application; no shared document storage, account system or server conversion API is added. Large PDFs depend on the client device memory. Review the upstream tool behavior and optional integrations before using sensitive material.

Run one replica for volume-backed applications. Schedule volume backups and export important application data; a persistent volume is not a backup. Keep generated secrets with the backups and review upstream migration notes before changing the pinned image. Credentials cannot all be rotated by changing first-run environment variables after accounts already exist.

### Validation status

Prepared on 2026-10-18 from upstream installation documentation and public image manifests. Railway schema, variable references and publication metadata are checked before publication. Application runtime boot checks were not performed. This is an independently authored deployment recipe for existing software, not a claim of novel software, audited security or Railway partner verification.


## Deploy this recipe

[![Deploy on Railway](https://railway.com/button.svg)](https://railway.com/new/template/browser-pdf-privacy-desk-with-bentopdf?utm_source=railway-marketplace&amp;utm_medium=listing&amp;utm_campaign=toolkit-discovery&amp;utm_content=browser-pdf-privacy-desk)

Review the required inputs and hosting resource costs before deploying.

### Related deployment recipes

- [FastAPI REST Web Starter](https://railway.com/template/fastapi-rest-web-starter) — Python REST API starter with HTTPS and a pinned upstream source snapshot.
- [Django PostgreSQL Web Starter](https://railway.com/template/django-postgresql-web-starter) — Django LTS starter with Postgres, generated secrets and DEBUG disabled.
- [Meilisearch with Persistent Indexes](https://railway.com/template/meilisearch-with-persistent-indexes) — Search API with persistent indexes, production auth and a generated key.

These are separate deployments; no preconfigured integration between the applications is implied.

Disclosure: this template is maintained independently. Its maintainer may earn Railway usage kickbacks when other people deploy it. Railway bills hosting separately; no paid software subscription or provider credits are included.



## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/browser-pdf-privacy-desk-with-bentopdf
