From 1f4e7344ead58a3b6d578f7ade602c0961b9baeb Mon Sep 17 00:00:00 2001 From: Daniel Date: Wed, 27 Jul 2022 10:57:15 +0200 Subject: [PATCH] init --- .docker/contao/Dockerfile | 64 +++++++++++++++++++++++++++++++++++++++ .idea/.gitignore | 8 +++++ docker-compose.yml | 53 ++++++++++++++++++++++++++++++++ 3 files changed, 125 insertions(+) create mode 100644 .docker/contao/Dockerfile create mode 100644 .idea/.gitignore create mode 100644 docker-compose.yml diff --git a/.docker/contao/Dockerfile b/.docker/contao/Dockerfile new file mode 100644 index 0000000..ff4ee2d --- /dev/null +++ b/.docker/contao/Dockerfile @@ -0,0 +1,64 @@ +# The image is based on the official PHP 8 image +FROM php:7.4-apache + +ENV COMPOSER_MEMORY_LIMIT -1 +ENV ROOT_DIR /var/www/html +ENV APACHE_DOCUMENT_ROOT /var/www/html/contao/web +ARG CONTAO_VERSION=4.13 +WORKDIR $ROOT_DIR + +COPY --from=composer /usr/bin/composer /usr/bin/composer + +#We install all the necessary dependencies +RUN apt-get update + +RUN apt-get install -y \ + libfreetype6-dev \ + libjpeg62-turbo-dev \ + libpng-dev \ + libicu-dev \ + && docker-php-ext-install -j$(nproc) iconv \ + && docker-php-ext-configure gd --with-jpeg=/usr/include/ --with-freetype=/usr/include/ \ + && docker-php-ext-install -j$(nproc) gd \ + && docker-php-ext-install -j$(nproc) intl \ + && docker-php-ext-install -j$(nproc) pdo_mysql + +RUN apt-get install -y git zip + +#RUN pecl install xdebug && docker-php-ext-enable xdebug +#RUN echo 'zend_extension=xdebug' >> /usr/local/etc/php/php.ini +#RUN echo 'xdebug.mode=develop,debug' >> /usr/local/etc/php/php.ini +#RUN echo 'xdebug.client_host=host.docker.internal' >> /usr/local/etc/php/php.ini +#RUN echo 'xdebug.start_with_request=yes' >> /usr/local/etc/php/php.ini +#RUN echo 'session.save_path = "/tmp"' >> /usr/local/etc/php/php.ini + +#RUN curl -sS https://getcomposer.org/installer | php \ +# && mv composer.phar /usr/local/bin/composer \ +# && composer create-project --no-dev contao/managed-edition:$CONTAO_VERSION /var/www/html/contao '4.9.*' + +# Install Contao itself +RUN curl -sS https://getcomposer.org/installer | php \ + && mv composer.phar /usr/local/bin/composer \ + && composer create-project --no-dev contao/managed-edition:$CONTAO_VERSION contao + +#RUN curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer +#RUN rm -rf /var/www/html/ && composer create-project contao/managed-edition:$CONTAO_VERSION $ROOT_DIR + +# Make the Contao directory writable for the web server +RUN chown -R www-data:www-data /var/www/html/contao + +#Enable apache’s mod_rewrite +RUN a2enmod rewrite + +# Change the web root +RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf +RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf + +RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini" + +RUN rm -rf /var/www/html/contao/var/cache/* + +EXPOSE 80 +#WORKDIR $ROOT_DIR + +HEALTHCHECK CMD curl --fail http://localhost/ || exit 1 \ No newline at end of file diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..315a8bd --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,53 @@ +version: '3.1' + +services: + database: + image: mariadb + restart: always + ports: + - "3306:3306" + environment: + MYSQL_ROOT_PASSWORD: root + volumes: + - ./db:/var/lib/mysql + networks: + - default + phpmyadmin: + image: phpmyadmin + restart: always + ports: + - "8080:80" + environment: + - PMA_ARBITRARY=1 + contao: + build: + dockerfile: .docker/contao/Dockerfile + context: ./../ + depends_on: + - database + ports: + - "80:80" + volumes: +# - ./../contao/app/config:/var/www/html/contao/app/config +# - ./../contao/app/Resources:/var/www/html/contao/app/Resources +# - ./../contao/files:/var/www/html/contao/files +# - ./../contao/system/config:/var/www/html/contao/system/config +# - ./../contao/src:/var/www/html/contao/src +# - ./../contao/templates:/var/www/html/contao/templates +# - ./../contao/composer.json:/var/www/html/contao/composer.json + - ${PWD}/../contao/app/config:/var/www/html/contao/app/config + - ${PWD}/../contao/app/Resources:/var/www/html/contao/app/Resources + - ${PWD}/../contao/files:/var/www/html/contao/files + - ${PWD}/../contao/system/config:/var/www/html/contao/system/config + - ${PWD}/../contao/src:/var/www/html/contao/src + - ${PWD}/../contao/templates:/var/www/html/contao/templates + - ${PWD}/../contao/composer.json:/var/www/html/contao/composer.json + networks: + - default + mailhog: + image: mailhog/mailhog:latest + ports: + - "127.0.0.1:8025:8025" + +networks: + default: