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