-
Notifications
You must be signed in to change notification settings - Fork 44
/
Copy pathDockerfile
82 lines (68 loc) · 2.64 KB
/
Dockerfile
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
76
77
78
79
80
81
82
FROM php:8.1-alpine3.17 AS build-env
LABEL owner="Giancarlos Salas"
LABEL maintainer="[email protected]"
WORKDIR /app
ENV APP_ENV prod
ENV COMPOSER_ALLOW_SUPERUSER=1
# Install php dev dependencies
RUN apk add --no-cache \
git \
unzip \
curl \
libxml2-dev
# Install php extensions
RUN docker-php-ext-install soap && \
docker-php-ext-configure opcache --enable-opcache && \
docker-php-ext-install opcache && \
docker-php-ext-install pcntl
COPY . .
# Install Packages
RUN curl --silent --show-error -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer && \
composer install --no-interaction --no-dev --no-autoloader --no-scripts --no-progress --ignore-platform-reqs && \
composer require php-pm/php-pm php-pm/httpkernel-adapter --update-no-dev --no-scripts --no-progress --ignore-platform-reqs --with-all-dependencies && \
composer dump-autoload --optimize --no-dev --classmap-authoritative && \
composer dump-env prod --empty && \
find -type f -name '*.md' -delete;
# twig have Test as src code
# find -name "[Tt]est*" -type d -exec rm -rf {} +
FROM surnet/alpine-wkhtmltopdf:3.17.0-0.12.6-small as pdf-bin
FROM php:8.1-alpine3.17
EXPOSE 8000
WORKDIR /var/www/html
ENV APP_ENV prod
ENV APP_SECRET c4136a0540553455b122461ab6923e9d
ENV WKHTMLTOPDF_PATH wkhtmltopdf
ENV CLIENT_TOKEN 123456
ENV SOL_USER 20161515648MODDATOS
ENV SOL_PASS MODDATOS
ENV CORS_ALLOW_ORIGIN .
ENV FE_URL https://e-beta.sunat.gob.pe/ol-ti-itcpfegem-beta/billService
ENV RE_URL https://e-beta.sunat.gob.pe/ol-ti-itemision-otroscpe-gem-beta/billService
ENV GUIA_URL https://e-beta.sunat.gob.pe/ol-ti-itemision-guia-gem-beta/billService
ENV AUTH_URL https://gre-test.nubefact.com/v1
ENV API_URL https://gre-test.nubefact.com/v1
ENV CLIENT_ID test-85e5b0ae-255c-4891-a595-0b98c65c9854
ENV CLIENT_SECRET test-Hty/M6QshYvPgItX2P0+Kw==
ENV TRUSTED_PROXIES="127.0.0.1,REMOTE_ADDR"
ARG PHP_EXT_DIR=/usr/local/lib/php/extensions/no-debug-non-zts-20210902
# Install wkhtmltopdf deps
RUN apk update && apk add --no-cache \
libstdc++ \
libx11 \
libxrender \
libxext \
libssl1.1 \
ca-certificates \
fontconfig \
freetype \
ttf-droid
COPY --from=build-env $PHP_EXT_DIR $PHP_EXT_DIR
COPY --from=build-env $PHP_INI_DIR/conf.d/ $PHP_INI_DIR/conf.d/
COPY --from=build-env /app .
COPY --from=pdf-bin /bin/wkhtmltopdf /usr/bin/
COPY docker/config/* $PHP_INI_DIR/conf.d/
COPY docker/docker-entrypoint.sh .
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini" && \
php bin/console cache:clear && \
chmod -R 755 ./data
ENTRYPOINT ["sh", "./docker-entrypoint.sh"]