Go to file
Tim ae6f2e5446
build / build-docker (push) Successful in 32s Details
chore: ignore Cache-Control and Expires headers from proxy
2023-12-19 00:24:35 +00:00
.gitea/workflows Update .gitea/workflows/build.yml 2023-12-12 11:39:26 +00:00
.drone.yml drone: sign config 2022-03-01 21:31:04 +01:00
CHANGELOG.md Update changelog for v0.3.1 2022-03-01 23:00:36 +01:00
Dockerfile Add initial version 2019-10-22 00:39:40 +02:00
README.md Update README.md 2023-12-12 11:56:29 +00:00
docker-compose.yml Document ALLOWED_ORIGIN variable 2022-03-01 23:09:16 +01:00
entrypoint.sh Update entrypoint.sh 2023-12-12 21:36:14 +11:00
manifest.tmpl drone: fix manifest for newer manifest plugin version 2021-08-02 17:42:17 +02:00
nginx.conf chore: ignore Cache-Control and Expires headers from proxy 2023-12-19 00:24:35 +00:00
renovate.json chore: Configure Renovate (#1) 2023-12-12 11:38:15 +00:00


Caching proxy docker image

Original Docker: decentralize/caching-proxy Original Git

Front your webserver containers with a transparent cache.

What does it do?

This image runs an nginx server as a caching reverse proxy for a given URL. It can be used in conjunction with Traefik in order to transparently cache chosen paths on a backend service.


The container needs two environment variables:

  • UPSTREAM: URL of the upstream service which should be cached
  • ALLOWED_ORIGIN: origin URL which is allowed to load the files from this server (header Access-Control-Allowed-Origins) (default *)
  • MAX_SIZE: Size of the cache to use (on-disk)
  • MAX_INACTIVE: Maximum inactive time for cached items (default: 60m)
  • GZIP: Set to off in order to disable gzip compression (enabled by default)
  • PROXY_READ_TIMEOUT: Set the timeout for reading a response from the proxied server (default: 120s)
  • PROXY_CACHE_VALID: Set caching time for 200, 301, and 302 responses (disabled by default)

The server will be listening on port 80.

See the supplied docker-compose.yml for an example.