-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
81 lines (76 loc) · 3.75 KB
/
docker-compose.yml
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
#
# Ci-dessous la config qui permet de lancer convergence-docker
#
# Remarque: avant de lancer docker-compose up, il faut régler le fichier .env
# en partant du fichier .env-dist qui donne les variables d'environnements
# Ã personnaliser et des exemples de valeurs.
#
version: "3.5"
services:
############################
# sudoc-api
# API de sudoc
# (écrite en java spring boot)
sudoc-api:
image: abesesr/sudoc:${CONVERGENCE_SUDOC_API_VERSION}
container_name: sudoc-api
restart: unless-stopped
mem_limit: ${MEM_LIMIT}
environment:
# Pour basculer sur bon application-xxx.properties préalablement embarqué
# dans le code ici:
# https://github.com/abes-esr/abes-hello-back/tree/develop/web/src/main/resources/
SPRING_PROFILES_ACTIVE: ${CONVERGENCE_API_SPRING_PROFILES_ACTIVE}
# Pour surcharger les paramètres spring du application-xxx.properties
# ci-dessous via le système de .env de docker
# https://www.linkedin.com/pulse/externalizing-properties-spring-boot-application-docker-phani-bushan
# pour la liste de tous les champs qu'on peut surcharger,
# voir le contenu des application-xxx.properties embarqués dans le code sources
SUDOC_SERVEUR: ${CONVERGENCE_API_SUDOC_SERVEUR}
SUDOC_LOGIN: ${CONVERGENCE_API_SUDOC_LOGIN}
SUDOC_PASSWD: ${CONVERGENCE_API_SUDOC_PASS}
SUDOC_PORT: 1075
SPRING_DATASOURCE_URL: ${CONVERGENCE_API_SPRING_DATASOURCE_BASEXML_JDBCURL}
SPRING_DATASOURCE_USERNAME: ${CONVERGENCE_API_SPRING_DATASOURCE_BASEXML_USERNAME}
SPRING_DATASOURCE_PASSWORD: ${CONVERGENCE_API_SPRING_DATASOURCE_BASEXML_PASSWORD}
SPRING_DATASOURCE_HIKARI_MAXIMUM-POOL-SIZE: ${CONVERGENCE_API_SPRING_DATASOURCE_HIKARI_MAXIMUM_POOL_SIZE}
LOGGING_LEVEL_FR_ABES_SUDOC: ${CONVERGENCE_API_LOGGING_LEVEL}
HOSTNAME: ${HOSTNAME}
ports:
- ${CONVERGENCE_SUDOC_API_HTTP_PORT}:8082
- 15088:9090
labels:
# pour envoyer les logs dans le puits de log de l'abes
- "co.elastic.logs/enabled=true"
- "co.elastic.logs/processors.add_fields.target="
- "co.elastic.logs/processors.add_fields.fields.abes_appli=convergence"
- "co.elastic.logs/processors.add_fields.fields.abes_middleware=java-spring"
# pour que les mises à jour de cette image soient auto-déployées par watchtower
- "com.centurylinklabs.watchtower.scope=convergence-watchtower-scope"
#######################################
# convergence-watchtower
# Conteneur chargé de mettre à jour automatiquement toutes les N secondes
# les images docker des conteneurs surveillés (via le système de label/scope de watchtower)
# plus d'info : https://containrrr.dev/watchtower
# cf README.md pour explications : https://github.com/abes-esr/convergence-docker#d%C3%A9ploiement-continu
convergence-watchtower:
image: containrrr/watchtower:1.4.0
container_name: convergence-watchtower
restart: unless-stopped
mem_limit: ${MEM_LIMIT}
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
WATCHTOWER_CLEANUP: "true"
WATCHTOWER_POLL_INTERVAL: 60
WATCHTOWER_DEBUG: "false"
WATCHTOWER_NO_STARTUP_MESSAGE: "true"
WATCHTOWER_WARN_ON_HEAD_FAILURE: "never"
WATCHTOWER_RUN_ONCE: ${CONVERGENCE_WATCHTOWER_RUN_ONCE}
WATCHTOWER_NOTIFICATIONS: "slack"
WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL: ${CONVERGENCE_WATCHTOWER_NOTIFICATION_SLACK_HOOK_URL}
WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER: ${CONVERGENCE_WATCHTOWER_NOTIFICATION_SLACK_IDENTIFIER}
WATCHTOWER_NOTIFICATION_SLACK_CHANNEL: "#notif-convergence-watchtower"
WATCHTOWER_SCOPE: "convergence-watchtower-scope"
labels:
- "com.centurylinklabs.watchtower.scope=convergence-watchtower-scope"