48 lines
1.4 KiB
Docker
48 lines
1.4 KiB
Docker
FROM php:8.0-apache AS base
|
|
|
|
ENV FLYSPRAY /var/www/flyspray
|
|
|
|
WORKDIR $FLYSPRAY
|
|
|
|
RUN apt-get update -y && \
|
|
apt-get upgrade -y && \
|
|
apt-get install -y graphviz libfreetype6-dev libjpeg-dev zlib1g-dev && \
|
|
apt-get clean && \
|
|
rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN docker-php-ext-configure gd --with-freetype --with-jpeg && \
|
|
docker-php-ext-install -j$(nproc) exif gd mysqli
|
|
|
|
ENV APACHE_DOCUMENT_ROOT $FLYSPRAY
|
|
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf && \
|
|
sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf
|
|
|
|
|
|
# The base target can be used for development also
|
|
# Run `docker build --target dev --tag flyspray:base` to build the base image`
|
|
# You can use this as part of a docker-compose setup to develop the flyspray application
|
|
FROM base AS dev
|
|
|
|
RUN mv "$PHP_INI_DIR/php.ini-development" "$PHP_INI_DIR/php.ini"
|
|
|
|
|
|
FROM composer:2.5.1 AS build
|
|
|
|
ARG flyspray_src=https://github.com/flyspray/flyspray.git
|
|
ARG flyspray_branch=master
|
|
|
|
# Only do a shallow clone
|
|
RUN git clone --depth 1 "$flyspray_src" --branch "$flyspray_branch" . && rm -rf .git
|
|
|
|
RUN composer install --ignore-platform-reqs --no-dev --optimize-autoloader
|
|
|
|
|
|
FROM base AS final
|
|
|
|
RUN mv "$PHP_INI_DIR/php.ini-production" "$PHP_INI_DIR/php.ini"
|
|
|
|
COPY --from=build --chown=www-data:www-data /app "$FLYSPRAY"
|
|
|
|
VOLUME $FLYSPRAY
|
|
EXPOSE 80 443
|