From a0e86bb47f771b4588fe59728ff4ad9053aad5b5 Mon Sep 17 00:00:00 2001 From: Codex Date: Mon, 12 Oct 2026 22:45:03 -0700 Subject: [PATCH] Deploy Byparr on tools-pve --- servers/tools-pve/byparr/README.md | 23 ++++++++++++++++++++++ servers/tools-pve/byparr/compose.yaml | 28 +++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 servers/tools-pve/byparr/README.md create mode 100644 servers/tools-pve/byparr/compose.yaml diff --git a/servers/tools-pve/byparr/README.md b/servers/tools-pve/byparr/README.md new file mode 100644 index 0000000..099c25a --- /dev/null +++ b/servers/tools-pve/byparr/README.md @@ -0,0 +1,23 @@ +# Byparr + +Private LAN browser-fetch service on `tools-pve` for pages that reject ordinary +HTTP clients. + +- API docs: `http://192.168.50.49:8191/docs` +- FlareSolverr-compatible endpoint: `POST http://192.168.50.49:8191/v1` +- Authentication: none; the port is bound only to the host LAN address +- Persistent state: none + +Example: + +```bash +curl -sS http://192.168.50.49:8191/v1 \ + -H 'Content-Type: application/json' \ + -d '{"cmd":"request.get","url":"https://example.com","maxTimeout":120000}' +``` + +The upstream image is pinned to an immutable `linux/amd64` digest. Browser +scratch data and cache are RAM-backed because Byparr performs frequent writes. +The local TCP healthcheck deliberately avoids Byparr's `/health` endpoint, +which opens an external page on every check. + diff --git a/servers/tools-pve/byparr/compose.yaml b/servers/tools-pve/byparr/compose.yaml new file mode 100644 index 0000000..e7905c3 --- /dev/null +++ b/servers/tools-pve/byparr/compose.yaml @@ -0,0 +1,28 @@ +services: + byparr: + image: ghcr.io/thephaseless/byparr@sha256:51a629fa3dcde0cee1a780922e1a572c4a5be0b5a0cb825db73d4e63059275ff + container_name: tools-byparr + restart: unless-stopped + shm_size: 1gb + stdin_open: true + tty: true + environment: + LOG_LEVEL: INFO + BROWSER_LOCALE: en-US + BROWSER_TIMEZONE: America/Los_Angeles + ports: + - "192.168.50.49:8191:8191" + tmpfs: + - /tmp:exec,mode=1777,size=1G + - /cache:mode=1777,size=512M + healthcheck: + test: + - CMD + - /app/.venv/bin/python + - -c + - import socket; s=socket.create_connection(('127.0.0.1',8191),5); s.close() + interval: 30s + timeout: 10s + retries: 3 + start_period: 30s +