diff --git a/docker-compose.yml b/docker-compose.yml index 7b359bc..8bc4d5e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,18 +1,18 @@ version: "3.5" services: kimai: - container_name: kimai + container_name: ${KIMAI_CONTAINER_NAME:-kimai} image: kimai/kimai2:${KIMAI_VERSION:-apache} restart: unless-stopped ports: - ${KIMAI_HOST_IP_ADDRESS:-127.0.0.1}:${KIMAI_HOST_PORT:-8001}:8001 environment: - ADMINMAIL: ${KIMAI_ADMIN_MAIL:-admin@kimai.local} - ADMINPASS: ${KIMAI_ADMIN_PASSWORD:-password} + ADMINMAIL: ${KIMAI_SUPERADMIN_MAIL:-admin@kimai.local} + ADMINPASS: ${KIMAI_SUPERADMIN_PASSWORD:-password} DB_TYPE: mysql DB_HOST: ${KIMAI_DB_HOST:?err} DB_PORT: ${KIMAI_DB_PORT:?err} DB_BASE: ${KIMAI_DB_NAME:?err} DB_USER: ${KIMAI_DB_USER:?err} DB_PASS: ${KIMAI_DB_PASSWORD:?err} - TRUSTED_HOSTS: localhost,127.0.0.1 + TRUSTED_HOSTS: localhost,127.0.0.1,${KIMAI_HOST_IP_ADDRESS:-127.0.0.1} diff --git a/setup b/setup index ee50441..2bd2693 100755 --- a/setup +++ b/setup @@ -15,11 +15,12 @@ echo "" CONFIG_EXISTS="false" KEEP_CONFIG="" +KIMAI_CONTAINER_NAME="kimai_$(date +'%y%m%d')" KIMAI_VERSION="" KIMAI_HOST_IP_ADDRESS="" KIMAI_HOST_PORT="" -KIMAI_ADMIN_MAIL="" -KIMAI_ADMIN_PASSWORD="" +KIMAI_SUPERADMIN_MAIL="" +KIMAI_SUPERADMIN_PASSWORD="" KIMAI_DB_HOST="" KIMAI_DB_PORT="" KIMAI_DB_NAME="" @@ -35,8 +36,8 @@ if [ $CONFIG_EXISTS == "false" ] || [ $KEEP_CONFIG == "n" ]; then read -p "Enter kimai version which should be used: " KIMAI_VERSION read -p "Enter host (vm) ip address on which kimai should be accessible: " KIMAI_HOST_IP_ADDRESS read -p "Enter host (vm) port on which kimai should be accessible: " KIMAI_HOST_PORT - read -p "Enter admin mail address for kimai: " KIMAI_ADMIN_MAIL - read -p "Enter admin password for kimai: " KIMAI_ADMIN_PASSWORD + read -p "Enter superadmin mail address for kimai: " KIMAI_SUPERADMIN_MAIL + read -p "Enter superadmin password for kimai: " KIMAI_SUPERADMIN_PASSWORD read -p "Enter database host for kimai: " KIMAI_DB_HOST read -p "Enter database port for kimai: " KIMAI_DB_PORT read -p "Enter database name for kimai: " KIMAI_DB_NAME @@ -45,11 +46,12 @@ if [ $CONFIG_EXISTS == "false" ] || [ $KEEP_CONFIG == "n" ]; then rm -f .env touch .env + echo "KIMAI_CONTAINER_NAME="$KIMAI_CONTAINER_NAME >> .env echo "KIMAI_VERSION="$KIMAI_VERSION >> .env echo "KIMAI_HOST_IP_ADDRESS="$KIMAI_HOST_IP_ADDRESS >> .env echo "KIMAI_HOST_PORT="$KIMAI_HOST_PORT >> .env - echo "KIMAI_ADMIN_MAIL="$KIMAI_ADMIN_MAIL >> .env - echo "KIMAI_ADMIN_PASSWORD="$KIMAI_ADMIN_PASSWORD >> .env + echo "KIMAI_SUPERADMIN_MAIL="$KIMAI_SUPERADMIN_MAIL >> .env + echo "KIMAI_SUPERADMIN_PASSWORD="$KIMAI_SUPERADMIN_PASSWORD >> .env echo "KIMAI_DB_HOST="$KIMAI_DB_HOST >> .env echo "KIMAI_DB_PORT="$KIMAI_DB_PORT >> .env echo "KIMAI_DB_NAME="$KIMAI_DB_NAME >> .env @@ -65,9 +67,38 @@ read -p "Should the config file '.env' be deleted after creating the container? docker-compose up -d -echo "Wait a few seconds for the container to spin up ..." +echo -n "Wait until container is running ..." -sleep 5 +while [ "`docker inspect -f {{.State.Running}} $KIMAI_CONTAINER_NAME`" != "true" ]; do + echo -n "." + sleep 1 +done + +echo -e "\nContainer is running!" + +echo "Create 'local.yaml' file and restart container." + +rm -f tmp +touch tmp +echo "kimai:" >> tmp +echo " user:" >> tmp +echo " registration: false" >> tmp +echo " password_reset: false" >> tmp + +docker exec -i $KIMAI_CONTAINER_NAME dd of=/opt/kimai/config/packages/local.yaml < tmp + +rm -f tmp + +docker restart $KIMAI_CONTAINER_NAME + +echo -n "Wait until container is running ..." + +while [ "`docker inspect -f {{.State.Running}} $KIMAI_CONTAINER_NAME`" != "true" ]; do + echo -n "." + sleep 1 +done + +echo -e "\nContainer is running!" if [ $DELETE_CONFIG == "y" ]; then rm -f .env