mirror of
https://github.com/MarijnDoeve/TijdVoorDeTest.git
synced 2026-03-05 20:44:19 +01:00
This commit introduces a refactored EliminationFactory for better modularity, updates the elimination preparation process, and adds functionality to view eliminations. Backoffice templates and forms have been reorganized, minor translations were corrected, and additional assets like styles and flashes were included for enhanced user experience.
106 lines
2.7 KiB
Docker
106 lines
2.7 KiB
Docker
#syntax=docker/dockerfile:1
|
|
|
|
# Versions
|
|
FROM dunglas/frankenphp:1-php8.3 AS frankenphp_upstream
|
|
|
|
# The different stages of this Dockerfile are meant to be built into separate images
|
|
# https://docs.docker.com/develop/develop-images/multistage-build/#stop-at-a-specific-build-stage
|
|
# https://docs.docker.com/compose/compose-file/#target
|
|
|
|
|
|
# Base FrankenPHP image
|
|
FROM frankenphp_upstream AS frankenphp_base
|
|
|
|
WORKDIR /app
|
|
|
|
VOLUME /app/var/
|
|
|
|
# persistent / runtime deps
|
|
# hadolint ignore=DL3008
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
acl \
|
|
file \
|
|
gettext \
|
|
git \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN set -eux; \
|
|
install-php-extensions \
|
|
@composer \
|
|
apcu \
|
|
intl \
|
|
opcache \
|
|
zip \
|
|
uuid \
|
|
gd \
|
|
excimer-1.2.3 \
|
|
;
|
|
|
|
# https://getcomposer.org/doc/03-cli.md#composer-allow-superuser
|
|
ENV COMPOSER_ALLOW_SUPERUSER=1
|
|
|
|
ENV PHP_INI_SCAN_DIR=":$PHP_INI_DIR/app.conf.d"
|
|
|
|
###> recipes ###
|
|
###> doctrine/doctrine-bundle ###
|
|
RUN install-php-extensions pdo_pgsql
|
|
###< doctrine/doctrine-bundle ###
|
|
###< recipes ###
|
|
|
|
COPY --link frankenphp/conf.d/10-app.ini $PHP_INI_DIR/app.conf.d/
|
|
COPY --link --chmod=755 frankenphp/docker-entrypoint.sh /usr/local/bin/docker-entrypoint
|
|
COPY --link frankenphp/Caddyfile /etc/caddy/Caddyfile
|
|
|
|
ENTRYPOINT ["docker-entrypoint"]
|
|
|
|
HEALTHCHECK --start-period=60s CMD curl -f http://localhost:2019/metrics || exit 1
|
|
CMD [ "frankenphp", "run", "--config", "/etc/caddy/Caddyfile" ]
|
|
|
|
# Dev FrankenPHP image
|
|
FROM frankenphp_base AS frankenphp_dev
|
|
|
|
ENV APP_ENV=dev XDEBUG_MODE=off
|
|
|
|
RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
|
|
|
|
RUN set -eux; \
|
|
install-php-extensions \
|
|
xdebug \
|
|
;
|
|
|
|
COPY --link frankenphp/conf.d/20-app.dev.ini $PHP_INI_DIR/app.conf.d/
|
|
|
|
RUN git config --global --add safe.directory /app
|
|
|
|
CMD [ "frankenphp", "run", "--config", "/etc/caddy/Caddyfile", "--watch" ]
|
|
|
|
# Prod FrankenPHP image
|
|
FROM frankenphp_base AS frankenphp_prod
|
|
|
|
ENV APP_ENV=prod
|
|
ENV FRANKENPHP_CONFIG="import worker.Caddyfile"
|
|
|
|
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
|
|
|
|
COPY --link frankenphp/conf.d/20-app.prod.ini $PHP_INI_DIR/app.conf.d/
|
|
COPY --link frankenphp/worker.Caddyfile /etc/caddy/worker.Caddyfile
|
|
|
|
# prevent the reinstallation of vendors at every changes in the source code
|
|
COPY --link composer.* symfony.* ./
|
|
RUN set -eux; \
|
|
composer install --no-cache --prefer-dist --no-dev --no-autoloader --no-scripts --no-progress
|
|
|
|
# copy sources
|
|
COPY --link . ./
|
|
RUN rm -Rf frankenphp/
|
|
|
|
RUN set -eux; \
|
|
mkdir -p var/cache var/log; \
|
|
composer dump-autoload --classmap-authoritative --no-dev; \
|
|
composer dump-env prod; \
|
|
composer run-script --no-dev post-install-cmd; \
|
|
chmod +x bin/console; \
|
|
bin/console sass:build \
|
|
bin/console asset-map:compile --no-debug --quiet --no-ansi; \
|
|
sync;
|