marchingphoenix and Claude Opus 4.5
f76443cbda
feat: add Open WebUI external web loader endpoint
...
Add /load endpoint for Open WebUI's WEB_LOADER_ENGINE=external integration.
Uses document.body.innerText for content extraction.
Configure in Open WebUI:
WEB_LOADER_ENGINE=external
EXTERNAL_WEB_LOADER_URL=http://byparr:8191/load
EXTERNAL_WEB_LOADER_API_KEY=<OWUI_API_KEY env var>
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-08-08 00:56:46 +02:00
ThePhaseless
885a24cf16
fix(docker): use IPv4 loopback in HEALTHCHECK to support IPv6-enabled networks
...
On IPv6-enabled Docker networks, 'localhost' resolves to ::1 first,
but uvicorn binds to 0.0.0.0 by default, so the healthcheck can fail.
Using 127.0.0.1 avoids the IPv6/IPv4 mismatch.
Fixes #346
2026-07-04 18:06:31 +02:00
ThePhaseless
4800ef7f5f
feat: migrate from camoufox to invisible_playwright
...
- Replace camoufox[geoip] with invisible_playwright git dependency
- Switch playwright-captcha framework from CAMOUFOX to PLAYWRIGHT
- Remove camoufox addon path from consts
- Add git to Docker base image; fetch invisible_playwright binary
- Make /cache writable for runtime USER 1000
2026-07-04 17:34:48 +02:00
ThePhaseless
b177dc6ad4
feat: migrate to cloverlabs-camoufox, pin playwright<1.61, add tini as PID 1
...
- Migrate from daijro/camoufox==0.4.* to cloverlabs-camoufox==0.6.*
(drop-in API: same import path, same kwargs)
- Pin playwright>=1.58,<1.61 to prevent protocol error
(Browser.setDefaultViewport viewport.isMobile incompatibility with
camoufox bundled Firefox v135.0.1-beta.24; upstream daijro/camoufox#653)
- Bump fastapi 0.136->0.139, pytest 9.0->9.1, pytest-asyncio 1.3->1.4
(absorbs Renovate PRs #360 , #359 , #357 )
- Remove dead deptry DEP002 pyautogui ignore (cloverlabs dropped pyautogui)
- Add tini to Dockerfile base image and set as ENTRYPOINT PID 1
(fixes zombie/defunct Firefox subprocesses: [Socket Process],
[RDD Process], [Utility Process] — verified: 21 zombies without tini,
0 zombies with tini after 5 POST /v1 requests)
- Remove init: true from compose.yaml (tini makes it redundant)
- Remove --init/init: true checkbox from bug report template
Closes #339 , #340 , #360 , #359 , #357 , #366
2026-07-04 15:18:21 +02:00
ThePhaseless
912e722057
fix(docker): pin base to ubuntu:24.04 to fix broken build
...
ubuntu:latest rolled to 26.04 LTS on 2026-05-06, breaking the Docker
build for 50+ consecutive CI runs. Playwright 1.58.0 (pinned in uv.lock)
cannot install firefox deps for ubuntu26.04-x64 -- it prints 'Cannot
install dependencies for ubuntu26.04-x64 with Playwright 1.58.0!' and
installs nothing, leaving libgtk-3.so.0 absent. Camoufox's bundled
Firefox then fails to load XPCOM at runtime:
libgtk-3.so.0: cannot open shared object file: No such file or directory
Couldn't load XPCOM.
Pinning to 24.04 (the last-known-good base, supported by Playwright 1.58)
restores libgtk-3-0t64 and the rest of the GTK runtime. Adopted from PR #362
which independently diagnosed the same issue.
Verified locally:
- app stage: ldconfig shows libgtk-3.so.0 present (was absent)
- test target: 6/6 tests pass (was BrowserType.launch failure)
- runtime: POST /v1 returns 200 status:ok (was 500 libgtk-3 traceback)
2026-07-04 13:48:24 +02:00
Copilot and ThePhaseless
103b5f5c83
Reduce Docker image size ( #337 )
...
* Initial plan
* reduce docker image size: clean caches, remove apt upgrade, use --no-install-recommends
Co-authored-by: ThePhaseless <33990351+ThePhaseless@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: ThePhaseless <33990351+ThePhaseless@users.noreply.github.com >
2026-03-21 13:31:49 +01:00
ThePhaseless
6993294ffc
Support running the container with arbitrary non-root users ( #334 )
...
Fixes #331
Co-authored-by: nathan <nathan@nzm.ca >
2026-03-19 15:05:38 +01:00
Copilot and ThePhaseless
27040fdad9
Fix healthcheck to respect PORT environment variable ( #330 )
...
* Initial plan
* Fix healthcheck to respect PORT environment variable
Co-authored-by: ThePhaseless <33990351+ThePhaseless@users.noreply.github.com >
* Remove explanatory comment from Dockerfile HEALTHCHECK
Co-authored-by: ThePhaseless <33990351+ThePhaseless@users.noreply.github.com >
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com >
Co-authored-by: ThePhaseless <33990351+ThePhaseless@users.noreply.github.com >
2026-03-10 21:46:31 +01:00
ThePhaseless
d8cd7cc571
remake dockerfile
2025-10-16 09:36:09 +00:00
ThePhaseless
a5bdd2c144
use non-root user
2025-10-15 13:07:09 +00:00
ThePhaseless
f8187deda1
install uv globally
2025-10-01 13:06:33 +00:00
ThePhaseless
f98e823991
Migrate to camoufox ( #235 )
...
* use camoufox
* build custom branches
* organize compose
* ignore missing stubs
* add init method
* create ADDON PATH
* check if solving is required
* type checking and remove logger
* uv sync
* add timeout
* add descriptiuon
* cancel previous runs
* wildcard minor
* fix proxy
* syntax fix
* [skip ci] fix loop warning
* fix proxy format
* copy over docker ignore
* remove testing line
* comment out port expose
* remove idope
* use strict typechecking
* refactor
* adjust compose
* run init only before test
* try test without init
* add curl
* handle page response
* remove turnsile test
* fix dockerignore symlink
* use newer debian
* bump pytest
* add docker in docker in devcontaienr
* remove unused values
* handle timeouts
* fix edgecase
* use new envs for proxy
* remove init command
* remove testing line
* remove setuptools
* fix linters
* reimport
* readd setuptools
* better float handling
2025-09-05 23:08:35 +02:00
ThePhaseless
d4c058e7dc
use trixie as base
2025-08-17 03:19:10 +02:00
Levi
5a35117299
fix: handle zombie processes
2025-06-03 15:24:57 +02:00
ThePhaseless
55526308f6
bump debian version to bookworm
2025-05-18 01:03:12 +02:00
ThePhaseless
329235ba5e
add devcontainer stage
2025-05-17 22:45:47 +00:00
ThePhaseless
090b5487e4
devcontainer tweaks
2025-05-17 20:50:13 +00:00
ThePhaseless
1fa6b66f3a
fixes ctrl+c on docker run
2025-04-17 11:38:52 +00:00
ThePhaseless
332402652d
switch to curl
2025-02-28 23:10:09 +01:00
ThePhaseless
2e8ed3fa9b
remove apt caching
2025-02-28 19:16:09 +01:00
ThePhaseless
a065b4b7ae
remove invalid argument
2025-02-28 18:43:55 +01:00
ThePhaseless
565b076c67
cache apt and uv libs
2025-02-28 01:06:25 +01:00
ThePhaseless
0ea76ac000
add ca-certs
2025-02-27 23:29:47 +00:00
ThePhaseless
52f4b6110a
docker way to install uv
2025-02-27 23:28:23 +00:00
ThePhaseless
8c9795150e
cleanup dockerfile
2025-02-27 23:16:34 +00:00
ThePhaseless
44c3d5b512
dont upgrade packages
2025-02-27 20:31:37 +00:00
ThePhaseless
bf1daabaf9
another attempt
2025-02-27 20:07:23 +00:00
ThePhaseless
9445ffc5f6
fix invalidating cache
2025-02-27 19:57:00 +00:00
ThePhaseless
67303951bb
add version to container
2025-02-27 19:42:32 +00:00
ThePhaseless
a912a32eea
try to fix gha apt error
2025-02-20 21:34:07 +00:00
ThePhaseless
59104a3c6e
[skip ci] readd symlink for chromedriver to fix arm64
2025-02-20 21:20:28 +00:00
ThePhaseless
5c5451785e
remove forcing headless and handmade symlink
2025-02-20 20:57:05 +00:00
ThePhaseless
eba16fc3de
change interval to 15 minutes
2025-02-20 20:36:25 +00:00
ThePhaseless
4b5d82b4f1
remove apt python binaries
2025-01-27 20:56:50 +00:00
ThePhaseless
c4159e5c38
disable headless on docker
2025-01-02 12:29:10 +00:00
ThePhaseless
c37ab51179
combine apt installs to one
2024-12-11 01:04:08 +00:00
ThePhaseless
b33444dc48
use matrix for build
2024-12-11 00:40:11 +00:00
ThePhaseless
b8c8576e5a
github actions shared lib fix
2024-12-11 00:21:07 +00:00
ThePhaseless
905d802a26
add back retires
2024-12-10 23:38:13 +00:00
ThePhaseless
f99429fdea
update all packages but install only needed
2024-12-10 23:28:29 +00:00
ThePhaseless
82130b77c0
fix docker and update readme
2024-12-10 22:48:35 +00:00
ThePhaseless
faf7e5e51a
migrate to uv
2024-12-10 22:16:30 +00:00
renovate[bot]
38b2ea0798
Update python Docker tag to v3.13
2024-11-30 12:59:43 +00:00
ThePhaseless
0775d107ad
add version control and more verbose error return
2024-11-30 12:42:51 +00:00
ThePhaseless
0b2bf9e12a
use dynamic driver symlink
2024-11-30 11:38:48 +00:00
ThePhaseless
6dc1133daf
switch to bullseye to fix chromium not launching on arm
2024-11-26 12:19:52 +00:00
ThePhaseless
c366ce7db6
add healthcheck
2024-11-25 10:19:09 +00:00
ThePhaseless
4453fa6a93
use sh file as cmd
2024-11-25 09:26:14 +00:00
ThePhaseless
8d9f433aca
use chromium
2024-11-24 22:28:08 +00:00
ThePhaseless
8b9ef2604a
fix dockerfile and add arm for testing
2024-11-24 22:13:47 +00:00