343 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			343 lines
		
	
	
		
			8.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| #{{services
 | |
| services:
 | |
| #}}
 | |
| #{{db
 | |
|   db:
 | |
|     image: mariadb:11.4
 | |
|     container_name: ${orga}-DB
 | |
|     #disk_quota: 10G
 | |
|     command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
 | |
|     restart: ${restartPolicy}
 | |
|     volumes:
 | |
| #      - ./initdb.d:/docker-entrypoint-initdb.d:ro
 | |
|       - orgaDB:/var/lib/mysql
 | |
|       - /etc/localtime:/etc/localtime:ro
 | |
|       - /etc/timezone:/etc/timezone:ro
 | |
|     environment:
 | |
|       - MARIADB_AUTO_UPGRADE=1      
 | |
|     env_file:
 | |
|       - ../../secret/orgas/${orga}/env-${nextcloudDBName}
 | |
| #      - ../../secret/orgas/${orga}/env-${mattermostDBName}
 | |
|       - ../../secret/orgas/${orga}/env-${wordpressDBName}
 | |
|     networks:
 | |
|       - orgaNet
 | |
|     healthcheck: # utilisé par init-db.sh pour la créa d'orga
 | |
|       #maridb10.5
 | |
|       #test: ["CMD", 'mysqladmin', 'ping', '-h', 'localhost', '-u', 'root', '-p$$MYSQL_ROOT_PASSWORD' ]
 | |
|       #maridb11.4
 | |
|       #test: ["CMD", 'healthcheck.sh', '--su-mysql', '--connect', '--innodb_initialized']                      
 | |
|       test: ["CMD", "mariadb-admin", "ping", "--silent"]
 | |
|       interval: 30s
 | |
|       timeout: 30s
 | |
|       retries: 5
 | |
| #}}
 | |
| #{{cloud
 | |
|   cloud:
 | |
|     image: nextcloud
 | |
|     container_name: ${orga}-${nextcloudServName}
 | |
|     #disk_quota: 10G
 | |
|     restart: ${restartPolicy}
 | |
|     networks:
 | |
|       - orgaNet
 | |
| #      - postfixNet
 | |
|     depends_on:
 | |
|       - db
 | |
|       #db:
 | |
|       #    condition: service_healthy  # on peut mais ca va ralentir le process
 | |
|     links:
 | |
|       - db
 | |
|     external_links:
 | |
|       - ${smtpServName}:${smtpHost}
 | |
|     labels:
 | |
|       - "traefik.enable=true"
 | |
|       - "traefik.http.routers.${orga}-${nextcloudServName}.rule=Host(`${orga}-${cloudHost}.${domain}`){{FOREIGN_NC}}"
 | |
|       - "traefik.http.routers.${orga}-${nextcloudServName}.middlewares=nextcloud-redirectregex1@file,nextcloud-redirectregex2@file"
 | |
|     volumes:
 | |
|       - cloudMain:/var/www/html
 | |
|       - cloudData:/var/www/html/data
 | |
|       - cloudConfig:/var/www/html/config
 | |
|       - cloudApps:/var/www/html/apps
 | |
|       - cloudCustomApps:/var/www/html/custom_apps
 | |
|       - cloudThemes:/var/www/html/themes/
 | |
|       - cloudPhp:/usr/local/etc/php/conf.d/
 | |
|       - /etc/localtime:/etc/localtime:ro
 | |
|       - /etc/timezone:/etc/timezone:ro
 | |
|     env_file:
 | |
|       - ../../secret/orgas/${orga}/env-${nextcloudServName}
 | |
|       - ../../secret/orgas/${orga}/env-${nextcloudDBName}
 | |
|     environment:
 | |
|       - NEXTCLOUD_TRUSTED_DOMAINS=${orga}-${cloudHost}.${domain}
 | |
|       - SMTP_HOST=${smtpHost}
 | |
|       - SMTP_PORT=25
 | |
|       - MAIL_DOMAIN=${domain}
 | |
| #}}
 | |
| #{{agora
 | |
|   agora:
 | |
|     build:
 | |
|       context: app
 | |
|       # uncomment following lines for team edition or change UID/GID
 | |
|       args:
 | |
|         - edition=team
 | |
|         - PUID=1000
 | |
|         - PGID=1000
 | |
|     container_name: ${orga}-${mattermostServName}
 | |
|     #disk_quota: 10G
 | |
|     restart: ${restartPolicy}
 | |
|     # memory: 1G
 | |
|     networks:
 | |
|       - orgaNet
 | |
| #      - postfixNet
 | |
|     expose: 
 | |
|       - ${matterPort}
 | |
|     depends_on:
 | |
|       - db
 | |
|       #db:
 | |
|           # condition: service_healthy  # on peut mais ca va ralentir le process
 | |
|     links:
 | |
|       - db
 | |
|     external_links:
 | |
|       - ${smtpServName}:${smtpHost}.${domain}
 | |
|     volumes:
 | |
|       - matterConfig:/mattermost/config:rw
 | |
|       - matterData:/mattermost/data:rw
 | |
|       - matterLogs:/mattermost/logs:rw
 | |
|       - matterPlugins:/mattermost/plugins:rw
 | |
|       - matterClientPlugins:/mattermost/client/plugins:rw
 | |
|       - matterIcons:/mattermost/client/images:ro
 | |
|       - /etc/ssl:/etc/ssl:ro
 | |
|       - /etc/localtime:/etc/localtime:ro
 | |
|       - /etc/timezone:/etc/timezone:ro
 | |
|       - /etc/environment:/etc/environment:ro
 | |
|     env_file:
 | |
|       - ../../secret/orgas/${orga}/env-${mattermostServName}
 | |
|     environment:
 | |
|       - VIRTUAL_HOST=${orga}-${matterHost}.${domain}
 | |
|       # in case your config is not in default location
 | |
|       #- MM_CONFIG=/mattermost/config/config.json
 | |
| 
 | |
|     labels:
 | |
|       - "traefik.enable=true"
 | |
|       - "traefik.http.routers.${orga}-${mattermostServName}.rule=Host(`${orga}-${matterHost}.${domain}`)"
 | |
| #}}
 | |
| #{{wp
 | |
|   wordpress:
 | |
|     image: wordpress
 | |
|     container_name: ${orga}-${wordpressServName}
 | |
|     restart: ${restartPolicy}
 | |
|     networks:
 | |
|       - orgaNet
 | |
| #      - postfixNet
 | |
|     depends_on:
 | |
|       - db
 | |
|       #db:
 | |
|          # condition: service_healthy  # on peut mais ca va ralentir le process
 | |
|     links:
 | |
|       - db
 | |
|     external_links:
 | |
|       - ${smtpServName}:${smtpHost}.${domain}
 | |
|     env_file:
 | |
|       - ../../secret/orgas/${orga}/env-${wordpressServName}
 | |
|     environment:
 | |
|       - WORDPRESS_SMTP_HOST=${smtpHost}.${domain}
 | |
|       - WORDPRESS_SMTP_PORT=25
 | |
|       # - WORDPRESS_SMTP_USERNAME
 | |
|       # - WORDPRESS_SMTP_PASSWORD
 | |
|       # - WORDPRESS_SMTP_FROM=${orga}-
 | |
|       - WORDPRESS_SMTP_FROM_NAME=${orga}-
 | |
|     labels:
 | |
|       - "traefik.enable=true"
 | |
|       - "traefik.http.routers.${orga}-${wordpressServName}.rule=Host(`${orga}-${wordpressHost}.${domain}`){{FOREIGN_WP}}"
 | |
|     volumes:
 | |
|       - wordpress:/var/www/html
 | |
| #      - ../../config/orgaTmpl/wp:/usr/local/bin/wp:ro
 | |
| #}}
 | |
| #{{wiki
 | |
|   dokuwiki:
 | |
|     image: mprasil/dokuwiki
 | |
|     container_name: ${orga}-${dokuwikiServName}
 | |
|     #disk_quota: 10G
 | |
|     restart: ${restartPolicy}
 | |
|     labels:
 | |
|       - "traefik.enable=true"
 | |
|       - "traefik.http.routers.${orga}-${dokuwikiServName}.rule=Host(`${orga}-${dokuwikiHost}.${domain}`){{FOREIGN_DW}}"
 | |
|     volumes:
 | |
|       - wikiData:/dokuwiki/data
 | |
|       - wikiConf:/dokuwiki/conf
 | |
|       - wikiPlugins:/dokuwiki/lib/plugins
 | |
|       - wikiLibtpl:/dokuwiki/lib/tpl
 | |
|       - wikiLogs:/var/log
 | |
|     networks:
 | |
|       - orgaNet
 | |
| #      - postfixNet
 | |
|     external_links:
 | |
|       - ${smtpServName}:${smtpHost}.${domain}
 | |
| #}}
 | |
| #{{castopod
 | |
|   castopod:
 | |
|     image: castopod/castopod:latest
 | |
|     container_name: ${orga}-${castopodServName}
 | |
|     #disk_quota: 10G
 | |
|     restart: ${restartPolicy}
 | |
|     # memory: 1G
 | |
|     networks:
 | |
|       - orgaNet
 | |
| #      - postfixNet
 | |
|     expose: 
 | |
|       - 8000
 | |
|     depends_on:
 | |
|       - db
 | |
|     links:
 | |
|       - db
 | |
|     external_links:
 | |
|       - ${smtpServName}:${smtpHost}.${domain}
 | |
|     volumes:
 | |
|       - castopodMedia:/var/www/castopod/public/media
 | |
|     environment:
 | |
|       CP_BASEURL: "https://${orga}-${castopodHost}.${domain}"
 | |
|       CP_ANALYTICS_SALT: qldsgfliuzrbhgmkjbdbmkvb
 | |
|       VIRTUAL_PORT: 8000
 | |
|       CP_CACHE_HANDLER: redis
 | |
|       CP_REDIS_HOST: redis
 | |
|       CP_DATABASE_HOSTNAME: db
 | |
|     env_file:
 | |
|       - ../../secret/orgas/${orga}/env-${castopodServName}
 | |
|       - ../../secret/orgas/${orga}/env-${castopodDBName}
 | |
|     labels:
 | |
|       - "traefik.enable=true"
 | |
|       - "traefik.http.routers.${orga}-${castopodServName}.rule=Host(`${orga}-${castopodHost}.${domain}`){{FOREIGN_POD}}"
 | |
|   redis:
 | |
|     image: redis:7.0-alpine
 | |
|     container_name: ${orga}-castopodCache
 | |
|     volumes:
 | |
|       - castopodCache:/data
 | |
|     networks:
 | |
|       - orgaNet
 | |
|     env_file:
 | |
|       - ../../secret/orgas/${orga}/env-${castopodServName}
 | |
|     command: --requirepass ${castopodRedisPassword} 
 | |
| #}}
 | |
| #{{spip
 | |
|   spip:
 | |
|     container_name: ${orga}-${spipServName}
 | |
|     image: ipeos/spip:4.4
 | |
|     restart: ${restartPolicy}
 | |
|     depends_on:
 | |
|       - db
 | |
|     links:
 | |
|       - db
 | |
|     env_file:
 | |
|       - ../../secret/orgas/${orga}/env-${spipServName}
 | |
|     environment:
 | |
|       - SPIP_AUTO_INSTALL=1
 | |
|       - SPIP_DB_HOST=db
 | |
|       - SPIP_SITE_ADDRESS=https://${orga}-${spipHost}.${domain}
 | |
|     expose:
 | |
|       - 80
 | |
|     labels:
 | |
|       - "traefik.enable=true"
 | |
|       - "traefik.http.routers.${orga}-${spipServName}.rule=Host(`${orga}-${spipHost}.${domain}`){{FOREIGN_SPIP}}"
 | |
|     networks:
 | |
|       - orgaNet
 | |
|     volumes:
 | |
|       - spip:/usr/src/spip
 | |
| #}}
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| #{{services
 | |
| volumes:
 | |
| #}}
 | |
| #{{db
 | |
|   orgaDB:
 | |
|     external: true
 | |
|     name: orga_${orga}-orgaDB
 | |
| #}}
 | |
| #{{agora
 | |
|   matterConfig:
 | |
|     external: true
 | |
|     name: orga_${orga}-matterConfig
 | |
|   matterData:
 | |
|     external: true
 | |
|     name: orga_${orga}-matterData
 | |
|   matterLogs:
 | |
|     external: true
 | |
|     name: orga_${orga}-matterLogs
 | |
|   matterPlugins:
 | |
|     external: true
 | |
|     name: orga_${orga}-matterPlugins
 | |
|   matterClientPlugins:
 | |
|     external: true
 | |
|     name: orga_${orga}-matterClientPlugins
 | |
|   matterIcons:
 | |
|     external: true
 | |
|     name: matterIcons
 | |
| #{{cloud
 | |
|   cloudMain:
 | |
|     external: true
 | |
|     name: orga_${orga}-cloudMain
 | |
|   cloudData:
 | |
|     external: true
 | |
|     name: orga_${orga}-cloudData
 | |
|   cloudConfig:
 | |
|     external: true
 | |
|     name: orga_${orga}-cloudConfig
 | |
|   cloudApps:
 | |
|     external: true
 | |
|     name: orga_${orga}-cloudApps
 | |
|   cloudCustomApps:
 | |
|     external: true
 | |
|     name: orga_${orga}-cloudCustomApps
 | |
|   cloudThemes:
 | |
|     external: true
 | |
|     name: orga_${orga}-cloudThemes
 | |
|   cloudPhp:
 | |
|     external: true
 | |
|     name: orga_${orga}-cloudPhp
 | |
| #}}
 | |
| #{{wiki
 | |
|   wikiData:
 | |
|     external: true
 | |
|     name: orga_${orga}-wikiData
 | |
|   wikiConf:
 | |
|     external: true
 | |
|     name: orga_${orga}-wikiConf
 | |
|   wikiPlugins:
 | |
|     external: true
 | |
|     name: orga_${orga}-wikiPlugins
 | |
|   wikiLibtpl:
 | |
|     external: true
 | |
|     name: orga_${orga}-wikiLibtpl
 | |
|   wikiLogs:
 | |
|     external: true
 | |
|     name: orga_${orga}-wikiLogs
 | |
| #}}
 | |
| #{{wp
 | |
|   wordpress:
 | |
|     external: true
 | |
|     name: orga_${orga}-wordpress
 | |
| #}}
 | |
| #{{castopod
 | |
|   castopodMedia:
 | |
|     external: true
 | |
|     name: orga_${orga}-castopodMedia
 | |
|   castopodCache:
 | |
|     external: true
 | |
|     name: orga_${orga}-castopodCache
 | |
| #}}
 | |
| #{{spip
 | |
|   spip:
 | |
|     external: true
 | |
|     name: orga_${orga}-spip
 | |
| #}}
 | |
| 
 | |
| 
 | |
| 
 | |
| networks:
 | |
|   orgaNet:
 | |
|     external: true
 | |
|     name: ${orga}-orgaNet
 | |
|   # postfixNet:
 | |
|   #   external:
 | |
|   #     name: postfixNet
 |