Initial commit: Docker infrastructure for fullstack Vollversammlung app
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
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"]
|
||||
Reference in New Issue
Block a user