====== Kimai ======
Herramienta online autoalojable para [[informatica:software:control_del_tiempo|medir el tiempo]] (//time tracking//). Diseñada para pequeños negocios o autónomos (//freelancer//).
* [[https://www.kimai.org/|Web oficial]]
* [[https://github.com/kimai/kimai|Repositorio de código oficial]] (GitHub)
===== Instalación =====
==== Docker ====
Contenido de ''nginx_site.conf'':
server {
listen 80;
index index.php;
server_name php-docker.local;
root /opt/kimai/public;
# cache static asset files
location ~* \.(ico|css|js|gif|jpe?g|png)(\?[0-9]+)?$ {
expires max;
log_not_found off;
}
# for health checks
location /health {
return 200 'alive';
add_header Content-Type text/plain;
}
location / {
# try to serve file directly, fallback to index.php
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ ^/index\.php(/|$) {
fastcgi_pass kimai:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
# optionally set the value of the environment variables used in the application
# fastcgi_param APP_ENV prod;
# fastcgi_param APP_SECRET ;
# fastcgi_param DATABASE_URL "mysql://db_user:db_pass@host:3306/db_name";
# 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;
# Prevents URIs that include the front controller. This will 404:
# http://domain.tld/index.php/some-path
# Remove the internal directive to allow URIs like this
internal;
}
}
''docker-compose.yml'':
version: '3.3'
networks:
internal-nw:
internal: true
outside-nw:
services:
database:
image: mysql:8
container_name: kimai2_mysql
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_HOST: '%'
MYSQL_ROOT_PASSWORD: passwordtochange
MYSQL_DATABASE: kimai
MYSQL_USER: a_user
MYSQL_PASSWORD: passwordtochange
ports:
- '6306:3306'
volumes:
- kimai_database-data:/var/lib/mysql
networks:
- outside-nw
- internal-nw
restart: unless-stopped
kimai:
image: kimai/kimai2:fpm-alpine-1.10.2-prod
container_name: kimai2
environment:
APP_ENV: prod
TRUSTED_HOSTS: localhost,nginx,${HOSTNAME}
DB_TYPE: mysql
DB_TYPE: a_user
DB_PASS: passwordtochange
DB_HOST: '%'
DB_PORT: 6306
DB_BASE: kimai
ADMINPASS: cambiame
ADMINMAIL: admin@email.com
depends_on:
- database
networks:
- internal-nw
volumes:
- kimai-root:/opt/kimai
- kimai_public-data:/opt/kimai/public
restart: unless-stopped
server:
image: nginx:1.19
container_name: kimai2_nginx
ports:
- '8001:80'
- '9000:9000'
depends_on:
- kimai
volumes:
- ./nginx_site.conf:/etc/nginx/conf.d/default.conf
- kimai_public-data:/opt/kimai/public:ro
- kimai-root:/opt/kimai
networks:
- outside-nw
- internal-nw
restart: unless-stopped
postfix:
container_name: kimai2_postfix
image: catatnight/postfix:latest
environment:
maildomain: kimai.local
smtp_user: kimai:kimai
restart: unless-stopped
volumes:
kimai_database-data:
kimai-root:
kimai_public-data:
Para iniciar sesión:
* Usuario: ''admin@email.com''
* Contraseña: ''cambiame''