Prechádzať zdrojové kódy

Update Docker setup with functional Kimai, Nextcloud, and Paperless-ngx configurations

- Fixed database connection and environment configurations
- Adjusted Docker volumes and persistent data paths
- Ensured Kimai, Nextcloud, and Paperless-ngx are fully operational
- Set up Apache as the web server for Kimai
- Updated docker-compose.yml to align with correct environment variable usage and volumes
mathias.riechsteiner 1 rok pred
rodič
commit
5c5b346b82
3 zmenil súbory, kde vykonal 89 pridanie a 10 odobranie
  1. 45 3
      README.md
  2. 43 6
      src/docker/docker-compose.yml
  3. 1 1
      src/scripts/install_docker.sh

+ 45 - 3
README.md

@@ -20,10 +20,31 @@ and reporting through open-source, on-premise tools.
 Create a `.env` file in the project root with the following placeholders (to be replaced with actual values):
 
 '''bash
-DB_USER=myuser
-DB_PASSWORD=randomGeneratedPassword
+# Paperless-ngx Configuration
+PAPERLESS_DB_USER=myuser
+PAPERLESS_DB_PASSWORD=randomGeneratedPassword
+PAPERLESS_SECRET_KEY=randomGeneratedSecret
+
+# Nextcloud Configuration
 NEXTCLOUD_ADMIN_USER=admin
-NEXTCLOUD_ADMIN_PASSWORD=randomAdminPassword
+NEXTCLOUD_ADMIN_PASSWORD=randomGeneratedPassword
+
+# Database Configuration for Nextcloud
+MYSQL_ROOT_PASSWORD=randomGeneratedPassword
+MYSQL_DATABASE=nextcloud
+MYSQL_USER=nextcloud
+MYSQL_PASSWORD=randomGeneratedPassword
+
+# Kimai Database Configuration
+KIMAI_DATABASE=kimai
+KIMAI_USER=kimai_user
+KIMAI_PASSWORD=randomGeneratedPassword
+KIMAI_ROOT_PASSWORD=randomGeneratedPassword
+
+# Kimai Admin User Configuration
+KIMAI_ADMIN_USER=kiami_admin_user  
+KIMAI_ADMIN_PASSWORD=randomGeneratedPassword
+KIMAI_ADMIN_EMAIL=kiami@admin.email
 '''
 
 ## Installation
@@ -85,6 +106,27 @@ After starting the Paperless-ngx service for the first time, you need to create
 
 This setup step is necessary only for the first-time setup or if you need to create additional admin users.
 
+## Setting Up Kimai (Time Tracking)
+
+After configuring the environment variables, you can start Kimai for time tracking and management.
+
+1. **Start Kimai**:
+   - Run the following command to start the Kimai service along with its database:
+
+     $$$
+     docker-compose up -d
+     $$$
+
+2. **Access Kimai**:
+   - Open your web browser and go to `http://localhost:8081`.
+   - Log in with the `KIMAI_ADMIN_USER` and `KIMAI_ADMIN_PASSWORD` values you set in `.env`.
+
+3. **Using Kimai**:
+   - After logging in, you can set up projects, track time, and generate reports for your tasks. Kimai provides a comprehensive interface for managing billable time and clients.
+
+This setup provides you with a time tracking tool that can work alongside Paperless-ngx and Nextcloud in the AutoMate system.
+
+
 
 
 

+ 43 - 6
src/docker/docker-compose.yml

@@ -33,15 +33,52 @@ services:
       - NEXTCLOUD_ADMIN_USER=${NEXTCLOUD_ADMIN_USER}
       - NEXTCLOUD_ADMIN_PASSWORD=${NEXTCLOUD_ADMIN_PASSWORD}
     depends_on:
-      - db
+      - nextcloud_db
 
-  db:
+  nextcloud_db:
     image: mariadb:latest
     container_name: nextcloud_db
     environment:
-      - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
-      - MYSQL_DATABASE=${MYSQL_DATABASE}
-      - MYSQL_USER=${MYSQL_USER}
-      - MYSQL_PASSWORD=${MYSQL_PASSWORD}
+      - MYSQL_ROOT_PASSWORD=${NEXTCLOUD_DB_ROOT_PASSWORD}
+      - MYSQL_DATABASE=${NEXTCLOUD_DB_DATABASE}
+      - MYSQL_USER=${NEXTCLOUD_DB_USER}
+      - MYSQL_PASSWORD=${NEXTCLOUD_DB_PASSWORD}
     volumes:
       - ../data/nextcloud_db:/var/lib/mysql
+
+  kimai_db:
+    image: mysql:8.3
+    volumes:
+      - mysql:/var/lib/mysql
+    environment:
+      - MYSQL_DATABASE=${KIMAI_DB_DATABASE}
+      - MYSQL_USER=${KIMAI_DB_USER}
+      - MYSQL_PASSWORD=${KIMAI_DB_PASSWORD}
+      - MYSQL_ROOT_PASSWORD=${KIMAI_DB_ROOT_PASSWORD}
+    command: --default-storage-engine innodb
+    restart: unless-stopped
+    healthcheck:
+      test: mysqladmin -p${KIMAI_DB_ROOT_PASSWORD} ping -h localhost
+      interval: 20s
+      start_period: 10s
+      timeout: 10s
+      retries: 3
+
+  kimai:
+    image: kimai/kimai2:apache
+    volumes:
+      - data:/opt/kimai/var/data
+      - plugins:/opt/kimai/var/plugins
+    ports:
+      - 8001:8001
+    environment:
+      - ADMINMAIL=${KIMAI_ADMIN_EMAIL}
+      - ADMINPASS=${KIMAI_ADMIN_PASSWORD}
+      - "DATABASE_URL=mysql://${KIMAI_DB_USER}:${KIMAI_DB_PASSWORD}@kimai_db/${KIMAI_DB_DATABASE}?charset=utf8mb4&serverVersion=8.3.0"
+    restart: unless-stopped
+
+volumes:
+  data:
+  mysql:
+  plugins:
+

+ 1 - 1
src/scripts/install_docker.sh

@@ -16,7 +16,7 @@ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docke
 sudo apt update
 
 # Install Docker
-sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose
+sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose mysql-client
 
 # Start Docker service
 sudo service docker start