60 lines
2 KiB
Docker
60 lines
2 KiB
Docker
# Based on https://github.com/tobybatch/kimai2/blob/main/Dockerfile
|
|
|
|
###########################
|
|
# Shared tools
|
|
###########################
|
|
|
|
FROM docker.io/alpine:3.17
|
|
|
|
ARG S6_OVERLAY_VERSION=3.1.3.0
|
|
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp
|
|
RUN tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz
|
|
ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-x86_64.tar.xz /tmp
|
|
RUN tar -C / -Jxpf /tmp/s6-overlay-x86_64.tar.xz
|
|
|
|
RUN apk add --no-cache nginx composer tzdata \
|
|
php81 php81-fpm mariadb \
|
|
php81-gd php81-intl php81-json php81-mbstring php81-pdo php81-xsl php81-zip \
|
|
php81-tokenizer php81-xml php81-simplexml php81-fileinfo php81-xmlwriter php81-xmlreader \
|
|
php81-session \
|
|
php81-pdo_mysql
|
|
|
|
RUN \
|
|
apk add --no-cache curl bash && \
|
|
curl -sS https://get.symfony.com/cli/installer | bash
|
|
|
|
ARG KIMAI="main"
|
|
RUN \
|
|
apk add --no-cache git && \
|
|
git clone --depth 1 --branch ${KIMAI} https://github.com/kimai/kimai.git /opt/kimai && \
|
|
chown -R nobody:nobody /opt/kimai
|
|
|
|
RUN sed -i 's/memory_limit = 128M/memory_limit = 2G/' /etc/php81/php.ini
|
|
|
|
RUN cd /opt/kimai && \
|
|
composer --no-ansi install --working-dir=/opt/kimai --optimize-autoloader && \
|
|
composer --no-ansi clearcache
|
|
ENV PATH /opt/kimai/bin:$PATH
|
|
|
|
ENV KIMAI=${KIMAI}
|
|
ENV DATABASE_URL=mysql://root@localhost/kimai2?charset=utf8&serverVersion=5.7
|
|
ENV APP_ENV=prod
|
|
ENV APP_SECRET=change_this_to_something_unique
|
|
RUN echo "DATABASE_URL='${DATABASE_URL}'" > /opt/kimai/.env && \
|
|
echo "APP_ENV='${APP_ENV}'" >> /opt/kimai/.env
|
|
|
|
ARG TZ=America/Argentina/Buenos_Aires
|
|
ENV TZ=${TZ}
|
|
RUN ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone
|
|
|
|
# copy startup script & DB checking script
|
|
#COPY assets/startup.sh /startup.sh
|
|
#COPY assets/self-test.sh /self-test.sh
|
|
#COPY assets/dbtest.php /dbtest.php
|
|
|
|
ADD kimai.conf /etc/nginx/http.d/kimai.conf
|
|
RUN rm /etc/nginx/http.d/default.conf
|
|
|
|
ADD s6-rc.d /etc/s6-overlay/s6-rc.d/
|
|
|
|
ENTRYPOINT ["/init"]
|