asdfasd
This commit is contained in:
commit
50773d504a
22 changed files with 126 additions and 0 deletions
60
Containerfile
Normal file
60
Containerfile
Normal file
|
@ -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"]
|
40
kimai.conf
Normal file
40
kimai.conf
Normal file
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
1
readme.md
Normal file
1
readme.md
Normal file
|
@ -0,0 +1 @@
|
||||||
|
container de [kimai](https://kimai.org/). no funciona todavía, y probablemente nunca.
|
0
s6-rc.d/kimai-install/dependencies.d/base
Normal file
0
s6-rc.d/kimai-install/dependencies.d/base
Normal file
0
s6-rc.d/kimai-install/dependencies.d/mariadb
Normal file
0
s6-rc.d/kimai-install/dependencies.d/mariadb
Normal file
10
s6-rc.d/kimai-install/script.sh
Executable file
10
s6-rc.d/kimai-install/script.sh
Executable file
|
@ -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 $?
|
||||||
|
|
1
s6-rc.d/kimai-install/type
Normal file
1
s6-rc.d/kimai-install/type
Normal file
|
@ -0,0 +1 @@
|
||||||
|
oneshot
|
2
s6-rc.d/kimai-install/up
Executable file
2
s6-rc.d/kimai-install/up
Executable file
|
@ -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
|
0
s6-rc.d/mariadb/dependencies.d/base
Normal file
0
s6-rc.d/mariadb/dependencies.d/base
Normal file
5
s6-rc.d/mariadb/run
Executable file
5
s6-rc.d/mariadb/run
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
mysql_install_db --user=mysql --datadir=/var/lib/mysql
|
||||||
|
|
||||||
|
exec /usr/bin/mysqld_safe --syslog
|
1
s6-rc.d/mariadb/type
Normal file
1
s6-rc.d/mariadb/type
Normal file
|
@ -0,0 +1 @@
|
||||||
|
longrun
|
0
s6-rc.d/nginx/dependencies.d/base
Normal file
0
s6-rc.d/nginx/dependencies.d/base
Normal file
0
s6-rc.d/nginx/dependencies.d/kimai-install
Normal file
0
s6-rc.d/nginx/dependencies.d/kimai-install
Normal file
2
s6-rc.d/nginx/run
Executable file
2
s6-rc.d/nginx/run
Executable file
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
exec nginx -g "daemon off;"
|
1
s6-rc.d/nginx/type
Normal file
1
s6-rc.d/nginx/type
Normal file
|
@ -0,0 +1 @@
|
||||||
|
longrun
|
0
s6-rc.d/php-fpm/dependencies.d/base
Normal file
0
s6-rc.d/php-fpm/dependencies.d/base
Normal file
2
s6-rc.d/php-fpm/run
Executable file
2
s6-rc.d/php-fpm/run
Executable file
|
@ -0,0 +1,2 @@
|
||||||
|
#!/bin/sh
|
||||||
|
exec php-fpm81 --nodaemonize
|
1
s6-rc.d/php-fpm/type
Normal file
1
s6-rc.d/php-fpm/type
Normal file
|
@ -0,0 +1 @@
|
||||||
|
longrun
|
0
s6-rc.d/user/contents.d/kimai-install
Normal file
0
s6-rc.d/user/contents.d/kimai-install
Normal file
0
s6-rc.d/user/contents.d/mariadb
Normal file
0
s6-rc.d/user/contents.d/mariadb
Normal file
0
s6-rc.d/user/contents.d/nginx
Normal file
0
s6-rc.d/user/contents.d/nginx
Normal file
0
s6-rc.d/user/contents.d/php-fpm
Normal file
0
s6-rc.d/user/contents.d/php-fpm
Normal file
Loading…
Reference in a new issue