Daniel há 3 anos
cometimento
1f4e7344ea
3 ficheiros alterados com 125 adições e 0 eliminações
  1. +64
    -0
      .docker/contao/Dockerfile
  2. +8
    -0
      .idea/.gitignore
  3. +53
    -0
      docker-compose.yml

+ 64
- 0
.docker/contao/Dockerfile Ver ficheiro

@@ -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

+ 8
- 0
.idea/.gitignore Ver ficheiro

@@ -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

+ 53
- 0
docker-compose.yml Ver ficheiro

@@ -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:

Carregando…
Cancelar
Guardar