From b69fd92b195473fc7ad8b2bd2e6add19570a1153 Mon Sep 17 00:00:00 2001 From: Yasien Mac Mini Date: Thu, 29 Jan 2026 13:02:24 +0200 Subject: [PATCH] Update docker compose file for new architechure --- .DS_Store | Bin 10244 -> 8196 bytes docker-compose.yml | 133 +++++++++++++++++++++++++++------------------ 2 files changed, 81 insertions(+), 52 deletions(-) diff --git a/.DS_Store b/.DS_Store index 45ec2a2d6de4e4ac106712741790f79f3b39d071..bb29be065bc104344337a20e9e6fccb5ffccb05c 100644 GIT binary patch delta 163 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 K<^La_{QqAZlaOEl diff --git a/docker-compose.yml b/docker-compose.yml index c3b3b6d6..5bc17734 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,7 +1,8 @@ #============== MIH Network ==================================================================== networks: - MIH_Network: + mih-network: driver: bridge +#============== MIH Containers ==================================================================== services: #============== Nginx Proxy Server Old ==================================================================== # nginx: @@ -16,9 +17,9 @@ services: # - certbotConf:/etc/letsencrypt # - certbotChall:/var/www/certbot # depends_on: - # - MIH_UX + # - mih-ux # networks: - # - MIH_Network + # - mih-network # profiles: [ 'prod' ] #============== Cert Bot Old ==================================================================== # certbot: @@ -30,13 +31,13 @@ services: # #command: certonly --test-cert --webroot -w /var/www/certbot --force-renewal --email yasienmeth@gmail.com -d mzansi-innovation-hub.co.za -d www.mzansi-innovation-hub.co.za --agree-tos # command: certonly --webroot -w /var/www/certbot --force-renewal --email ${CERTBOT_EMAIL} -d ${CERTBOT_APP_DOMAIN} -d ${CERTBOT_API_DOMAIN} -d ${CERTBOT_STORAGE_DOMAIN} -d ${CERTBOT_MONITOR_DOMAIN} -d ${CERTBOT_AI_DOMAIN} --agree-tos # networks: - # - MIH_Network + # - mih-network # depends_on: # - nginx # profiles: [ 'withCert' ] #============== Nginx Proxy Manager ==================================================================== - MIH_NGINX: - container_name: MIH_NGINX + mih-nginx: + container_name: mih-nginx image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: @@ -47,22 +48,22 @@ services: - ./mih_nginx/data:/data - ./mih_nginx/letsencrypt:/etc/letsencrypt networks: - - MIH_Network + - mih-network #============== GITEA ==================================================================== - MIH_GITEA: + mih-gitea: image: gitea/gitea:latest - container_name: MIH_GITEA + container_name: mih-gitea environment: - USER_UID=1000 - USER_GID=1000 - GITEA__database__DB_TYPE=mysql - - GITEA__database__HOST=MIH-GITEA-DB:3306 - - GITEA__database__NAME=gitea - - GITEA__database__USER=gitea - - GITEA__database__PASSWD=gitea_password + - GITEA__database__HOST=mih-gitea-db:3306 + - GITEA__database__NAME=${GITEA_SQL_DB} + - GITEA__database__USER=${GITEA_SQL_USER} + - GITEA__database__PASSWD=${GITEA_SQL_PW} restart: always networks: - - MIH_Network + - mih-network volumes: - ./mih_git/gitea:/data - /etc/timezone:/etc/timezone:ro @@ -71,19 +72,19 @@ services: - "3000:3000" - "222:22" depends_on: - MIH-GITEA-DB: + mih-gitea-db: condition: service_healthy - MIH_GITEA_DB: + mih-gitea-db: image: mysql:8.0 - container_name: MIH_GITEA_DB + container_name: mih-gitea-db restart: always environment: - - MYSQL_ROOT_PASSWORD=gitea_root_password - - MYSQL_USER=gitea - - MYSQL_PASSWORD=gitea_password - - MYSQL_DATABASE=gitea + - MYSQL_ROOT_PASSWORD=${GITEA_SQL_ROOT_PW} + - MYSQL_USER=${GITEA_SQL_USER} + - MYSQL_PASSWORD=${GITEA_SQL_PW} + - MYSQL_DATABASE=${GITEA_SQL_DB} networks: - - MIH_Network + - mih-network volumes: - ./mih_git/mysql:/var/lib/mysql healthcheck: @@ -92,12 +93,11 @@ services: timeout: 5s retries: 5 #============== Super Token Auth ==================================================================== - MIH_SuperTokens: - container_name: MIH_SuperTokens + mih-supertokens: + container_name: mih-supertokens image: supertokens/supertokens-mysql:latest - # image: registry.supertokens.io/supertokens/supertokens-mysql depends_on: - - MIH_DB + - mih-db ports: - 3567:3567 environment: @@ -106,12 +106,12 @@ services: PASSWORD_RESET_TOKEN_LIFETIME: '7200000' MYSQL_USER: ${SQL_USER} MYSQL_PASSWORD: ${SQL_USER_PW} - MYSQL_HOST: MIH_DB + MYSQL_HOST: mih-db MYSQL_PORT: 3306 MYSQL_DATABASE_NAME: ${SUPERTOKENS_DB} API_KEYS: ${SUPERTOKENS_API_KEY} networks: - - MIH_Network + - mih-network restart: unless-stopped healthcheck: test: > @@ -119,36 +119,65 @@ services: interval: 10s timeout: 5s retries: 5 + #============== MIH WordPress ==================================================================== + mih-wordpress: + container_name: mih-wordpress + image: wordpress + restart: always + ports: + - 8081:80 + environment: + WORDPRESS_DB_HOST: mih-wp-db + WORDPRESS_DB_USER: ${WP_SQL_USER} + WORDPRESS_DB_PASSWORD: ${WP_SQL_USER_PW} + WORDPRESS_DB_NAME: ${WP_SQL_DB} + volumes: + - ./mih_wp/ui:/var/www/html + networks: + - mih-network + mih-wp-db: + container_name: mih-wp-db + image: mariadb:10.11 + restart: always + environment: + MARIADB_DATABASE: ${WP_SQL_DB} + MARIADB_USER: ${WP_SQL_USER} + MARIADB_PASSWORD: ${WP_SQL_USER_PW} + MARIADB_RANDOM_ROOT_PASSWORD: '1' + volumes: + - ./mih_wp/database:/var/lib/mysql + networks: + - mih-network #============== MIH-UX Flutter ==================================================================== - MIH_UX: - container_name: MIH_UX + mih-ux: + container_name: mih-ux build: context: ./mih_ui ports: - "83:83" networks: - - MIH_Network + - mih-network depends_on: - - MIH_API_Hub + - mih-api-hub #============== API Hub ==================================================================== - MIH_API_Hub: + mih-api-hub: build: context: ./mih_api_hub target: builder - container_name: MIH_API_Hub + container_name: mih-api-hub ports: - 8080:80 volumes: - ./mih_api_hub:/app networks: - - MIH_Network + - mih-network depends_on: - - MIH_DB + - mih-db #============== My SQL DB ==================================================================== - MIH_DB: + mih-db: platform: linux/amd64 image: mysql:5.7 - container_name: MIH_DB + container_name: mih-db restart: always environment: MYSQL_ROOT_PASSWORD: ${SQL_ROOT_PW} @@ -156,7 +185,7 @@ services: MYSQL_PASSWORD: ${SQL_USER_PW} MYSQL_DATABASE: ${SUPERTOKENS_DB} networks: - - MIH_Network + - mih-network ports: - '3306:3306' volumes: @@ -167,21 +196,21 @@ services: # image: phpmyadmin/phpmyadmin # container_name: MIH-phpmyadmin # environment: - # PMA_HOST: MIH_DB + # PMA_HOST: mih-db # PMA_PORT: 3306 # PMA_ARBITRARY: # networks: - # - MIH_Network + # - mih-network # restart: always # ports: # - 8081:80 # depends_on: - # - MIH_DB + # - mih-db #============== Minio File Storage ==================================================================== - MIH_Minio: + mih-minio: platform: linux/amd64 - container_name: MIH_Minio - hostname: MIH_Minio + container_name: mih-minio + hostname: mih-minio image: minio/minio ports: - '9000:9000' @@ -192,11 +221,11 @@ services: MINIO_ROOT_USER: ${MINIO_ROOT_USER} MINIO_ROOT_PASSWORD: ${MINIO_ROOT_PW} networks: - - MIH_Network + - mih-network command: ["server", "/data", "--console-address", ":9001"] #============== MIH-Monitor Portainer ==================================================================== - MIH_Monitor: - container_name: MIH_Monitor + mih-monitor: + container_name: mih-monitor image: portainer/portainer-ce:2.20.3 ports: - 9444:9443 @@ -205,10 +234,10 @@ services: - /var/run/docker.sock:/var/run/docker.sock restart: unless-stopped networks: - - MIH_Network + - mih-network #============== MIH-AI Ollama ==================================================================== - MIH_AI: - container_name: MIH_AI + mih-ai: + container_name: mih-ai image: ollama/ollama:latest ports: - 11434:11434 @@ -222,7 +251,7 @@ services: - OLLAMA_KEEP_ALIVE=24h - OLLAMA_HOST=0.0.0.0 networks: - - MIH_Network + - mih-network # === Added section for NVIDIA GPU acceleration === # runtime: nvidia # deploy: