random-web-tools/Dockerfile
stuzer05 ed38c8ed64
All checks were successful
build docker image / docker-build (push) Successful in 1m38s
Add docker deployment
2024-11-04 17:20:43 +02:00

96 lines
1.9 KiB
Docker

FROM php:8.3-fpm
# build arguments
ARG APP_URL http://localhost
# Update to Debian Trixie
RUN cat <<EOF >> /etc/apt/sources.list
deb http://deb.debian.org/debian trixie main contrib non-free
deb http://deb.debian.org/debian trixie-updates main contrib non-free
deb http://security.debian.org/debian-security trixie-security main contrib non-free
EOF
# Install system dependencies
RUN apt-get update && \
apt-get upgrade -y
# Install apps
RUN apt-get install -y --no-install-recommends \
nginx \
rsyslog \
supervisor \
curl \
wget \
npm \
nano \
cmake \
gettext \
unzip
# Install PHP dependencies
RUN apt-get install -y --no-install-recommends \
libzip-dev \
libfreetype6=2.12.1+dfsg-5+deb12u3 \
libfreetype-dev=2.12.1+dfsg-5+deb12u3 \
libpng-dev \
libjpeg62-turbo-dev \
libwebp-dev \
libmcrypt-dev \
libbz2-dev \
libcurl4-openssl-dev \
libtidy-dev \
libxslt-dev \
libonig-dev \
libc-client-dev \
libpq-dev \
libkrb5-dev \
libsqlite3-dev \
freetds-dev \
freetds-bin
# Cleanup APT
RUN rm -rf \
/var/lib/apt/lists/* \
/usr/share/man/* \
/usr/share/doc/* \
/etc/nginx/sites-enabled
# Install PHP extensions
RUN docker-php-ext-install \
mbstring \
xml \
dom \
zip \
intl \
gd \
curl \
calendar \
pdo_sqlite \
bcmath
# Configure PHP
RUN cp /usr/local/etc/php/php.ini-production /usr/local/etc/php/php.ini
# Install Node.js
RUN npm install -g n && n 18
# Apply configs
COPY ./docker/conf/* /
# Configure project
WORKDIR /tmp
# Install project
COPY . .
RUN npm install \
&& npm run build \
&& chown www-data:www-data . -R \
&& mv /tmp/dist/* /tmp/api /var/www/html
WORKDIR /var/www/html
COPY ./entrypoint.sh /
CMD ["/bin/bash", "/entrypoint.sh"]