homelab-blueprint/docker-compose-files/bento-pdf/README.md
Brian Pooe 1815beadf4 refactor: restructure docs, sync stacks with Caddyfile, harden compose templates
- Add compose stacks for apps already proxied by Caddy: bento-pdf,
  it-tools, paperless-ngx, and beszel-hub (with Makefile targets)
- Remove the unused Vault stack and the drawio Caddyfile block
- Fix Caddyfile gramps upstream to port 80 to match the compose file
- Bring immich and gramps-web up to the shared template pattern
  (no-new-privileges, log rotation, memory limits, healthchecks)
- Single-quote vaultwarden SSO_AUDIENCE_TRUSTED so regex values like
  ^\d{18}$ render as valid YAML
- Move root docs into kebab-case topic folders, rebuild the docs index
  to cover every doc, and fix all broken links
2026-07-03 17:45:16 +02:00

66 lines
1.5 KiB
Markdown

# BentoPDF
Privacy-first PDF toolkit (merge, split, compress, convert, sign). All
processing happens client-side in the browser — the container only serves
static assets, so no document data ever touches the server.
## Persistent Data
None. The container is stateless; nothing needs backing up.
## Installation
1. Create `.env` if it does not exist:
```bash
cp -n .env.sample .env
```
2. Adjust the values in `.env` if needed:
```dotenv
TZ=Africa/Johannesburg
BENTOPDF_PORT=8080
BENTOPDF_MEM_LIMIT=256m
DOCKERLOGGING_MAXFILE=3
DOCKERLOGGING_MAXSIZE=10m
```
3. Deploy with `make`:
```bash
make deploy-bento-pdf
```
Manual equivalent:
```bash
./substitute_env.sh docker-compose-files/bento-pdf/template.yaml docker-compose.bento-pdf.yml .env
docker compose -f docker-compose.bento-pdf.yml config --quiet
docker compose -f docker-compose.bento-pdf.yml up -d
```
4. Verify the container and open `http://<host-ip>:8080`:
```bash
docker compose -f docker-compose.bento-pdf.yml ps
docker compose -f docker-compose.bento-pdf.yml logs --tail=100 bentopdf
```
## Reverse Proxy
The Caddyfile proxies `bento-pdf.<domain>` to this host on port 8080. After
changing the port, update `docker-compose-files/caddy/Caddyfile_template` and
run `make reload-caddy`.
## Useful Commands
```bash
# Tail logs
docker compose -f docker-compose.bento-pdf.yml logs -f bentopdf
# Recreate after an image update
docker compose -f docker-compose.bento-pdf.yml pull
docker compose -f docker-compose.bento-pdf.yml up -d
```