From 50773d504ad5d823ac10323ed80a7607056220b1 Mon Sep 17 00:00:00 2001 From: Nulo Date: Thu, 2 Feb 2023 14:29:27 -0300 Subject: [PATCH] asdfasd --- Containerfile | 60 ++++++++++++++++++++ kimai.conf | 40 +++++++++++++ readme.md | 1 + s6-rc.d/kimai-install/dependencies.d/base | 0 s6-rc.d/kimai-install/dependencies.d/mariadb | 0 s6-rc.d/kimai-install/script.sh | 10 ++++ s6-rc.d/kimai-install/type | 1 + s6-rc.d/kimai-install/up | 2 + s6-rc.d/mariadb/dependencies.d/base | 0 s6-rc.d/mariadb/run | 5 ++ s6-rc.d/mariadb/type | 1 + s6-rc.d/nginx/dependencies.d/base | 0 s6-rc.d/nginx/dependencies.d/kimai-install | 0 s6-rc.d/nginx/run | 2 + s6-rc.d/nginx/type | 1 + s6-rc.d/php-fpm/dependencies.d/base | 0 s6-rc.d/php-fpm/run | 2 + s6-rc.d/php-fpm/type | 1 + s6-rc.d/user/contents.d/kimai-install | 0 s6-rc.d/user/contents.d/mariadb | 0 s6-rc.d/user/contents.d/nginx | 0 s6-rc.d/user/contents.d/php-fpm | 0 22 files changed, 126 insertions(+) create mode 100644 Containerfile create mode 100644 kimai.conf create mode 100644 readme.md create mode 100644 s6-rc.d/kimai-install/dependencies.d/base create mode 100644 s6-rc.d/kimai-install/dependencies.d/mariadb create mode 100755 s6-rc.d/kimai-install/script.sh create mode 100644 s6-rc.d/kimai-install/type create mode 100755 s6-rc.d/kimai-install/up create mode 100644 s6-rc.d/mariadb/dependencies.d/base create mode 100755 s6-rc.d/mariadb/run create mode 100644 s6-rc.d/mariadb/type create mode 100644 s6-rc.d/nginx/dependencies.d/base create mode 100644 s6-rc.d/nginx/dependencies.d/kimai-install create mode 100755 s6-rc.d/nginx/run create mode 100644 s6-rc.d/nginx/type create mode 100644 s6-rc.d/php-fpm/dependencies.d/base create mode 100755 s6-rc.d/php-fpm/run create mode 100644 s6-rc.d/php-fpm/type create mode 100644 s6-rc.d/user/contents.d/kimai-install create mode 100644 s6-rc.d/user/contents.d/mariadb create mode 100644 s6-rc.d/user/contents.d/nginx create mode 100644 s6-rc.d/user/contents.d/php-fpm diff --git a/Containerfile b/Containerfile new file mode 100644 index 0000000..8bfcc91 --- /dev/null +++ b/Containerfile @@ -0,0 +1,60 @@ +# 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"] diff --git a/kimai.conf b/kimai.conf new file mode 100644 index 0000000..87e19c4 --- /dev/null +++ b/kimai.conf @@ -0,0 +1,40 @@ +# https://www.kimai.org/documentation/webserver-configuration.html +server { + listen 80; + root /opt/kimai/public; + index index.php; + + access_log off; + log_not_found off; + + location ~ /\.ht { + deny all; + } + + location / { + try_files $uri /index.php$is_args$args; + } + + location ~ ^/index\.php(/|$) { + fastcgi_pass 127.0.0.1:9000; + fastcgi_split_path_info ^(.+\.php)(/.*)$; + include fastcgi_params; + # You can use the document root directly: + # fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + + # But this is not working in every situation. When you are using symlinks to link the document + # root to the current version of your application, you should pass the real + # application path instead of the path to the symlink to PHP FPM. + # Otherwise, PHP's OPcache may not properly detect changes to your PHP files + # (see https://github.com/zendtech/ZendOptimizerPlus/issues/126 for more information). + fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; + fastcgi_param DOCUMENT_ROOT $realpath_root; + # Activate this if you run Kimai alone or inside a VirtualHost, otherwise this example might break other PHP apps + # fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/..:/tmp/"; + internal; + } + + location ~ \.php$ { + return 404; + } +} \ No newline at end of file diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..53e7e2a --- /dev/null +++ b/readme.md @@ -0,0 +1 @@ +container de [kimai](https://kimai.org/). no funciona todavĂ­a, y probablemente nunca. diff --git a/s6-rc.d/kimai-install/dependencies.d/base b/s6-rc.d/kimai-install/dependencies.d/base new file mode 100644 index 0000000..e69de29 diff --git a/s6-rc.d/kimai-install/dependencies.d/mariadb b/s6-rc.d/kimai-install/dependencies.d/mariadb new file mode 100644 index 0000000..e69de29 diff --git a/s6-rc.d/kimai-install/script.sh b/s6-rc.d/kimai-install/script.sh new file mode 100755 index 0000000..af4a7ce --- /dev/null +++ b/s6-rc.d/kimai-install/script.sh @@ -0,0 +1,10 @@ +#!/bin/sh +while test ! -S /run/mysqld/mysqld.sock; do sleep 1; done +if test "$APP_SECRET" = change_this_to_something_unique; then + echo "No APP_SECRET" + exit 1 +fi +echo "APP_SECRET='$APP_SECRET'" >> /opt/kimai/.env +su nobody -c 'console kimai:install --no-interaction' || exit $? +su nobody -c 'console kimai:update --no-interaction' || exit $? + diff --git a/s6-rc.d/kimai-install/type b/s6-rc.d/kimai-install/type new file mode 100644 index 0000000..bdd22a1 --- /dev/null +++ b/s6-rc.d/kimai-install/type @@ -0,0 +1 @@ +oneshot diff --git a/s6-rc.d/kimai-install/up b/s6-rc.d/kimai-install/up new file mode 100755 index 0000000..68f4ece --- /dev/null +++ b/s6-rc.d/kimai-install/up @@ -0,0 +1,2 @@ +foreground { echo "Calling /etc/s6-overlay/s6-rc.d/kimai-install/script.sh..." } +/etc/s6-overlay/s6-rc.d/kimai-install/script.sh \ No newline at end of file diff --git a/s6-rc.d/mariadb/dependencies.d/base b/s6-rc.d/mariadb/dependencies.d/base new file mode 100644 index 0000000..e69de29 diff --git a/s6-rc.d/mariadb/run b/s6-rc.d/mariadb/run new file mode 100755 index 0000000..c4875a5 --- /dev/null +++ b/s6-rc.d/mariadb/run @@ -0,0 +1,5 @@ +#!/bin/sh + +mysql_install_db --user=mysql --datadir=/var/lib/mysql + +exec /usr/bin/mysqld_safe --syslog diff --git a/s6-rc.d/mariadb/type b/s6-rc.d/mariadb/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/s6-rc.d/mariadb/type @@ -0,0 +1 @@ +longrun diff --git a/s6-rc.d/nginx/dependencies.d/base b/s6-rc.d/nginx/dependencies.d/base new file mode 100644 index 0000000..e69de29 diff --git a/s6-rc.d/nginx/dependencies.d/kimai-install b/s6-rc.d/nginx/dependencies.d/kimai-install new file mode 100644 index 0000000..e69de29 diff --git a/s6-rc.d/nginx/run b/s6-rc.d/nginx/run new file mode 100755 index 0000000..d3d45d0 --- /dev/null +++ b/s6-rc.d/nginx/run @@ -0,0 +1,2 @@ +#!/bin/sh +exec nginx -g "daemon off;" diff --git a/s6-rc.d/nginx/type b/s6-rc.d/nginx/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/s6-rc.d/nginx/type @@ -0,0 +1 @@ +longrun diff --git a/s6-rc.d/php-fpm/dependencies.d/base b/s6-rc.d/php-fpm/dependencies.d/base new file mode 100644 index 0000000..e69de29 diff --git a/s6-rc.d/php-fpm/run b/s6-rc.d/php-fpm/run new file mode 100755 index 0000000..6946083 --- /dev/null +++ b/s6-rc.d/php-fpm/run @@ -0,0 +1,2 @@ +#!/bin/sh +exec php-fpm81 --nodaemonize diff --git a/s6-rc.d/php-fpm/type b/s6-rc.d/php-fpm/type new file mode 100644 index 0000000..5883cff --- /dev/null +++ b/s6-rc.d/php-fpm/type @@ -0,0 +1 @@ +longrun diff --git a/s6-rc.d/user/contents.d/kimai-install b/s6-rc.d/user/contents.d/kimai-install new file mode 100644 index 0000000..e69de29 diff --git a/s6-rc.d/user/contents.d/mariadb b/s6-rc.d/user/contents.d/mariadb new file mode 100644 index 0000000..e69de29 diff --git a/s6-rc.d/user/contents.d/nginx b/s6-rc.d/user/contents.d/nginx new file mode 100644 index 0000000..e69de29 diff --git a/s6-rc.d/user/contents.d/php-fpm b/s6-rc.d/user/contents.d/php-fpm new file mode 100644 index 0000000..e69de29