1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
|
version: '3.1’
services:
# API Gateway
gateway:
image: dockercloud/haproxy:1.6.0
labels:
com.docker.compose.service.description: "Point d'entrée principal à l'application, ce service prend en charge les requêtes et les redistribue aux bons services"
com.docker.compose.service.languages: "HAProxy"
environment:
- FORCE_DEFAULT_BACKEND=True
- EXTRA_FRONTEND_SETTINGS_80=default_backend default_service
- TIMEOUT=connect 1200000, client 1200000, server 1200000
networks:
- api-network
ports:
- "80:80"
links:
- authorization-service
- log-service
- classic-frontend
- person-service
- nlp-service
- ontology-service
- file-downloader-service
- dynamic-scoring-service
- kibana-service
- gpec_elasticsearch-storage-service
volumes:
- /var/run/docker.sock:/var/run/docker.sock
pipeline-gateway:
image: dockercloud/haproxy:1.6.0
labels:
com.docker.compose.service.description: "Point d'entrée principal aux services de pré-traitements"
com.docker.compose.service.languages: "HAProxy"
environment:
- FORCE_DEFAULT_BACKEND=True
- EXTRA_FRONTEND_SETTINGS_9000=default_backend default_service
- TIMEOUT=connect 1200000, client 1200000, server 1200000
networks:
- pipeline-network
ports:
- "9000:80"
links:
- gepc_static-scoring-service
volumes:
- /var/run/docker.sock:/var/run/docker.sock
# Security
authorization-service:
image: image/authorization-service:0.6
labels:
com.docker.compose.service.description: "Prend en charge la gestion des accès"
com.docker.compose.service.languages: "Java"
environment:
- VIRTUAL_HOST=*/auth,*/auth/*
- SPRING_PROFILES_ACTIVE=production
networks:
- api-network
# Logging
log-service:
image: image/log-service:0.6
labels:
com.docker.compose.service.description: "Permet de centraliser les logs applicatifs via un endpoint REST"
com.docker.compose.service.languages: "NodeJS"
environment:
- VIRTUAL_HOST=*/log,*/log/*
- MONGO_STORAGE_HOST= mongo-storage-service
- MONGO_STORAGE_PORT= 27017
- MONGO_STORAGE_DB= test
networks:
- api-network
# Storage Cluster Mongo DB sur trois noeuds
mongo-storage-service:
image: mongo:3.4
command: mongod --replSet "rs1"
labels:
com.docker.compose.service.description: "Base de données principale"
com.docker.compose.service.languages: "MongoDB"
networks:
- api-network
- pipeline-network
ports:
- "9001:27017"
volumes:
- mongo-storage-data:/data/db
mongo-worker-1:
image: mongo:3.4
hostname: mongo-selve
command: mongod --replSet "rs1"
ports:
- "9002:27017"
networks:
- api-network
- pipeline-network
volumes:
- mongo-storage-data:/data/db
mongo-worker-2:
image: mongo:3.4
hostname: mongo-selve
command: mongod --replSet "rs1"
ports:
- "9003:27017"
networks:
- api-network
- pipeline-network
volumes:
- mongo-storage-data:/data/db
classic-frontend:
image: image/classic-frontend:0.6
labels:
com.docker.compose.service.description: "Interface Web"
com.docker.compose.service.languages: "HTML,CSS,Javascript,jQuery"
links:
- person-service
- nlp-service
- file-downloader-service
- mongo-storage-service
networks:
- api-network
volumes:
mongo-storage-data:
networks:
api-network:
driver: overlay
pipeline-network:
driver: overlay |
Partager