Files
radarsargasses/docker/php/Dockerfile
Gwadaking 7ecb71599d fix: move cache:warmup to runtime entrypoint, fix POSTGRES_PASSWORD default
cache:warmup at build time fails because .env.local is not available in the
image (gitignored). Moved to entrypoint.sh which runs after volume mounts.
Also added default value for POSTGRES_PASSWORD in docker-compose.yml.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 17:44:05 -04:00

45 lines
1.0 KiB
Docker

FROM dunglas/frankenphp:latest-php8.3
# Dépendances système
RUN apt-get update && apt-get install -y \
libpq-dev \
libzip-dev \
unzip \
git \
gdal-bin \
python3-gdal \
&& rm -rf /var/lib/apt/lists/*
# Extensions PHP
RUN install-php-extensions \
pdo_pgsql \
pgsql \
redis \
zip \
intl \
opcache \
apcu
# Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
WORKDIR /app
# Dépendances en premier (cache Docker layer)
COPY backend/composer.json backend/composer.lock ./
RUN composer install --no-dev --optimize-autoloader --no-scripts
# Code source
COPY backend/ .
# Autoload uniquement — pas de cache:warmup ici (besoin de .env.local au runtime)
RUN composer dump-autoload --optimize
COPY docker/php/Caddyfile /etc/caddy/Caddyfile
# Entrypoint : warmup au démarrage du conteneur, quand .env.local est monté
COPY docker/php/entrypoint.sh /usr/local/bin/entrypoint.sh
RUN chmod +x /usr/local/bin/entrypoint.sh
ENTRYPOINT ["entrypoint.sh"]