Deliver kimai as complete stack.

This commit is contained in:
2022-02-22 14:13:24 +01:00
parent dc591f98fe
commit 9d7ccb3ee0
5 changed files with 83 additions and 53 deletions

View File

@@ -1,49 +0,0 @@
version: "3.9"
volumes:
kimai:
name: kimai
kimai-var:
name: kimai-var
networks:
proxy:
external: true
internal:
external: true
services:
nginx-kimai:
image: nginx:alpine
container_name: nginx-kimai
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.kimai.entrypoints=web"
- "traefik.http.routers.kimai.rule=Host(`kimai.lan`)"
- "traefik.http.services.kimai.loadbalancer.server.port=80"
depends_on:
- kimai
networks:
- proxy
- internal
volumes:
- kimai:/opt/kimai/public:ro
- ${PWD}/kimai.conf:/etc/nginx/conf.d/default.conf
kimai:
image: kimai/kimai2
container_name: kimai
restart: unless-stopped
environment:
- ADMINMAIL=christiansteinle@arcor.de
- ADMINPASS=ZovJdPamHwSNCGTcOPDb
- DATABASE_URL=mysql://kimai:xXW5dnQoMpAmdXrQgUgU@mysql8/kimai
- TRUSTED_HOSTS=kimai.lan
- APP_SECRET=gwot394*Gt
networks:
- internal
volumes:
- kimai:/opt/kimai/public
- kimai-var:/opt/kimai/var

9
kimai/.env Normal file
View File

@@ -0,0 +1,9 @@
ADMIN_USER=christiansteinle@arcor.de
ADMIN_PASS=ZovJdPamHwSNCGTcOPDb
APP_SECRET=gwot394*Gt
DB_USER=kimai
DB_NAME=kimai
DB_PASS=xXW5dnQoMpAmdXrQgUgU

74
kimai/docker-compose.yaml Normal file
View File

@@ -0,0 +1,74 @@
version: "3.9"
volumes:
kimai:
name: kimai
kimai-var:
name: kimai-var
kimai-db:
name: kimai-db
networks:
proxy:
external: true
kimai:
name: kimai
external: false
services:
kimai:
image: kimai/kimai2
container_name: kimai
hostname: kimai
restart: unless-stopped
environment:
ADMINMAIL: ${ADMIN_USER}
ADMINPASS: ${ADMIN_PASS}
DATABASE_URL: mysql://${DB_USER}:${DB_PASS}@kimai-db/${DB_NAME}
TRUSTED_HOSTS: kimai.lan
APP_SECRET: ${APP_SECRET}
depends_on:
- kimai-db
networks:
- kimai
volumes:
- kimai:/opt/kimai/public
- kimai-var:/opt/kimai/var
kimai-web:
image: nginx:alpine
container_name: kimai-web
hostname: kimai-web
restart: unless-stopped
labels:
- "traefik.enable=true"
- "traefik.http.routers.kimai.entrypoints=web"
- "traefik.http.routers.kimai.rule=Host(`kimai.lan`)"
- "traefik.http.services.kimai.loadbalancer.server.port=80"
depends_on:
- kimai
networks:
- proxy
- kimai
volumes:
- kimai:/opt/kimai/public:ro
- ${PWD}/kimai.conf:/etc/nginx/conf.d/default.conf
kimai-db:
image: mysql:8
container_name: kimai-db
hostname: kimai-db
command: --default-authentication-plugin=mysql_native_password
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${DB_PASS}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASS}
MYSQL_DATABASE: ${DB_NAME}
volumes:
- kimai-db:/var/lib/mysql
networks:
- kimai
healthcheck:
test: ["CMD-SHELL", "mysqladmin ping -u$${DB_USER} -p$$(DB_PASS)"]

View File

@@ -1,10 +1,6 @@
# create the databases
CREATE DATABASE IF NOT EXISTS `kimai`;
CREATE DATABASE IF NOT EXISTS `semaphore`;
# create users and privileges
CREATE USER 'kimai'@'%' IDENTIFIED BY 'xXW5dnQoMpAmdXrQgUgU';
GRANT ALL PRIVILEGES ON kimai.* TO 'kimai'@'%';
CREATE USER 'semaphore'@'%' IDENTIFIED BY 'Zk5FM#*9uAFzt6n6TGD!';
GRANT ALL PRIVILEGES ON semaphore.* TO 'semaphore'@'%';