Files
vollversammlung/api/Dockerfile.dev
T

55 lines
1.3 KiB
Docker

FROM php:8.3-fpm-alpine
# Install system dependencies
RUN apk add --no-cache \
imagemagick \
imagemagick-dev \
git \
curl \
oniguruma-dev \
libpng-dev \
libjpeg-turbo-dev \
libxml2-dev \
zip \
unzip
# Install PHP extensions
RUN docker-php-ext-install \
pdo_pgsql \
gd \
intl \
mbregex \
xml
# Install Composer
COPY --from=composer:latest /usr/bin/composer /usr/bin/composer
# Create app directory
WORKDIR /app
# Copy entrypoint script
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
# Set up Symfony directory structure
RUN mkdir -p \
src/UI/{API,Console}/{Controller,Request,Response,Command} \
src/Logic/{Manager,Calculator,Model,Provider,Processor,Shared} \
src/Data/{Entity,Repository} \
public/files \
var/cache \
var/log \
var/sessions
# Install Symfony runtime and framework dependencies
RUN composer config allow-plugins true
RUN composer require symfony/framework-bundle symfony/asset symfony/mime symfony/console \
symfony/dotenv symfony/flex symfony/runtime symfony/twig-bundle symfony/validator \
symfony/doctrine-messenger symfony/messenger twig symfony/mercure symfony/routing \
symfony/serializer php-http/discovery
EXPOSE 9000
ENTRYPOINT ["docker-entrypoint.sh"]
CMD ["php-fpm", "-F"]