diff --git a/.dockerignore b/.dockerignore index 191381ee74dec49c89f99a62d055cb1058ba0de9..f3cb895046e3b6b42b0ab7a8cadaf9e7161af37c 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1 +1,2 @@ -.git \ No newline at end of file +.git +metager/vendor \ No newline at end of file diff --git a/.vscode/launch.json b/.vscode/launch.json index eddd6068e8fa0bb943b3ccf2336eba7bb1609510..2910de9f22f1ed8514ae0b0368b0edfbf4c69b9f 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -10,7 +10,7 @@ "request": "launch", "port": 9003, "pathMappings": { - "/html": "${workspaceRoot}" + "/metager/metager_app": "${workspaceRoot}/metager" } }, { @@ -21,7 +21,7 @@ "program": "${file}", "cwd": "${fileDirname}", "pathMappings": { - "/html": "${workspaceRoot}" + "/metager/metager_app": "${workspaceRoot}/metager" } } ] diff --git a/build/fpm/Dockerfile b/build/fpm/Dockerfile index fd035e3a057a8075ea7528e06feb8529a7db3ea4..1caa05ac7df2dc00eef4aa6d5be9470f9a7f0abc 100644 --- a/build/fpm/Dockerfile +++ b/build/fpm/Dockerfile @@ -22,7 +22,7 @@ RUN groupadd -g ${GID} metager && \ RUN apt update && apt install -y \ libzip-dev \ libpng-dev && \ - docker-php-ext-install zip gd && \ + docker-php-ext-install zip gd pcntl && \ yes '' | pecl install redis-5.3.7 xdebug-3.1.4 && \ docker-php-ext-enable redis && \ docker-php-ext-enable --ini-name=xdebug.ini xdebug @@ -36,10 +36,6 @@ WORKDIR /metager/metager_app RUN mkdir /composer_cache && \ chown metager:metager /composer_cache VOLUME [ "/composer_cache" ] -# Add composer vendor Directory -RUN mkdir -p /metager/metager_app/vendor && \ - chown metager:metager /metager/metager_app/vendor -VOLUME [ "metager/metager_app/vendor" ] # Add General Customizations to php.ini ADD build/fpm/configuration/php/custom.ini $PHP_INI_DIR/conf.d/custom.ini diff --git a/docker-compose.yml b/docker-compose.yml index 3b0c1f480c65475549d08f97fd5fba1903ea5a83..559bb8b19ab4890035bb511d837e924998b18b18 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -2,7 +2,6 @@ version: "3" # Volumes volumes: - vendor: {} composer_cache: {} node_cache: {} node_modules: {} @@ -15,18 +14,45 @@ services: context: ./ dockerfile: build/fpm/Dockerfile target: ${APP_ENV} + restart: unless-stopped volumes: - ./metager:/metager/metager_app - - vendor:/metager/metager_app/vendor + healthcheck: + test: "curl -f http://nginx:8080/health-check/liveness" nginx: build: context: ./ dockerfile: build/nginx/Dockerfile target: ${APP_ENV} + restart: unless-stopped + depends_on: + - fpm volumes: - ./metager/public:/metager/metager_app/public ports: - 8080:8080 + healthcheck: + test: "curl -f http://nginx:8080/health-check/liveness" + scheduler: + build: + <<: *fpm_build + restart: unless-stopped + entrypoint: /usr/local/bin/php + command: artisan schedule:work + volumes: + - ./metager:/metager/metager_app + healthcheck: + test: "curl -f http://nginx:8080/health-check/liveness-scheduler" + worker: + build: + <<: *fpm_build + restart: unless-stopped + entrypoint: /usr/local/bin/php + command: artisan requests:fetcher + volumes: + - ./metager:/metager/metager_app + healthcheck: + test: "curl -f http://nginx:8080/health-check/liveness-worker" composer: build: @@ -37,11 +63,13 @@ services: - COMPOSER_HOME=/composer_cache volumes: - ./metager:/metager/metager_app - - vendor:/metager/metager_app/vendor - composer_cache:/composer_cache node: image: node:14 + restart: unless-stopped + depends_on: + - nginx entrypoint: ["/bin/bash", "-c"] command: - | @@ -52,4 +80,10 @@ services: - ./metager:/metager/metager_app - node_modules:/metager/metager_app/node_modules - node_cache:/root/.npm + redis: + image: redis:6 + restart: unless-stopped + user: "redis:redis" + healthcheck: + test: "redis-cli ping" \ No newline at end of file