12 Commits
Author SHA1 Message Date
kor-elf 5613ead566 Merge pull request 'Версия 0.7.0' (#10) from develop into main
Reviewed-on: #10
2026-07-26 02:35:45 +05:00
kor-elf 4cdf11be3d Update production Docker Compose to switch images to MDHub registry
- Replace Docker Hub image references with MDHub equivalents across all services.
- Update environment variables and volume bindings for web and app services.
- Add production-specific environment variables (`APP_ENV`) for queue and scheduler.
2026-07-26 02:20:36 +05:00
kor-elf 0fc181bf12 Update Docker Compose files to use consolidated Dockerfile
- Replace references to separate `php/Dockerfile` and `web/Dockerfile` with the unified `docker/Dockerfile`.
- Adjust target stages across services for development and production environments.
2026-07-26 02:20:13 +05:00
kor-elf 059d2b9d66 Consolidate PHP and Nginx Dockerfiles
- Merge separate PHP and Nginx Dockerfiles into a unified structure under `app/docker/Dockerfile`.
- Simplify build stages and streamline multi-service configuration for production, development, and utility containers.
- Remove outdated individual Dockerfiles (`php/Dockerfile` and `web/Dockerfile`).
2026-07-26 02:19:29 +05:00
kor-elf d4ae9e0e43 Merge pull request 'Версия 0.6.0' (#9) from develop into main
Reviewed-on: #9
2026-06-21 00:37:21 +05:00
kor-elf 53bae19d3e Merge pull request 'Версия 0.5.0' (#8) from develop into main
Reviewed-on: #8
2025-08-23 03:37:42 +05:00
kor-elf caa6ecc2bf Merge pull request 'Версия 0.4.0' (#7) from develop into main
Reviewed-on: #7
2025-02-15 00:07:47 +05:00
kor-elf c2266f2a67 Merge pull request 'Changed the version of my-projects-website:0.3.0 to my-projects-website:0.3.1.' (#6) from develop into main
Reviewed-on: #6
2024-08-04 13:50:34 +05:00
kor-elf 0e98d67c49 Merge pull request 'Версия 0.3.1' (#5) from develop into main
Reviewed-on: #5
2024-08-04 13:44:20 +05:00
kor-elf 17e84ae0a3 Merge pull request 'Fixed. Docker Production CMD ["/usr/local/bin/start"].' (#4) from develop into main
Reviewed-on: #4
2024-07-27 03:07:41 +05:00
kor-elf 907a41e057 Merge pull request 'Версия 0.3.0' (#3) from develop into main
Reviewed-on: #3
2024-07-27 02:09:13 +05:00
kor-elf 417ce35fc8 Merge pull request 'Версия 0.2.1' (#2) from develop into main
Reviewed-on: #2
2024-06-12 00:03:10 +05:00
5 changed files with 87 additions and 73 deletions
@@ -1,4 +1,4 @@
FROM docker.io/php:8.5-fpm-alpine3.23 AS build FROM docker.io/php:8.5-fpm-alpine3.23 AS php
RUN apk --no-cache add pcre2 libbz2 libpng libwebp libjpeg-turbo icu-libs freetype oniguruma libzip jq \ RUN apk --no-cache add pcre2 libbz2 libpng libwebp libjpeg-turbo icu-libs freetype oniguruma libzip jq \
&& apk add --no-cache --virtual .phpize-deps icu-dev libpng-dev bzip2-dev libwebp-dev libjpeg-turbo-dev freetype-dev oniguruma-dev libzip-dev pcre2-dev ${PHPIZE_DEPS} \ && apk add --no-cache --virtual .phpize-deps icu-dev libpng-dev bzip2-dev libwebp-dev libjpeg-turbo-dev freetype-dev oniguruma-dev libzip-dev pcre2-dev ${PHPIZE_DEPS} \
@@ -29,20 +29,37 @@ RUN apk --no-cache add pcre2 libbz2 libpng libwebp libjpeg-turbo icu-libs freety
COPY docker/php/conf/app-fpm.conf /usr/local/etc/php-fpm.d/app-fpm.conf COPY docker/php/conf/app-fpm.conf /usr/local/etc/php-fpm.d/app-fpm.conf
FROM build AS app_build_for_production FROM docker.io/nginx:1.31-alpine AS nginx
COPY docker/web/conf/default.conf.template /etc/nginx/templates/default.conf.template
COPY docker/web/conf/fastcgi_params /etc/nginx/fastcgi_params
COPY docker/web/start.sh /usr/local/bin/start
RUN chmod 755 /usr/local/bin/start
FROM nginx AS web_build_for_production
WORKDIR /home/app
COPY application /home/app
RUN apk --no-cache add git nodejs npm \
&& npm install && npm run build \
&& rm -rf /home/app/node_modules
FROM php AS app_build_for_production
WORKDIR /home/app WORKDIR /home/app
COPY application /home/app COPY application /home/app
RUN apk --no-cache add git \ RUN apk --no-cache add git \
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \ && curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
&& composer install --optimize-autoloader --no-dev \ && composer install --optimize-autoloader --no-dev \
&& rm -rf /home/app/.env && rm -f /home/app/.env
FROM php AS app_production
FROM build AS production
COPY --from=app_build_for_production /home/app /var/www/html COPY --from=app_build_for_production /home/app /var/www/html
COPY --from=web_build_for_production /home/app/public/build/ /var/www/html/public/build
COPY docker/php/start.sh /usr/local/bin/start COPY docker/php/start.sh /usr/local/bin/start
WORKDIR /var/www/html WORKDIR /var/www/html
@@ -57,8 +74,18 @@ USER www-data
EXPOSE 9000 EXPOSE 9000
CMD ["/usr/local/bin/start"] CMD ["/usr/local/bin/start"]
FROM nginx AS web_production
FROM build AS develop COPY --from=web_build_for_production /home/app/public /usr/share/nginx/html
RUN rm -f /usr/share/nginx/html/50x.html /usr/share/nginx/html/index.php /usr/share/nginx/html/.htaccess
WORKDIR /usr/share/nginx/html
EXPOSE 80
CMD ["/usr/local/bin/start"]
# develop
FROM php AS app_develop
WORKDIR /var/www/html WORKDIR /var/www/html
@@ -75,15 +102,12 @@ USER www-data
EXPOSE 9000 EXPOSE 9000
CMD ["/usr/local/bin/start"] CMD ["/usr/local/bin/start"]
FROM php AS artisan
FROM build AS artisan
WORKDIR /var/www/html WORKDIR /var/www/html
STOPSIGNAL SIGTERM STOPSIGNAL SIGTERM
ENTRYPOINT ["php", "/var/www/html/artisan"] ENTRYPOINT ["php", "/var/www/html/artisan"]
FROM php AS composer
FROM build AS composer
WORKDIR /var/www/html WORKDIR /var/www/html
STOPSIGNAL SIGTERM STOPSIGNAL SIGTERM
RUN apk --no-cache add git \ RUN apk --no-cache add git \
@@ -91,11 +115,15 @@ RUN apk --no-cache add git \
RUN mkdir "/.composer" && chmod -R 0777 "/.composer" RUN mkdir "/.composer" && chmod -R 0777 "/.composer"
ENTRYPOINT ["composer"] ENTRYPOINT ["composer"]
FROM php AS npm
FROM build AS npm
RUN mkdir "/.npm" && chmod -R 0777 "/.npm" RUN mkdir "/.npm" && chmod -R 0777 "/.npm"
WORKDIR /var/www/html WORKDIR /var/www/html
STOPSIGNAL SIGTERM STOPSIGNAL SIGTERM
RUN apk --no-cache add nodejs npm RUN apk --no-cache add nodejs npm
ENTRYPOINT ["npm"] ENTRYPOINT ["npm"]
FROM nginx AS web_develop
WORKDIR /usr/share/nginx/html
EXPOSE 80
CMD ["/usr/local/bin/start"]
-31
View File
@@ -1,31 +0,0 @@
FROM docker.io/nginx:1.31-alpine AS build
COPY docker/web/conf/default.conf.template /etc/nginx/templates/default.conf.template
COPY docker/web/conf/fastcgi_params /etc/nginx/fastcgi_params
COPY docker/web/start.sh /usr/local/bin/start
RUN chmod 755 /usr/local/bin/start
FROM build AS app_build_for_production
WORKDIR /home/app
COPY application /home/app
RUN apk --no-cache add git nodejs npm \
&& npm install && npm run build \
&& rm -rf /home/app/node_modules
FROM build AS production
COPY --from=app_build_for_production /home/app/public /usr/share/nginx/html
WORKDIR /usr/share/nginx/html
EXPOSE 80
CMD ["/usr/local/bin/start"]
FROM build AS develop
WORKDIR /usr/share/nginx/html
EXPOSE 80
CMD ["/usr/local/bin/start"]
+9 -8
View File
@@ -3,8 +3,9 @@ services:
web: web:
build: build:
context: app context: app
dockerfile: docker/web/Dockerfile dockerfile: docker/Dockerfile
target: DEVELOP target: WEB_PRODUCTION
# restart: always
depends_on: depends_on:
- app - app
ports: ports:
@@ -21,8 +22,8 @@ services:
app: app:
build: build:
context: app context: app
dockerfile: docker/php/Dockerfile dockerfile: docker/Dockerfile
target: PRODUCTION target: APP_PRODUCTION
# restart: always # restart: always
depends_on: depends_on:
- db - db
@@ -37,8 +38,8 @@ services:
queue: queue:
build: build:
context: app context: app
dockerfile: docker/php/Dockerfile dockerfile: docker/Dockerfile
target: PRODUCTION target: APP_PRODUCTION
# restart: always # restart: always
depends_on: depends_on:
- app - app
@@ -52,8 +53,8 @@ services:
scheduler: scheduler:
build: build:
context: app context: app
dockerfile: docker/php/Dockerfile dockerfile: docker/Dockerfile
target: PRODUCTION target: APP_PRODUCTION
# restart: always # restart: always
depends_on: depends_on:
- app - app
+24 -8
View File
@@ -1,15 +1,29 @@
#version: '3.7' #version: '3.7'
services: services:
web:
# image: korelf/my-projects-website-web:0.7.0 # docker hub
image: docker.mdhub.kor-elf.net/kor-elf/my-projects-website-web:0.7.0 # MDHub
# restart: always
depends_on:
- app
ports:
- ${DOCKER_WEB_PORT}:80
environment:
IS_GZIP: 0
# FRONTEND_PORT: ${DOCKER_WEB_PORT}
BACKEND_HOST: app
BACKEND_PORT: 9000
TRUSTED_PROXY_CIDR: 172.16.0.0/12
volumes:
- ./app/storage/app/public:/usr/share/nginx/html/storage
app: app:
# image: korelf/my-projects-website:0.6.0 # docker hub # image: korelf/my-projects-website-app:0.7.0 # docker hub
image: docker.mdhub.kor-elf.net/kor-elf/my-projects-website:0.6.0 # MDHub image: docker.mdhub.kor-elf.net/kor-elf/my-projects-website-app:0.7.0 # MDHub
# restart: always # restart: always
depends_on: depends_on:
- db - db
- app-redis - app-redis
- captcha-app - captcha-app
ports:
- ${DOCKER_APP_PORT}:9000
env_file: app/.env env_file: app/.env
environment: environment:
CONTAINER_ROLE: app CONTAINER_ROLE: app
@@ -20,8 +34,8 @@ services:
# - ./app/translate/authorized_key.json:/var/www/html/storage/translation_service/authorized_key.json # - ./app/translate/authorized_key.json:/var/www/html/storage/translation_service/authorized_key.json
queue: queue:
# image: korelf/my-projects-website:0.6.0 # docker hub # image: korelf/my-projects-website-app:0.7.0 # docker hub
image: docker.mdhub.kor-elf.net/kor-elf/my-projects-website:0.6.0 # MDHub image: docker.mdhub.kor-elf.net/kor-elf/my-projects-website-app:0.7.0 # MDHub
# restart: always # restart: always
depends_on: depends_on:
- app - app
@@ -29,6 +43,7 @@ services:
- app-redis - app-redis
environment: environment:
CONTAINER_ROLE: queue CONTAINER_ROLE: queue
APP_ENV: production
env_file: app/.env env_file: app/.env
volumes: volumes:
- ./app/storage/app:/var/www/html/storage/app - ./app/storage/app:/var/www/html/storage/app
@@ -36,8 +51,8 @@ services:
# - ./app/translate/authorized_key.json:/var/www/html/storage/translation_service/authorized_key.json # - ./app/translate/authorized_key.json:/var/www/html/storage/translation_service/authorized_key.json
scheduler: scheduler:
# image: korelf/my-projects-website:0.6.0 # docker hub # image: korelf/my-projects-website-app:0.7.0 # docker hub
image: docker.mdhub.kor-elf.net/kor-elf/my-projects-website:0.6.0 # MDHub image: docker.mdhub.kor-elf.net/kor-elf/my-projects-website-app:0.7.0 # MDHub
# restart: always # restart: always
depends_on: depends_on:
- app - app
@@ -45,6 +60,7 @@ services:
- app-redis - app-redis
environment: environment:
CONTAINER_ROLE: scheduler CONTAINER_ROLE: scheduler
APP_ENV: production
env_file: app/.env env_file: app/.env
volumes: volumes:
- ./app/storage/app:/var/www/html/storage/app - ./app/storage/app:/var/www/html/storage/app
+11 -11
View File
@@ -3,8 +3,8 @@ services:
web: web:
build: build:
context: app context: app
dockerfile: docker/web/Dockerfile dockerfile: docker/Dockerfile
target: DEVELOP target: WEB_DEVELOP
depends_on: depends_on:
- app - app
ports: ports:
@@ -21,8 +21,8 @@ services:
app: app:
build: build:
context: app context: app
dockerfile: docker/php/Dockerfile dockerfile: docker/Dockerfile
target: DEVELOP target: APP_DEVELOP
depends_on: depends_on:
- db - db
- app-redis - app-redis
@@ -36,8 +36,8 @@ services:
queue: queue:
build: build:
context: app context: app
dockerfile: docker/php/Dockerfile dockerfile: docker/Dockerfile
target: DEVELOP target: APP_DEVELOP
depends_on: depends_on:
- db - db
- app - app
@@ -50,8 +50,8 @@ services:
scheduler: scheduler:
build: build:
context: app context: app
dockerfile: docker/php/Dockerfile dockerfile: docker/Dockerfile
target: DEVELOP target: APP_DEVELOP
depends_on: depends_on:
- db - db
- app - app
@@ -146,7 +146,7 @@ services:
artisan: artisan:
build: build:
context: app context: app
dockerfile: docker/php/Dockerfile dockerfile: docker/Dockerfile
target: ARTISAN target: ARTISAN
user: "${UID}:${GID}" user: "${UID}:${GID}"
volumes: volumes:
@@ -155,7 +155,7 @@ services:
composer: composer:
build: build:
context: app context: app
dockerfile: docker/php/Dockerfile dockerfile: docker/Dockerfile
target: COMPOSER target: COMPOSER
user: "${UID}:${GID}" user: "${UID}:${GID}"
volumes: volumes:
@@ -164,7 +164,7 @@ services:
npm: npm:
build: build:
context: app context: app
dockerfile: docker/php/Dockerfile dockerfile: docker/Dockerfile
target: NPM target: NPM
user: "${UID}:${GID}" user: "${UID}:${GID}"
volumes: volumes: