https://github.com/zazuko/varnish-post
Varnish Docker image that also caches POST requests
https://github.com/zazuko/varnish-post
docker-image post varnish
Last synced: 7 months ago
JSON representation
Varnish Docker image that also caches POST requests
- Host: GitHub
- URL: https://github.com/zazuko/varnish-post
- Owner: zazuko
- License: mit
- Created: 2021-06-16T09:31:00.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-01-08T05:30:34.000Z (almost 3 years ago)
- Last Synced: 2023-08-05T18:54:37.033Z (about 2 years ago)
- Topics: docker-image, post, varnish
- Language: Shell
- Homepage:
- Size: 285 KB
- Stars: 1
- Watchers: 6
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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:
```sh
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 to `true` (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 use `0.0.0.0/0` to 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](./LICENSE) file for details.