Docker improvements (#5093)
This commit is contained in:
29
Dockerfile
29
Dockerfile
@@ -4,11 +4,18 @@
|
||||
# | . \| | | | | | | (_| | |
|
||||
# |_|\_\_|_| |_| |_|\__,_|_|
|
||||
#
|
||||
# Kimai images for:
|
||||
# - plain PHP FPM
|
||||
# - Apache with PHP
|
||||
# ---------------------------------------------------------------------
|
||||
# For local testing by maintainer:
|
||||
#
|
||||
# docker build -t kimai-local-fpm --build-arg BASE=fpm .
|
||||
# docker build -t kimai-local-apache --build-arg BASE=apache .
|
||||
# ---------------------------------------------------------------------
|
||||
|
||||
# Source base [fpm/apache]
|
||||
ARG BASE="fpm"
|
||||
ARG PHP_VER="8.2"
|
||||
ARG COMPOSER_VER="latest"
|
||||
# Branch name
|
||||
ARG KIMAI="main"
|
||||
# Timezone for images
|
||||
@@ -31,9 +38,10 @@ FROM git-dev AS git-prod
|
||||
WORKDIR /opt/kimai
|
||||
RUN rm -r tests
|
||||
|
||||
|
||||
# FPM base
|
||||
FROM kimai/kimai-base:fpm AS fpm-base
|
||||
RUN sed -i "s/;ping.path/ping.path/g" /usr/local/etc/php-fpm.d/www.conf && \
|
||||
sed -i "s/;access.suppress_path\[\] = \/ping/access.suppress_path\[\] = \/ping/g" /usr/local/etc/php-fpm.d/www.conf
|
||||
|
||||
# Apache base
|
||||
FROM kimai/kimai-base:apache AS apache-base
|
||||
@@ -65,12 +73,10 @@ RUN ln -snf /usr/share/zoneinfo/${TIMEZONE} /etc/localtime && echo ${TIMEZONE} >
|
||||
chown -R www-data:www-data /composer
|
||||
|
||||
# copy startup script & DB checking script
|
||||
COPY .docker/startup.sh /startup.sh
|
||||
COPY .docker/service.sh /service.sh
|
||||
COPY .docker/self-test.sh /self-test.sh
|
||||
COPY .docker/dbtest.php /dbtest.php
|
||||
COPY .docker/startup.sh /startup.sh
|
||||
|
||||
ENV DATABASE_URL="mysql://kimai:kimai@127.0.0.1:3306/kimai?charset=utf8mb4&serverVersion=5.7.40"
|
||||
ENV DATABASE_URL="mysql://kimai:kimai@127.0.0.1:3306/kimai?charset=utf8mb4&serverVersion=8.3"
|
||||
ENV APP_SECRET=change_this_to_something_unique
|
||||
# The default container name for nginx is nginx
|
||||
ENV TRUSTED_PROXIES=nginx,localhost,127.0.0.1
|
||||
@@ -89,12 +95,11 @@ VOLUME [ "/opt/kimai/var" ]
|
||||
|
||||
CMD [ "/startup.sh" ]
|
||||
|
||||
|
||||
###########################
|
||||
# final builds
|
||||
###########################
|
||||
|
||||
# developement build
|
||||
# development build
|
||||
FROM base AS dev
|
||||
# copy kimai develop source
|
||||
COPY --from=git-dev --chown=www-data:www-data /opt/kimai /opt/kimai
|
||||
@@ -111,11 +116,10 @@ RUN \
|
||||
mkdir -p /opt/kimai/var/logs && chmod 777 /opt/kimai/var/logs && \
|
||||
sed "s/128M/-1/g" /usr/local/etc/php/php.ini-development > /opt/kimai/php-cli.ini && \
|
||||
sed -i "s/env php/env -S php -c \/opt\/kimai\/php-cli.ini/g" /opt/kimai/bin/console && \
|
||||
tar -C /opt/kimai -zcvf /var/tmp/public.tgz public && \
|
||||
/opt/kimai/bin/console kimai:version | awk '{print $2}' > /opt/kimai/version.txt
|
||||
ENV APP_ENV=dev
|
||||
ENV DATABASE_URL=
|
||||
ENV memory_limit=256M
|
||||
ENV memory_limit=512M
|
||||
|
||||
# production build
|
||||
FROM base AS prod
|
||||
@@ -139,8 +143,7 @@ RUN \
|
||||
mkdir -p /opt/kimai/var/logs && chmod 777 /opt/kimai/var/logs && \
|
||||
sed "s/128M/-1/g" /usr/local/etc/php/php.ini-development > /opt/kimai/php-cli.ini && \
|
||||
chown -R www-data:www-data /opt/kimai /usr/local/etc/php/php.ini && \
|
||||
tar -C /opt/kimai -zcvf /var/tmp/public.tgz public && \
|
||||
/opt/kimai/bin/console kimai:version | awk '{print $2}' > /opt/kimai/version.txt
|
||||
ENV APP_ENV=prod
|
||||
ENV DATABASE_URL=
|
||||
ENV memory_limit=256M
|
||||
ENV memory_limit=512M
|
||||
|
||||
Reference in New Issue
Block a user