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