- 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
1.5 KiB
1.5 KiB
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
-
Create
.envif it does not exist:cp -n .env.sample .env -
Adjust the values in
.envif needed:TZ=Africa/Johannesburg BENTOPDF_PORT=8080 BENTOPDF_MEM_LIMIT=256m DOCKERLOGGING_MAXFILE=3 DOCKERLOGGING_MAXSIZE=10m -
Deploy with
make:make deploy-bento-pdfManual equivalent:
./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 -
Verify the container and open
http://<host-ip>:8080: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
# 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