Files
vindn.de/frontend/Dockerfile.prod
T

25 lines
1.0 KiB
Docker

FROM dunglas/frankenphp:latest
COPY --from=composer:2 /usr/bin/composer /usr/bin/composer
ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN install-php-extensions pdo_pgsql zip
# The imported event data and the site's audience are both German-local;
# default to that instead of UTC so any "now"/"today" computation doesn't
# quietly disagree with the data for the two hours after every UTC midnight.
ENV TZ=Europe/Berlin
RUN echo "date.timezone = Europe/Berlin" > $PHP_INI_DIR/conf.d/timezone.ini
WORKDIR /app
COPY . .
RUN composer install --no-interaction --no-dev --optimize-autoloader \
&& php bin/console cache:clear --env=prod --no-debug
# Caddy's default site address in the base image's Caddyfile is
# {$SERVER_NAME:localhost}; a bare ":8000" (no hostname) makes it listen
# HTTP-only on that port, which is what we want — Traefik terminates TLS
# and forwards plain HTTP to this container.
ENV SERVER_NAME=:8000
EXPOSE 8000