diff --git a/deploy/varnish/Dockerfile b/deploy/varnish/Dockerfile new file mode 100644 index 0000000..251ad5a --- /dev/null +++ b/deploy/varnish/Dockerfile @@ -0,0 +1,32 @@ +FROM debian:trixie-slim + +ARG VARNISH_VERSION=8.0.0 +ARG VARNISH_MODULES_VERSION=0.27.0 + +# potrzebne narzędzia do kompilacji +RUN apt-get update && apt-get install -y \ + curl build-essential automake autoconf libtool pkg-config python3-sphinx \ + git ca-certificates \ + && rm -rf /var/lib/apt/lists/* + +# instalacja varnish +RUN curl -fsSL https://varnish-cache.org/_downloads/varnish-${VARNISH_VERSION}.tgz -o varnish.tar.gz \ + && tar xzf varnish.tar.gz \ + && cd varnish-${VARNISH_VERSION} \ + && ./configure && make -j$(nproc) && make install \ + && cd .. && rm -rf varnish-${VARNISH_VERSION} varnish.tar.gz + +# instalacja varnish-modules (w tym vsthrottle) +RUN curl -fsSL https://github.com/varnish/varnish-modules/releases/download/${VARNISH_MODULES_VERSION}/varnish-modules-${VARNISH_MODULES_VERSION}.tar.gz -o modules.tar.gz \ + && tar xzf modules.tar.gz \ + && cd varnish-modules-${VARNISH_MODULES_VERSION} \ + && ./configure && make -j$(nproc) && make install \ + && cd .. && rm -rf varnish-modules-${VARNISH_MODULES_VERSION} modules.tar.gz + +# katalog na konfigurację +WORKDIR /etc/varnish +COPY default.vcl /etc/varnish/ + +EXPOSE 80 + +ENTRYPOINT ["varnishd", "-F", "-f", "/etc/varnish/default.vcl", "-s", "malloc,256m"] diff --git a/docker-compose.yml b/docker-compose.yml index f273668..29a5926 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -19,7 +19,7 @@ services: restart: unless-stopped varnish: - image: varnish:latest + build: ./deploy/varnish container_name: zbiorka-varnish depends_on: app: