mirror of
https://github.com/invoiceninja/dockerfiles.git
synced 2026-01-18 20:34:03 +01:00
72 lines
1.9 KiB
Plaintext
72 lines
1.9 KiB
Plaintext
ARG PHP_VERSION=7.3
|
|
|
|
FROM php:${PHP_VERSION}-fpm-alpine
|
|
|
|
LABEL maintainer="Samuel Laulhau <sam@lalop.co>, Holger Lösken <holger.loesken@codedge.de>"
|
|
|
|
#####
|
|
# SYSTEM REQUIREMENT
|
|
#####
|
|
ARG INVOICENINJA_VERSION
|
|
WORKDIR /var/www/app
|
|
|
|
COPY ./alpine/entrypoint_v5.sh /usr/local/bin/docker-entrypoint
|
|
RUN chmod +x /usr/local/bin/docker-entrypoint
|
|
|
|
RUN set -eux; \
|
|
apk add --no-cache \
|
|
gmp-dev \
|
|
libarchive-tools \
|
|
libzip-dev
|
|
|
|
RUN docker-php-ext-configure zip --with-libzip; \
|
|
docker-php-ext-install -j$(nproc) \
|
|
bcmath \
|
|
gmp \
|
|
mbstring \
|
|
opcache \
|
|
pdo \
|
|
pdo_mysql \
|
|
zip
|
|
|
|
COPY ./config/php/php.ini /usr/local/etc/php/php.ini
|
|
COPY ./config/php/php-cli.ini /usr/local/etc/php/php-cli.ini
|
|
|
|
# Separate user
|
|
ENV IN_USER=invoiceninja
|
|
|
|
RUN addgroup -S "$IN_USER" && \
|
|
adduser \
|
|
--disabled-password \
|
|
--gecos "" \
|
|
--home "$(pwd)" \
|
|
--ingroup "$IN_USER" \
|
|
--no-create-home \
|
|
"$IN_USER"; \
|
|
addgroup "$IN_USER" www-data; \
|
|
chown -R "$IN_USER":"$IN_USER" .
|
|
|
|
USER $IN_USER
|
|
|
|
# Download and install IN
|
|
ENV INVOICENINJA_VERSION="${INVOICENINJA_VERSION}"
|
|
|
|
RUN curl -o /tmp/ninja.zip -LJ0 https://github.com/invoiceninja/invoiceninja/tarball/v$INVOICENINJA_VERSION \
|
|
&& bsdtar --strip-components=1 -C /var/www/app -xf /tmp/ninja.zip \
|
|
&& rm /tmp/ninja.zip \
|
|
&& mv /var/www/app/storage /var/www/app/docker-backup-storage \
|
|
&& mv /var/www/app/public /var/www/app/docker-backup-public \
|
|
&& mkdir -p /var/www/app/public/logo /var/www/app/storage \
|
|
&& cp /var/www/app/.env.example /var/www/app/.env \
|
|
&& cp .env.dusk.example .env.dusk.local \
|
|
&& chmod -R 755 /var/www/app/storage \
|
|
&& rm -rf /var/www/app/docs /var/www/app/tests
|
|
|
|
# Override the environment settings from projects .env file
|
|
ENV LOG errorlog
|
|
|
|
# Use to be mounted into nginx
|
|
VOLUME /var/www/app/public
|
|
|
|
ENTRYPOINT ["docker-entrypoint"]
|
|
CMD ["php-fpm"] |