1
0

Dockerfile 988 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. # syntax=docker/dockerfile:1.7
  2. # ---------- composer stage ----------
  3. FROM composer:2 AS deps
  4. WORKDIR /app
  5. COPY composer.json composer.lock* ./
  6. RUN composer install --no-dev --no-interaction --no-scripts --no-progress --optimize-autoloader
  7. # ---------- runtime ----------
  8. FROM dunglas/frankenphp:1-php8.3-alpine
  9. ENV PHP_INI_SCAN_DIR=/usr/local/etc/php/conf.d
  10. # System deps for PHP extensions
  11. RUN apk add --no-cache \
  12. icu-dev \
  13. oniguruma-dev \
  14. sqlite-dev \
  15. bash \
  16. && install-php-extensions \
  17. pdo_sqlite \
  18. pdo_mysql \
  19. mbstring \
  20. intl \
  21. opcache \
  22. bcmath
  23. WORKDIR /app
  24. COPY --from=deps /app/vendor ./vendor
  25. COPY . ./
  26. # Caddyfile and entrypoint
  27. COPY docker/Caddyfile /etc/Caddyfile
  28. COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh
  29. RUN chmod +x /usr/local/bin/entrypoint.sh \
  30. && chmod +x bin/console \
  31. && mkdir -p /data
  32. EXPOSE 8081
  33. ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
  34. CMD ["api"]