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>
This commit is contained in:
@@ -25,9 +25,9 @@ services:
|
|||||||
image: postgis/postgis:16-3.4
|
image: postgis/postgis:16-3.4
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_DB: ${POSTGRES_DB:-sargasses}
|
POSTGRES_DB: ${POSTGRES_DB:-sargasses_db}
|
||||||
POSTGRES_USER: ${POSTGRES_USER:-app}
|
POSTGRES_USER: ${POSTGRES_USER:-rs971_user}
|
||||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
|
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-changeme}
|
||||||
volumes:
|
volumes:
|
||||||
- db_data:/var/lib/postgresql/data
|
- db_data:/var/lib/postgresql/data
|
||||||
networks:
|
networks:
|
||||||
|
|||||||
@@ -25,14 +25,20 @@ COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
|
|||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Copie des dépendances en premier (cache Docker)
|
# Dépendances en premier (cache Docker layer)
|
||||||
COPY backend/composer.json backend/composer.lock ./
|
COPY backend/composer.json backend/composer.lock ./
|
||||||
RUN composer install --no-dev --optimize-autoloader --no-scripts
|
RUN composer install --no-dev --optimize-autoloader --no-scripts
|
||||||
|
|
||||||
# Copie du reste
|
# Code source
|
||||||
COPY backend/ .
|
COPY backend/ .
|
||||||
|
|
||||||
RUN composer dump-autoload --optimize \
|
# Autoload uniquement — pas de cache:warmup ici (besoin de .env.local au runtime)
|
||||||
&& php bin/console cache:warmup --env=prod
|
RUN composer dump-autoload --optimize
|
||||||
|
|
||||||
COPY docker/php/Caddyfile /etc/caddy/Caddyfile
|
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"]
|
||||||
|
|||||||
8
docker/php/entrypoint.sh
Normal file
8
docker/php/entrypoint.sh
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Warmup du cache Symfony au démarrage (les vars d'env sont disponibles ici)
|
||||||
|
php bin/console cache:warmup --env=prod --no-debug 2>&1 || true
|
||||||
|
|
||||||
|
# Lance FrankenPHP (comportement par défaut de l'image de base)
|
||||||
|
exec frankenphp run --config /etc/caddy/Caddyfile "$@"
|
||||||
Reference in New Issue
Block a user