diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..16a77af --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,35 @@ +version: '3' + +services: + webserver: + build: ./docker/apache + restart: unless-stopped + depends_on: + - db + volumes: + - .:/var/www/html:cached + ports: + - ${portWebserver}:80 + db: + image: mysql:5.7 + restart: unless-stopped + volumes: + - db_data:/var/lib/mysql + - ./docker/tmp:/tmp + - ./docker/database:/docker-entrypoint-initdb.d/ + ports: + - ${portDatabase}:3306 + environment: + MYSQL_ROOT_PASSWORD: root + MYSQL_DATABASE: ${dbName} + MYSQL_USER: ${dbUser} + MYSQL_PASSWORD: ${dbPassword} + redis: + image: redis:5 + restart: unless-stopped + volumes: + - redis_data:/data + +volumes: + db_data: + redis_data: diff --git a/docker/apache/000-default.conf b/docker/apache/000-default.conf new file mode 100644 index 0000000..c1a7d84 --- /dev/null +++ b/docker/apache/000-default.conf @@ -0,0 +1,8 @@ + + ServerName localhost + DocumentRoot "/var/www/html/compass/public" + + AllowOverride All + Require all granted + + diff --git a/docker/apache/Dockerfile b/docker/apache/Dockerfile new file mode 100644 index 0000000..4cb60d1 --- /dev/null +++ b/docker/apache/Dockerfile @@ -0,0 +1,26 @@ +FROM php:7.1-apache-jessie + +RUN apt-get update --fix-missing + +RUN apt-get -y install sudo &&\ + apt-get -y install curl &&\ + apt-get -y install git &&\ + apt-get -y install zip unzip &&\ + apt-get -y install vim && \ + apt-get -y install libicu-dev + +RUN docker-php-ext-configure intl + +RUN docker-php-ext-install pdo pdo_mysql mysqli intl + +RUN curl -sS https://getcomposer.org/installer | php && chmod +x composer.phar && mv composer.phar /usr/local/bin/composer + + + +RUN a2enmod rewrite + +RUN echo "ServerName compass" | sudo tee /etc/apache2/conf-available/servername.conf && a2enconf servername + +COPY ./000-default.conf /etc/apache2/sites-enabled/000-default.conf + +RUN apachectl graceful \ No newline at end of file diff --git a/docker/build.sh b/docker/build.sh new file mode 100755 index 0000000..ab0aaf8 --- /dev/null +++ b/docker/build.sh @@ -0,0 +1,14 @@ +#!/bin/bash +export projectName='compass' + +export dbName=${projectName} +export dbUser='user' +export dbPassword='user' + + +export portWebserver='80' +export portDatabase='3306' + + +docker-compose -f docker-compose.yml -p ${projectName} build + diff --git a/docker/down.sh b/docker/down.sh new file mode 100755 index 0000000..c6b60f1 --- /dev/null +++ b/docker/down.sh @@ -0,0 +1,14 @@ +#!/bin/bash +export projectName='compass' + +export dbName=${projectName} +export dbUser='user' +export dbPassword='user' + + +export portWebserver='80' +export portDatabase='3306' + + +docker-compose -f docker-compose.yml -p ${projectName} down + diff --git a/docker/start.sh b/docker/start.sh new file mode 100755 index 0000000..1cf178f --- /dev/null +++ b/docker/start.sh @@ -0,0 +1,14 @@ +#!/bin/bash +export projectName='compass' + +export dbName=${projectName} +export dbUser='user' +export dbPassword='user' + + +export portWebserver='80' +export portDatabase='3306' + + +docker-compose -f docker-compose.yml -p ${projectName} up -d +