services: # 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: ./services/10-nineapache/env/.env.merge networks: - nine-network ports: - "80:80" volumes: - ./services/10-nineapache/volume/apache:/etc/apache2/conf.d/nine # 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: ./services/15-mariadb/env/.env.merge networks: - nine-network volumes: - ./services/15-mariadb/volume/mysql:/var/lib/mysql - ./services/15-mariadb/volume/nine:/nine # Minio # Stocakge S3 # Port interne 9000 pour le stockage / Port interne 9001 pour l'interface web minio: image: bitnami/minio container_name: nine-minio restart: unless-stopped env_file: ./services/30-minio/env/.env.merge ports: - "9001:9001" networks: - nine-network volumes: - './services/30-minio/volume/data:/data' # 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: ./services/30-openldap/env/.env.merge networks: - nine-network volumes: - './services/30-openldap/volume/data:/bitnami/openldap' - './services/30-openldap/volume/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 env_file: ./services/30-redis/env/.env.merge networks: - nine-network environment: - TZ=Europe/Paris # 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: ./services/40-keycloak/env/.env.merge networks: - nine-network ports: - 8999:8999 - 8443:8443 volumes: - './volume/keycloak/nine:/nine' command: - start-dev - --import-realm # Dokuwiki # Wiki # Port interne 80 wiki: image: linuxserver/dokuwiki container_name: nine-dokuwiki env_file: ./services/50-dokuwiki/env/.env.merge networks: - nine-network ports: - 9000:80 # 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: ./services/50-nextcloud/env/.env.merge networks: - nine-network volumes: - ./services/50-nextcloud/volume/html:/var/www/html - ./services/50-nextcloud/volume/app:/var/www/html/custom_apps - ./services/50-nextcloud/volume/data:/var/www/html/data - ./services/50-nextcloud/volume/nine:/nine - ./services/50-nextcloud/volume/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: ./services/50-nineboard/env/.env.merge 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 env_file: ./services/50-ninegate/env/.env.merge networks: - nine-network volumes: - ./services/50-ninegate/volume/data/private:/app/uploads - ./services/50-ninegate/volume/data/public:/app/public/uploads # Nineskeletor # Portail collaboratif # Port interne 80 nineskeletor: image: reg.cadoles.com/envole/nineskeletor container_name: nine-nineskeletor restart: unless-stopped env_file: ./services/50-nineskeletor/env/.env.merge networks: - nine-network volumes: - ./services/50-nineskeletor/volume/apache:/etc/apache2/conf.d/nine - ./services/50-nineskeletor/volume/data/private:/app/uploads - ./services/50-nineskeletor/volume/data/public:/app/public/uploads # Wordpress # Reseau de blog # Port interne 80 wordpress: image: reg.cadoles.com/envole/wordpress container_name: nine-wordpress restart: unless-stopped env_file: ./services/50-wordpress/env/.env.merge networks: - nine-network volumes: - ./services/50-wordpress/volume/data:/app/public/wp-content # Adminer # Gestionnaire BDD # Port interne 8080 adminer: image: docker.io/library/adminer container_name: nine-adminer restart: unless-stopped env_file: ./services/90-adminer/env/.env.merge networks: - nine-network # Phpldapadmin # Gestionnaire Annuaire # Port interne 80 phpldapadmin: image: docker.io/osixia/phpldapadmin:latest container_name: nine-phpldapadmin restart: unless-stopped env_file: ./services/90-phpldapadmin/env/.env.merge networks: - nine-network networks: nine-network: name: nine-network