diff --git a/config/nginx/nginx.conf b/config/nginx/nginx.conf index ffb62d6..7cef3f9 100644 --- a/config/nginx/nginx.conf +++ b/config/nginx/nginx.conf @@ -177,6 +177,39 @@ http { } } + ### KIMAI ### + + upstream kimai { + server kimai:8001; + } + + server { + listen 80; + server_name kimai.spanskiduh.xyz; + access_log /logs/kimai.log custom_log; + + location /.well-known/acme-challenge/ { + root /var/www/certbot; + } + + location / { + return 301 https://kimai.spanskiduh.xyz$request_uri; + } + } + + server { + listen 443 ssl http2; + server_name kimai.spanskiduh.xyz; + + ssl_certificate /etc/letsencrypt/live/kimai.spanskiduh.xyz/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/kimai.spanskiduh.xyz/privkey.pem; + + + location / { + proxy_pass "http://kimai/"; + } + } + ### GLADYS ASSISTANT ### upstream gladys { diff --git a/docker-compose.yml b/docker-compose.yml index 1a81888..6684d3a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -17,6 +17,8 @@ networks: name: autism_app_network gladys_network: name: gladys_network + kimai_network: + name: kimai_network services: @@ -36,6 +38,8 @@ services: - nextcloud_db - autism_app - gladys + - kimai + - kimai_db ports: - 80:80 - 443:443 @@ -52,6 +56,7 @@ services: - nextcloud - autism_app_network - gladys_network + - kimai_network certbot: image: certbot/certbot:latest @@ -151,6 +156,44 @@ services: networks: - nextcloud + kimai: + image: kimai/kimai2:apache-debian-master-prod + container_name: kimai + restart: unless-stopped + environment: + - APP_ENV=prod + - TRUSTED_HOSTS=localhost,${KIMAI_HOSTNAME} + - ADMINMAIL=${KIMAI_ADMIN_EMAIL} + - ADMINPASS=${KIMAI_ADMIN_PASSWORD} + - DATABASE_URL=mysql://kimai:${KIMAI_MARIADB_PASSWORD}@kimai_db/kimai + volumes: + - ${DOCKER_DATA_DIR}/kimai:/opt/kimai/var + depends_on: + - kimai_db + networks: + - kimai_network + + kimai_db: + image: mariadb:latest + container_name: kimai_db + restart: unless-stopped + environment: + - MYSQL_DATABASE=kimai + - MYSQL_USER=kimai + - MYSQL_PASSWORD=${KIMAI_MARIADB_PASSWORD} + - MYSQL_ROOT_PASSWORD=${KIMAI_MARIADB_ROOT_PASSWORD} + volumes: + - ${DOCKER_DATA_DIR}/kimai_db:/var/lib/mysql + command: --default-storage-engine innodb + healthcheck: + test: mysqladmin -p${KIMAI_MARIADB_ROOT_PASSWORD} ping -h localhost + interval: 20s + start_period: 10s + timeout: 10s + retries: 3 + networks: + - kimai_network + # # HOME-AUTOMATION SERVICES #