forked from mapasculturais/mapasculturais
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathDockerfile
71 lines (63 loc) · 2.6 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
ARG ARCH=
FROM ${ARCH}php:8.2-fpm
ENV PNPM_HOME=/root/.local/share/pnpm
ENV PATH=$PATH:/root/.local/share/pnpm
ENV COMPOSER_ALLOW_SUPERUSER=1
# Copy source
COPY composer.json /var/www/composer.json
COPY composer.lock /var/www/composer.lock
COPY config /var/www/config
COPY public /var/www/html
COPY scripts /var/www/scripts
COPY src /var/www/src
COPY var /var/www/var
COPY app /var/www/app
COPY docker/common/config.d /var/www/config/common.d
COPY docker/production/config.d /var/www/config/prod.d
COPY docker/recreate-pending-pcache-cron.sh /recreate-pending-pcache-cron.sh
COPY docker/jobs-cron.sh /jobs-cron.sh
COPY docker/entrypoint.sh /entrypoint.sh
COPY version.txt /var/www/version.txt
RUN apt-get update && apt-get install -y --no-install-recommends \
imagemagick libmagickcore-dev git libmagickwand-dev \
libcurl4-gnutls-dev libpq-dev libfreetype6-dev libjpeg62-turbo-dev libpng-dev libzip-dev libzstd1 && \
# Instalação do node
curl -sL https://deb.nodesource.com/setup_18.x | bash - && \
apt-get install -y nodejs && \
## Instalação das extensões do node
npm install -g pnpm terser uglifycss autoprefixer postcss sass && \
# Install extensions
docker-php-ext-install -j$(nproc) opcache pdo_pgsql zip xml curl opcache && \
# Install GD
docker-php-ext-install -j$(nproc) iconv && \
docker-php-ext-configure gd --with-jpeg && \
docker-php-ext-install -j$(nproc) gd && \
# Install APCu
no | pecl install apcu && echo "extension=apcu.so" > /usr/local/etc/php/conf.d/apcu.ini && \
# Install imagick
autodetect | pecl install imagick && echo "extension=imagick.so" > /usr/local/etc/php/conf.d/ext-imagick.ini && \
# Install igbinary
pecl install igbinary && docker-php-ext-enable igbinary && \
# Install msgpack
yes | pecl install msgpack && echo "extension=msgpack.so" > /usr/local/etc/php/conf.d/msgpack.ini && \
# Install redis
no | pecl install -o -f redis && docker-php-ext-enable redis && \
# Install composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
php composer-setup.php --install-dir=/usr/local/bin && \
rm composer-setup.php && \
#Execução do composer
cd /var/www && composer.phar install && \
# Instalação dos pacotes node
cd /var/www/src && pnpm install --recursive && pnpm run build && \
sass themes/BaseV1/assets/css/sass/main.scss:themes/BaseV1/assets/css/main.css && \
# alteração das permissões
mkdir -p /var/www/var/DoctrineProxies && \
ln -s /var/www/html /var/www/public && \
chown www-data:www-data -R /var/www && \
# Limpeza do apt
rm -rf /var/lib/apt/lists
WORKDIR /var/www
ENTRYPOINT ["/entrypoint.sh"]
EXPOSE 9000
CMD ["php-fpm"]