diff --git a/.dockerignore b/.dockerignore index 1d26de76..5c4b692e 100644 --- a/.dockerignore +++ b/.dockerignore @@ -2,10 +2,12 @@ .git/ .github/ .env* +vendor/ Dockerfile* info.php -compose* +compose.* README.md .dockerignore .gitattributes .gitignore +debug.sh diff --git a/Dockerfile b/Dockerfile index a62fb3fb..fb458d4a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,37 +1,43 @@ FROM php:8-apache +# Install system dependencies RUN apt-get update && \ apt-get install -y \ - zlib1g-dev - -RUN apt-get install -y \ - libxml2-dev - + zlib1g-dev \ + libxml2-dev \ + libssl-dev \ + libfreetype-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + unzip \ + git + +# Install PHP extensions RUN /usr/local/bin/docker-php-ext-install mysqli pdo pdo_mysql -RUN apt-get install libssl-dev -y - -ENV PHP_OPCACHE_VALIDATE_TIMESTAMPS="0" ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ - RUN chmod +x /usr/local/bin/install-php-extensions && \ install-php-extensions gd -RUN apt-get update && apt-get install -y \ - libfreetype-dev \ - libjpeg62-turbo-dev \ - libpng-dev \ - && docker-php-ext-configure gd --with-freetype --with-jpeg \ - && docker-php-ext-install -j$(nproc) gd +# Install Composer +COPY --from=composer:latest /usr/bin/composer /usr/bin/composer +# Apache configuration COPY docker/000-default.conf /etc/apache2/sites-available/000-default.conf RUN a2enmod rewrite +# Application setup COPY . /var/www/ +WORKDIR /var/www + +# Install dependencies, then delete Composer files +RUN composer install --no-interaction --no-dev --optimize-autoloader +RUN rm composer.* + RUN chown -R www-data:www-data /var/www COPY docker/start-apache /usr/local/bin ENV APP_PATH=/var/www -CMD ["start-apache"] \ No newline at end of file +CMD ["start-apache"] diff --git a/Dockerfile.debug b/Dockerfile.debug deleted file mode 100644 index 788751a4..00000000 --- a/Dockerfile.debug +++ /dev/null @@ -1,22 +0,0 @@ -FROM php:8-apache - -RUN apt-get update && \ - apt-get install -y \ - zlib1g-dev - -RUN apt-get install -y \ - libxml2-dev - -RUN /usr/local/bin/docker-php-ext-install mysqli pdo pdo_mysql -RUN apt-get install libssl-dev -y - -COPY docker/000-default.conf /etc/apache2/sites-available/000-default.conf -RUN a2enmod rewrite - -RUN chown -R www-data:www-data /var/www - -COPY docker/start-apache /usr/local/bin - -ENV APP_PATH=/var/www - -CMD ["start-apache"] \ No newline at end of file diff --git a/compose.debug.yaml b/compose.debug.yaml index 9c436fe1..bde2943e 100644 --- a/compose.debug.yaml +++ b/compose.debug.yaml @@ -10,7 +10,7 @@ services: container_name: bivieh_devmarkt_dev build: context: . - dockerfile: Dockerfile.debug + dockerfile: debug.Dockerfile ports: - "8080:80" volumes: diff --git a/debug.Dockerfile b/debug.Dockerfile new file mode 100644 index 00000000..5901d11a --- /dev/null +++ b/debug.Dockerfile @@ -0,0 +1,43 @@ +FROM php:8-apache + +# Install system dependencies +RUN apt-get update && \ + apt-get install -y \ + zlib1g-dev \ + libxml2-dev \ + libssl-dev \ + libfreetype-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + unzip \ + git + +# Install PHP extensions +RUN /usr/local/bin/docker-php-ext-install mysqli pdo pdo_mysql + +ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ +RUN chmod +x /usr/local/bin/install-php-extensions && \ + install-php-extensions gd + +# Install Composer +COPY --from=composer:latest /usr/bin/composer /usr/bin/composer + +# Apache configuration +COPY docker/000-default.conf /etc/apache2/sites-available/000-default.conf +RUN a2enmod rewrite + +# Application setup +COPY . /var/www/ +WORKDIR /var/www + +# Install dependencies (including dev for debug mode), then delete Composer files +RUN composer install --no-interaction +RUN rm composer.* + +RUN chown -R www-data:www-data /var/www + +COPY docker/start-apache /usr/local/bin + +ENV APP_PATH=/var/www + +CMD ["start-apache"] diff --git a/debug.sh b/debug.sh old mode 100644 new mode 100755 index a6c3946c..584a032f --- a/debug.sh +++ b/debug.sh @@ -1 +1 @@ -docker-compose -f compose.debug.yaml up \ No newline at end of file +docker-compose -f compose.debug.yaml up --build