-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
75 lines (55 loc) · 1.41 KB
/
Dockerfile
File metadata and controls
75 lines (55 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
FROM php:8.4-fpm-alpine
ARG dir="/var/www/"
ENV BUILD_ENV="prod"
ENV COMPOSER_ALLOW_SUPERUSER=1
ENV TZ="UTC"
ENV INCLUDE_EXAMPLES="false"
ENV BASE_PKG="gnupg tzdata nodejs npm" \
PHP_PKG="zlib-dev icu-dev libzip-dev"
RUN apk add --update --no-cache \
$BASE_PKG \
$PHP_PKG
RUN npm i -g yarn
RUN docker-php-ext-install intl \
&& docker-php-ext-install zip \
&& docker-php-ext-install pdo_mysql
RUN mkdir -p $dir
WORKDIR $dir
COPY .docker/php/bin bin/
RUN bin/composer-install.sh
RUN mv composer.phar /usr/local/bin/composer
# PROJECT
RUN chmod +x bin/entrypoint.sh
COPY composer.* ./
COPY webpack.config.js ./
COPY package.json ./
COPY yarn.lock ./
COPY assets assets/
COPY config config/
COPY public public/
COPY src src/
COPY templates templates/
COPY user user/
COPY .env* ./
RUN mkdir -p var/cache \
&& mkdir -p var/logs \
&& mkdir vendor/ \
&& mkdir -p .cache/yarn \
&& mkdir node_modules \
&& mkdir -p public/media \
&& mkdir -p public/build \
&& chown -R www-data: var/ \
&& chown -R www-data: vendor \
&& chown -R www-data: node_modules \
&& chown -R www-data: .cache/yarn \
&& chown -R www-data: public/build \
&& chown -R www-data: public/media \
;
USER www-data:
RUN bin/composer.sh $BUILD_ENV
RUN yarn install
USER root
WORKDIR $dir/public
# PHP-FPM runs as www-data by default
ENTRYPOINT ["/var/www/bin/entrypoint.sh"]
CMD ["php-fpm", "-F"]