diff --git a/.env b/.env index f6e89d0..8426ac3 100644 --- a/.env +++ b/.env @@ -1,6 +1,12 @@ # MAIN MAIN_DOMAIN=neah.local +# MySQL +MYSQL_ROOT_PASSWORD=36fe52ed4402730b8ef12d1bbd259862f710e14f147386caaaee74720d5d3cbb +MYSQL_DATABASE=enkun +MYSQL_USER=enkun +MYSQL_PASSWORD=36fe52ed4402730b8ef12d1bbd259862f710e14f147386caaaee74720d5d3cbb + # Keycloak KEYCLOAK_USER=admin KEYCLOAK_PASSWORD=0aff634a5aab66c4cddc0fe9221e4d02defc87c98d2cd81ce6e8e04271f6c189 @@ -8,4 +14,7 @@ KEYCLOAK_HOST_IP=172.16.32.134 KEYCLOAK_HOST=connect # Portainer -PORTAINER_HOST=portainer \ No newline at end of file +PORTAINER_HOST=portainer + +# Nextcloud +NEXTCLOUD_MYSQL_DATABASE=nextcloud \ No newline at end of file diff --git a/compose.yml b/compose.yml index b983dc4..35127d5 100644 --- a/compose.yml +++ b/compose.yml @@ -4,6 +4,8 @@ networks: volumes: keycloak_data: portainer_data: + mysql_data: + nextcloud_data: services: traefik: @@ -20,6 +22,7 @@ services: - /var/run/docker.sock:/var/run/docker.sock networks: - default + restart: unless-stopped portainer: container_name: neah-portainer @@ -35,6 +38,7 @@ services: command: --admin-password-file '/portainer_password' networks: - default + restart: unless-stopped front: container_name: neah-front @@ -51,6 +55,7 @@ services: - "${KEYCLOAK_HOST}.${MAIN_DOMAIN}:${KEYCLOAK_HOST_IP}" networks: - default + restart: unless-stopped keycloak: container_name: neah-keycloak @@ -72,3 +77,38 @@ services: - "8090:8080" networks: - default + restart: unless-stopped + + mysql: + container_name: neah-mysql + image: mysql:latest + environment: + MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} + MYSQL_DATABASE: ${MYSQL_DATABASE} + MYSQL_USER: ${MYSQL_USER} + MYSQL_PASSWORD: ${MYSQL_PASSWORD} + volumes: + - mysql_data:/var/lib/mysql + networks: + - default + restart: unless-stopped + + nextcloud: + container_name: neah-nextcloud + image: nextcloud:latest + environment: + - MYSQL_HOST=mysql + - MYSQL_DATABASE=${NEXTCLOUD_MYSQL_DATABASE} + - MYSQL_USER=${MYSQL_USER} + - MYSQL_PASSWORD=${MYSQL_PASSWORD} + volumes: + - nextcloud_data:/var/www/html + labels: + - "traefik.enable=true" + - "traefik.http.routers.neah-nextcloud.rule=Host(`cloud.${MAIN_DOMAIN}`)" + - "traefik.http.services.neah-nextcloud.loadbalancer.server.port=80" + networks: + - default + depends_on: + - mysql + restart: unless-stopped