diff --git a/.docker/date.ini b/.docker/date.ini new file mode 100644 index 0000000..e077fc1 --- /dev/null +++ b/.docker/date.ini @@ -0,0 +1,2 @@ +[date] +date.timezone="Europe/Zurich" \ No newline at end of file diff --git a/.dockerignore b/.dockerignore index e1f0ba3..ac71744 100644 --- a/.dockerignore +++ b/.dockerignore @@ -8,4 +8,10 @@ docker-compose* */obj README.md LICENSE -.vscode \ No newline at end of file +.vscode + +# SilverStripe auto-generated content +Website/silverstripe-cache/ +Website/vendor/ +Website/resources/ +Website/public/resources/ \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index a005a14..50973e4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,19 +1,43 @@ FROM php:7.1.27-apache +RUN chown -R www-data:www-data /var/www -RUN apt -y update -RUN apt install -y --no-install-recommends \ +RUN apt update -y +RUN apt install --no-install-recommends -y \ libicu-dev \ - libmagickwand-dev + libmagickwand-dev \ + libtidy-dev \ + libzip-dev \ + mysql-client \ + sudo \ + unzip \ + zip + +RUN a2enmod rewrite RUN docker-php-ext-configure intl -RUN docker-php-ext-install intl +RUN docker-php-ext-configure zip --with-libzip +RUN docker-php-ext-install \ + gd \ + intl \ + pdo \ + pdo_mysql \ + tidy \ + zip RUN pecl install \ xdebug \ imagick RUN docker-php-ext-enable \ xdebug \ imagick -RUN chown -R www-data:www-data /var/www/html -COPY .docker/xdebug.ini $PHP_INI_DIR/conf.d/xdebug.ini -COPY ./src/ /var/www/html/ \ No newline at end of file +ADD https://getcomposer.org/installer composer-setup.php +RUN php composer-setup.php +RUN mv composer.phar /usr/local/bin/composer +COPY --chown=www-data:www-data ./Website/composer.* ./ +RUN sudo -u www-data mkdir public +RUN sudo -u www-data composer install + +COPY .docker/xdebug.ini $PHP_INI_DIR/conf.d/ +COPY .docker/date.ini $PHP_INI_DIR/conf.d/ +COPY --chown=www-data:www-data ./Website/ ./ +RUN sudo -u www-data composer vendor-expose diff --git a/docker-compose.yml b/docker-compose.yml index 65a5464..d83b25d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,10 +12,11 @@ services: ports: - 8000:80 db: - image: mysql:latest + image: mysql:5 networks: - nuth ports: - 13306:3306 environment: - MYSQL_ROOT_PASSWORD: root \ No newline at end of file + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: SilverStripe \ No newline at end of file