mirror of
https://github.com/SwissFederalArchives/lindas-varnish-post.git
synced 2026-08-26 12:44:30 +00:00
Read-only mirror of https://github.com/SwissFederalArchives/lindas-varnish-post — Schweizerisches Bundesarchiv. Issues & pull requests at the source.
- Shell 60.1%
- Dockerfile 16.6%
- VCL 11.9%
- TypeScript 10.2%
- JavaScript 1.2%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .changeset | ||
| .github | ||
| config | ||
| test | ||
| .dockerignore | ||
| .editorconfig | ||
| .gitignore | ||
| CHANGELOG.md | ||
| Dockerfile | ||
| entrypoint.sh | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
Varnish POST
This Docker image let you cache GET and POST requests.
For POST requests, it will not cache requests with no body or with an empty body.
Docker image
You can pull the Docker image using:
docker pull ghcr.io/zazuko/varnish-post
It is listening on the 80 port.
Configuration
You can use following environment variables for configuration:
BACKEND_HOST: host of the backend to cache (default:localhost)BACKEND_PORT: port of the backend to cache (default:3000)VARNISH_SIZE: size of the cache in the RAM (default:100M)BACKEND_FIRST_BYTE_TIMEOUT: first byte timeout (default:60s)CACHE_TTL: time to cache the request (default:3600s)BODY_SIZE: maximum size for the body ; if it exceeds this value, it will not be cached (default:2048KB)DISABLE_ERROR_CACHING: disable the caching of errors (default:true)DISABLE_ERROR_CACHING_TTL: time where requests should be directly sent to the backend after an error occured (default:30s)CONFIG_FILE: the name of the configuration file to use (default:default.vcl)ENABLE_LOGS: enable logs (default:true)ENABLE_PROMETHEUS_EXPORTER: enable the Prometheus exporter if set totrue(default:false). If enabled, the exporter will be available on the 9131 port.PURGE_ACL: custom ACL for the PURGE method (default:localhost) ; you can use0.0.0.0/0to allow all.CUSTOM_ARGS: custom arguments to pass to varnishd (default:'')
Cache invalidation
You can invalidate the cache entry by sending the same request with the PURGE method.
If your backend is sending a xkey header, if you send a PURGE request with the same xkey header, it will invalidate all cache entries with the same tag.
License
This project is licensed under the MIT License. See the LICENSE file for details.