- SentinelHubClient : auth OAuth2, Catalog API (cloud coverage), Process API avec evalscript AFAI binaire (UINT8, cloud-side) - IngestionService : orchestration complète — job tracking, rejet nuages, téléchargement GeoTIFF, polygonize GDAL, simplification PostGIS, persistance SargassumObservation - IngestSentinelCommand : 5 zones Antilles configurées, options --date et --zone, appelable via cron docker exec - Dockerfile : ajout gdal-bin + python3-gdal - Correction entity : paramètre immutable retiré de #[ORM\Column] Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
39 lines
790 B
Docker
39 lines
790 B
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
|
|
|
|
# Copie des dépendances en premier (cache Docker)
|
|
COPY backend/composer.json backend/composer.lock ./
|
|
RUN composer install --no-dev --optimize-autoloader --no-scripts
|
|
|
|
# Copie du reste
|
|
COPY backend/ .
|
|
|
|
RUN composer dump-autoload --optimize \
|
|
&& php bin/console cache:warmup --env=prod
|
|
|
|
COPY docker/php/Caddyfile /etc/caddy/Caddyfile
|