ninedocker/docker-compose.svg

248 lines
6.5 KiB
XML
Raw Normal View History

2024-07-24 16:11:40 +02:00
services:
#== SERVICES OUTILS =======================================================================================================================
# Nineapache
# Reverse proxy de l'ensemble des services
# Seul port ouvert sur l'exterieur
nineapache:
image: reg.cadoles.com/envole/nineapache:8.1
container_name: nine-nineapache
restart: unless-stopped
healthcheck:
test: curl --fail http://localhost || exit 1
interval: 1s
timeout: 60s
env_file: ./tmp/.env.nineapache
networks:
- nine-network
ports:
- "80:80"
volumes:
- ./volume/nineapache/nine/apache.conf:/etc/apache2/conf.d/zapp.conf
# Mariadb
# Base de données des services
# Port interne 3306
mariadb:
image: docker.io/library/mariadb
container_name: nine-mariadb
restart: unless-stopped
healthcheck:
test: /nine/check.sh
interval: 1s
timeout: 60s
env_file: ./tmp/.env.mariadb
networks:
- nine-network
volumes:
- ./volume/mariadb/mysql:/var/lib/mysql
- ./volume/mariadb/nine:/nine
# Redis
# Base de données redis pour les services qui souhaitent stocker leur session en bdd
# Port interne 6379
redis:
image: redis:4.0
container_name: nine-redis
environment:
- TZ=Europe/Paris
# Minio
# Stocakge S3
# Port interne 9000 pour le stockage / Port interne 9001 pour l'interface web
minio:
image: minio/minio
container_name: nine-minio
restart: unless-stopped
env_file: ./tmp/.env.minio
networks:
- nine-network
volumes:
- './volume/minio/data:/data'
command: server /data --console-address ":9001"
# Openldap
# Annuaire
# Port interne 1389 & 1636
openldap:
image: docker.io/bitnami/openldap:2
container_name: nine-openldap
restart: unless-stopped
healthcheck:
test: /nine/check.sh
interval: 1s
timeout: 60s
env_file: ./tmp/.env.openldap
networks:
- nine-network
volumes:
- './volume/openldap/data:/bitnami/openldap'
- './volume/openldap/nine:/nine'
# Keycloak
# serveur SSO
# Port interne 8999 & 8443
keycloak:
image: reg.cadoles.com/envole/keycloak:24.0.5
container_name: nine-keycloak
restart: unless-stopped
healthcheck:
test: curl --fail http://127.0.0.1:9990 || exit 1
interval: 1s
timeout: 60s
env_file: ./tmp/.env.keycloak
networks:
- nine-network
ports:
- 8999:8999
- 8443:8443
volumes:
- './volume/keycloak/nine:/nine'
command:
- start-dev
- --import-realm
#== SERVICES APPLICATIF =======================================================================================================================
# Nextcloud
# Hébergement de fichiers et une plateforme de collaboration
# Port interne 80
nextcloud:
image: reg.cadoles.com/envole/nextcloud
container_name: nine-nextcloud
restart: unless-stopped
healthcheck:
test: curl --fail http://localhost || exit 1
interval: 1s
timeout: 60s
env_file: ./tmp/.env.nextcloud
networks:
- nine-network
volumes:
- ./volume/nextcloud/html:/var/www/html
- ./volume/nextcloud/app:/var/www/html/custom_apps
- ./volume/nextcloud/data:/var/www/html/data
- ./volume/nextcloud/nine:/nine
- ./volume/nextcloud/prestart:/docker-entrypoint-hooks.d/before-starting
# Nineboard
# Tableaux de bord collaboratif
# Port interne 80
nineboard:
image: reg.cadoles.com/envole/nineboard
container_name: nine-nineboard
restart: unless-stopped
healthcheck:
test: curl --fail http://localhost/nineboard || exit 1
interval: 1s
timeout: 60s
env_file: ./tmp/.env.nineboard
networks:
- nine-network
volumes:
- ./volume/nineboard/data/private:/app/uploads
- ./volume/nineboard/data/public:/app/public/uploads
# Ninegate
# Portail collaboratif
# Port interne 80
ninegate:
image: reg.cadoles.com/envole/ninegate
container_name: nine-ninegate
restart: unless-stopped
healthcheck:
test: curl --fail http://localhost/ninegate || exit 1
interval: 1s
timeout: 60s
env_file: ./tmp/.env.ninegate
networks:
- nine-network
volumes:
- ./volume/ninegate/data/private:/app/uploads
- ./volume/ninegate/data/public:/app/public/uploads
# Nineskeletor
# Portail collaboratif V2
# Port interne 80
nineskeletor:
image: reg.cadoles.com/envole/nineskeletor
container_name: nine-nineskeletor
restart: unless-stopped
healthcheck:
test: curl --fail http://localhost/nineskeletor || exit 1
interval: 1s
timeout: 60s
env_file: ./tmp/.env.nineskeletor
networks:
- nine-network
volumes:
- ./volume/nineskeletor/data/private:/app/uploads
- ./volume/nineskeletor/data/public:/app/public/uploads
# Wiki.js
# Wiki
# Port interne 3000
wiki:
image: linuxserver/dokuwiki
container_name: nine-dokuwiki
env_file: ./tmp/.env.dokuwiki
networks:
- nine-network
ports:
- 9000:80
# Wordpress
# Reseau de blog
# Port interne 80
wordpress:
image: reg.cadoles.com/envole/wordpress
container_name: nine-wordpress
restart: unless-stopped
healthcheck:
test: curl --fail http://localhost/wordpress || exit 1
interval: 1s
timeout: 60s
env_file: ./tmp/.env.wordpress
networks:
nine-network:
aliases:
- blog
volumes:
- ./volume/wordpress/data:/app/public/wp-content
#== SERVIVES DEVELOPPEUR ==================================================================================================================
# Adminer
# Gestionnaire BDD
# Port interne 8080
adminer:
image: docker.io/library/adminer
container_name: nine-adminer
restart: unless-stopped
env_file: ./tmp/.env.adminer
networks:
- nine-network
ports:
- 9100:8080
# Phpldapadmin
# Gestionnaire Annuaire
# Port interne 80
phpldapadmin:
image: docker.io/osixia/phpldapadmin:latest
container_name: nine-phpldapadmin
restart: unless-stopped
env_file: ./tmp/.env.phpldapadmin
networks:
- nine-network
ports:
- "9101:80"
#== NETWORKS ==============================================================================================================================
networks:
nine-network:
name: nine-network