Compare commits
3
Commits
136451dc5a
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
4cdf11be3d
|
||
|
|
0fc181bf12
|
||
|
|
059d2b9d66
|
@@ -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"]
|
||||||
@@ -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"]
|
|
||||||
@@ -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
|
||||||
|
|||||||
@@ -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
@@ -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:
|
||||||
|
|||||||
Reference in New Issue
Block a user