ninedocker/docker-compose.yml

224 lines
6.0 KiB
YAML
Raw Normal View History

2024-07-04 12:42:13 +02:00
services:
2024-07-19 14:34:55 +02:00
# Nineapache
# Reverse proxy de l'ensemble des services
# Seul port ouvert sur l'exterieur
2024-07-05 23:01:17 +02:00
nineapache:
image: reg.cadoles.com/envole/nineapache:8.1
container_name: nine-nineapache
2024-07-19 14:34:55 +02:00
restart: unless-stopped
2024-07-05 23:01:17 +02:00
healthcheck:
test: curl --fail http://localhost || exit 1
interval: 1s
timeout: 60s
2024-07-24 16:11:40 +02:00
env_file: ./services/10-nineapache/env/.env.merge
2024-07-05 23:01:17 +02:00
networks:
- nine-network
ports:
- "80:80"
volumes:
2024-07-26 22:34:20 +02:00
- ./services/10-nineapache/volume/apache:/etc/apache2/conf.d/nine
2024-07-05 23:01:17 +02:00
2024-07-19 14:34:55 +02:00
# Mariadb
# Base de données des services
# Port interne 3306
2024-07-04 12:42:13 +02:00
mariadb:
image: docker.io/library/mariadb
container_name: nine-mariadb
2024-07-19 14:34:55 +02:00
restart: unless-stopped
2024-07-04 12:42:13 +02:00
healthcheck:
test: /nine/check.sh
interval: 1s
timeout: 60s
2024-07-24 16:11:40 +02:00
env_file: ./services/15-mariadb/env/.env.merge
2024-07-04 12:42:13 +02:00
networks:
- nine-network
volumes:
2024-07-24 16:11:40 +02:00
- ./services/15-mariadb/volume/mysql:/var/lib/mysql
- ./services/15-mariadb/volume/nine:/nine
2024-07-05 23:01:17 +02:00
2024-07-19 14:34:55 +02:00
# Minio
# Stocakge S3
# Port interne 9000 pour le stockage / Port interne 9001 pour l'interface web
2024-07-05 23:01:17 +02:00
minio:
2024-07-24 16:11:40 +02:00
image: bitnami/minio
2024-07-05 23:01:17 +02:00
container_name: nine-minio
2024-07-19 14:34:55 +02:00
restart: unless-stopped
2024-07-24 16:11:40 +02:00
env_file: ./services/30-minio/env/.env.merge
ports:
- "9001:9001"
2024-07-05 23:01:17 +02:00
networks:
- nine-network
volumes:
2024-07-24 16:11:40 +02:00
- './services/30-minio/volume/data:/data'
2024-07-19 14:34:55 +02:00
# Openldap
# Annuaire
# Port interne 1389 & 1636
2024-07-04 12:42:13 +02:00
openldap:
image: docker.io/bitnami/openldap:2
container_name: nine-openldap
2024-07-19 14:34:55 +02:00
restart: unless-stopped
2024-07-04 12:42:13 +02:00
healthcheck:
test: /nine/check.sh
interval: 1s
timeout: 60s
2024-07-24 16:11:40 +02:00
env_file: ./services/30-openldap/env/.env.merge
2024-07-04 12:42:13 +02:00
networks:
- nine-network
volumes:
2024-07-24 16:11:40 +02:00
- './services/30-openldap/volume/data:/bitnami/openldap'
- './services/30-openldap/volume/nine:/nine'
2024-07-04 12:42:13 +02:00
2024-07-24 16:11:40 +02:00
# 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
2024-07-04 12:42:13 +02:00
networks:
2024-07-24 16:11:40 +02:00
- nine-network
environment:
- TZ=Europe/Paris
2024-07-04 12:42:13 +02:00
2024-07-26 22:34:20 +02:00
# 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
2024-07-19 14:34:55 +02:00
# Ninegate
# Portail collaboratif
# Port interne 80
ninegate:
image: reg.cadoles.com/envole/ninegate
container_name: nine-ninegate
2024-07-24 16:11:40 +02:00
restart: unless-stopped
env_file: ./services/50-ninegate/env/.env.merge
2024-07-19 14:34:55 +02:00
networks:
- nine-network
volumes:
2024-07-24 16:11:40 +02:00
- ./services/50-ninegate/volume/data/private:/app/uploads
- ./services/50-ninegate/volume/data/public:/app/public/uploads
2024-07-19 14:34:55 +02:00
2024-07-24 16:11:40 +02:00
# 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
2024-07-19 14:34:55 +02:00
networks:
- nine-network
2024-07-24 16:11:40 +02:00
volumes:
2024-07-26 22:34:20 +02:00
- ./services/50-nineskeletor/volume/apache:/etc/apache2/conf.d/nine
2024-07-24 16:11:40 +02:00
- ./services/50-nineskeletor/volume/data/private:/app/uploads
- ./services/50-nineskeletor/volume/data/public:/app/public/uploads
2024-07-19 14:34:55 +02:00
# Wordpress
# Reseau de blog
# Port interne 80
2024-07-04 12:42:13 +02:00
wordpress:
image: reg.cadoles.com/envole/wordpress
container_name: nine-wordpress
2024-07-19 14:34:55 +02:00
restart: unless-stopped
2024-07-24 16:11:40 +02:00
env_file: ./services/50-wordpress/env/.env.merge
2024-07-04 12:42:13 +02:00
networks:
2024-07-24 16:11:40 +02:00
- nine-network
2024-07-04 12:42:13 +02:00
volumes:
2024-07-24 16:11:40 +02:00
- ./services/50-wordpress/volume/data:/app/public/wp-content
2024-07-19 14:34:55 +02:00
# Adminer
# Gestionnaire BDD
# Port interne 8080
2024-07-04 12:42:13 +02:00
adminer:
image: docker.io/library/adminer
container_name: nine-adminer
2024-07-19 14:34:55 +02:00
restart: unless-stopped
2024-07-24 16:11:40 +02:00
env_file: ./services/90-adminer/env/.env.merge
2024-07-04 12:42:13 +02:00
networks:
- nine-network
2024-07-19 14:34:55 +02:00
# Phpldapadmin
# Gestionnaire Annuaire
# Port interne 80
2024-07-04 12:42:13 +02:00
phpldapadmin:
image: docker.io/osixia/phpldapadmin:latest
container_name: nine-phpldapadmin
2024-07-19 14:34:55 +02:00
restart: unless-stopped
2024-07-24 16:11:40 +02:00
env_file: ./services/90-phpldapadmin/env/.env.merge
2024-07-04 12:42:13 +02:00
networks:
- nine-network
networks:
nine-network:
2024-07-05 23:01:17 +02:00
name: nine-network