diff --git a/app/Dockerfile b/app/Dockerfile index ecd9254..80cd807 100644 --- a/app/Dockerfile +++ b/app/Dockerfile @@ -1,4 +1,4 @@ -FROM alpine:3.16 +FROM alpine:3.17 EXPOSE 9000/tcp ENV SCRIPT_ROOT=/opt/tt-rss @@ -8,7 +8,7 @@ RUN apk add --no-cache dcron php81 php81-fpm php81-phar php81-sockets \ php81-mbstring php81-intl php81-xml php81-curl php81-simplexml \ php81-session php81-tokenizer php81-dom php81-fileinfo php81-ctype \ php81-json php81-iconv php81-pcntl php81-posix php81-zip php81-exif \ - php81-openssl git postgresql-client sudo php81-pecl-xdebug rsync && \ + php81-openssl git postgresql-client sudo php81-pecl-xdebug rsync tzdata && \ sed -i 's/\(memory_limit =\) 128M/\1 256M/' /etc/php81/php.ini && \ sed -i -e 's/^listen = 127.0.0.1:9000/listen = 9000/' \ -e 's/;\(clear_env\) = .*/\1 = no/i' \ diff --git a/web-nginx/Dockerfile b/web-nginx/Dockerfile index 50d976b..b92f8f2 100644 --- a/web-nginx/Dockerfile +++ b/web-nginx/Dockerfile @@ -2,4 +2,14 @@ FROM nginx:alpine HEALTHCHECK CMD curl --fail http://localhost/tt-rss/index.php || exit 1 -COPY nginx.conf /etc/nginx/nginx.conf +COPY nginx.conf /etc/nginx/templates/nginx.conf.template + +# By default, nginx will send the php requests to "app" server, but this server +# name can be overridden at runtime by passing an APP_UPSTREAM env var +ENV APP_UPSTREAM=${APP_UPSTREAM:-app} + +# It's necessary to set the following NGINX_ENVSUBST_OUTPUT_DIR env var to tell +# nginx to replace the env vars of /etc/nginx/templates/nginx.conf.template +# and put the result in /etc/nginx/nginx.conf (instead of /etc/nginx/conf.d/nginx.conf) +# See https://github.com/docker-library/docs/tree/master/nginx#using-environment-variables-in-nginx-configuration-new-in-119 +ENV NGINX_ENVSUBST_OUTPUT_DIR=/etc/nginx diff --git a/web-nginx/nginx.conf b/web-nginx/nginx.conf index 40b11f7..7616169 100644 --- a/web-nginx/nginx.conf +++ b/web-nginx/nginx.conf @@ -17,7 +17,7 @@ http { index index.php; upstream app { - server app:9000; + server ${APP_UPSTREAM}:9000; } server {