diff --git a/Dockerfile b/Dockerfile index 19314ff7..baf6efa0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,14 +15,14 @@ RUN apt-get update && apt-get install --no-install-recommends --no-install-sugge && pecl install timezonedb xdebug\ && docker-php-ext-enable timezonedb xdebug -COPY --from=composer:2.6 /usr/bin/composer /usr/local/bin/composer +COPY --from=composer:2 /usr/bin/composer /usr/local/bin/composer COPY docker/php.ini /usr/local/etc/php/ COPY . /var/www/html COPY docker/docker-entrypoint-php-fpm.sh / RUN cd /var/www/html \ - && composer install --no-ansi --no-dev --no-interaction --no-plugins --no-progress --no-suggest --optimize-autoloader \ + && composer install --no-ansi --no-dev --no-interaction --no-plugins --no-progress --optimize-autoloader \ && mkdir -p /var/www/html/app/tmp/cache/persistent /var/www/html/app/tmp/cache/models /var/www/html/app/tmp/logs \ && chown www-data:www-data -R /var/www/html/app/tmp/cache \ && chown www-data:www-data -R /var/www/html/app/tmp/logs diff --git a/docker-compose.yml b/docker-compose.yml index fb3cb03e..b84d27c4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,24 +1,29 @@ -version: '3' services: db: - image: mariadb:10.5 - container_name: ipeer_db + image: mariadb:10.11 environment: - MYSQL_ROOT_PASSWORD=randompassword - MYSQL_DATABASE=ipeer - MYSQL_USER=ipeer - MYSQL_PASSWORD=ipeer + - MARIADB_AUTO_UPGRADE=1 volumes: - - ./.data:/var/lib/mysql + - mysqlDbData:/var/lib/mysql ports: - "13306:3306" + adminer: + image: adminer:latest + ports: + - 8060:8080 + depends_on: + - db app: &app image: ubcctlt/ipeer-app build: context: . - container_name: ipeer_app volumes: - .:/var/www/html + - appTmp:/var/www/html/app/tmp environment: - IPEER_DB_HOST=db - IPEER_DB_USER=ipeer @@ -43,13 +48,10 @@ services: - db worker: &worker <<: *app - container_name: ipeer_worker - command: cake/console/cake worker run - ports: - - "9002:9000" + command: bash -c "sleep 5 && cake/console/cake worker run" + volumes: [] web: - image: nginx:1.19-alpine - container_name: ipeer_web + image: nginx:1.27-alpine volumes: - ./app/webroot:/var/www/html - ./docker/nginx.conf:/etc/nginx/conf.d/default.conf @@ -60,15 +62,12 @@ services: # for running unit tests app-unittest: - image: ubcctlt/ipeer-app + image: ubcctlt/ipeer-app-unittest build: context: . dockerfile: Dockerfile-app-unittest - container_name: ipeer_app_unittest volumes: - .:/var/www/html - ports: - - "9001:9000" environment: - IPEER_DB_HOST=db - IPEER_DB_USER=ipeer @@ -88,7 +87,6 @@ services: # for running unit tests web-unittest: image: nginx:1.19-alpine - container_name: ipeer_web_unittest volumes: - ./app/webroot:/var/www/html - ./docker/nginx-unittest.conf:/etc/nginx/conf.d/default.conf @@ -96,3 +94,7 @@ services: - "8081:80" depends_on: - app-unittest + +volumes: + mysqlDbData: + appTmp: diff --git a/docker/nginx-unittest.conf b/docker/nginx-unittest.conf index 0d884da4..edc8cb5a 100644 --- a/docker/nginx-unittest.conf +++ b/docker/nginx-unittest.conf @@ -10,7 +10,7 @@ server { } location ~ ^/.+\.php(/|$) { - fastcgi_pass ipeer_app_unittest:9000; + fastcgi_pass app-unittest:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } diff --git a/docker/nginx.conf b/docker/nginx.conf index 3cf84278..0777687e 100644 --- a/docker/nginx.conf +++ b/docker/nginx.conf @@ -10,7 +10,7 @@ server { } location ~ ^/.+\.php(/|$) { - fastcgi_pass ipeer_app:9000; + fastcgi_pass app:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } diff --git a/docker/php.ini b/docker/php.ini index 24358cd9..8200d057 100644 --- a/docker/php.ini +++ b/docker/php.ini @@ -2,4 +2,3 @@ display_errors = Off error_reporting = E_ALL & ~E_DEPRECATED date.timezone = America/Vancouver memory_limit=256M -zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20170718/opcache.so