ninedocker/docker-compose.yml

232 lines
6.0 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

version: '3'
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
# Wiki.js
# Wiki
# Port interne 3000
wiki:
image: linuxserver/dokuwiki
container_name: nine-wiki
env_file: ./tmp/.env.wiki
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