Skip to content

v1.19.2 — Node and Python container images

Choose a tag to compare

@cport1 cport1 released this 28 Jul 14:25

Packaging release. No changes to detection, scoring or the API.

Node and Python images

server-node/Dockerfile and server-python/Dockerfile now copy every module their server imports, so both images build and run. Each also ships the widget, resolved with no configuration.

Both are built from the repository root, since the image includes client/fcaptcha.js:

docker build -f server-node/Dockerfile   -t fcaptcha-node   .
docker build -f server-python/Dockerfile -t fcaptcha-python .

The Python image runs python server.py rather than a bare uvicorn invocation, so that proxy_headers=False is applied and TRUSTED_PROXIES remains the only thing resolving a client address.

Verified against each running container:

image /health /fcaptcha.js /api/pow/challenge detection suite
node 200 200 200 93/93
python 200 200 200 80/93

Each matches what that server scores when run from source; Python's differences are the implementation's documented divergences.

The published ghcr.io/webdecoy/fcaptcha image is unchanged in behaviour from v1.19.1.

CI

The Docker smoke job now covers all three images, checking that each starts, serves the widget, and answers a proof-of-work challenge. These are packaging checks and cover a gap unit tests cannot: a Dockerfile that copies a file to one path while the server reads another is valid in isolation and only fails when the container runs.