Deploy Byparr on tools-pve
This commit is contained in:
@@ -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.
|
||||||
|
|
||||||
@@ -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
|
||||||
|
|
||||||
Reference in New Issue
Block a user