forked from numerique-gouv/b3desk
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.override.yml
111 lines (103 loc) · 2.89 KB
/
docker-compose.override.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
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
version: '3.7'
services:
web:
depends_on:
nextcloud:
condition: service_started
keycloak:
condition: service_healthy
entrypoint: ["/bin/sh", "-c" , "flask db upgrade && flask run --host=0.0.0.0"]
volumes:
- /tmp/download/:/tmp/download/ # same target as TMP_DOWNLOAD_DIR
- /tmp/b3desk/:/tmp/b3desk/ # same target as UPLOAD_DIR
env_file:
- ${ENV_FILE_OVERRIDE-web.env}
worker:
environment:
- FLASK_DEBUG=1
env_file:
- ${ENV_FILE_OVERRIDE-web.env} # to get shared REDIS_URL
broker:
ports:
- 127.0.0.1:6379:6379
keycloak:
container_name: kc
image: quay.io/keycloak/keycloak:legacy
depends_on:
- postgres
env_file:
- keycloak.env
volumes:
- ./keycloak/themes/dsfr:/opt/jboss/keycloak/themes/dsfr
ports:
- 8080:8080
- 8443:8443
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/auth"]
start_period: 20s
nextcloud:
container_name: nc
depends_on:
postgres:
condition: service_healthy
build:
context: ./nextcloud
environment:
- POSTGRES_DB=nextcloud
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=Pa55w0rd
- POSTGRES_HOST=postgres
- NEXTCLOUD_ADMIN_USER=admin
- NEXTCLOUD_ADMIN_PASSWORD=Pa55w0rd
- NEXTCLOUD_USER=bbb-visio-user
- NEXTCLOUD_USER_PASS=passwordSTRONG
- NEXTCLOUD_TRUSTED_DOMAINS=nextcloud # service name in docker network
- NEXTCLOUD_ALLOW_ORIGIN=http://localhost:5000 # allow local browser to pick nextcloud files
volumes:
- ./nextcloud/html:/var/www/html
- ./nextcloud/conf:/var/www/conf # to share Nextcloud Sessiontoken generated key file
ports:
- 80:80
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:80/login"]
start_period: 60s
tokenmock:
container_name: id
image: php:7.2-apache
depends_on:
nextcloud:
condition: service_healthy
env_file:
- ${ENV_FILE_OVERRIDE-web.env} # to get shared NC_LOGIN_API_KEY
environment:
- NC_HOST=http://nextcloud # nextcloud service in docker network
volumes:
- ./tokenmock:/var/www/html
- ./nextcloud/conf:/var/www/conf # to get shared Nextcloud Sessiontoken generated key
ports:
- 9000:80
postgres:
container_name: db
image: postgres
env_file:
- postgres.env
ports:
- 127.0.0.1:5432:5432
volumes:
- ./postgres/initdb:/docker-entrypoint-initdb.d
- ./postgres/data:/var/lib/postgresql/data
healthcheck:
test: psql -U postgres
interval: 5s
timeout: 5s
retries: 5
tests:
container_name: tests
build:
context: ./web
dockerfile: Dockerfile-tests
env_file:
- ${ENV_FILE_OVERRIDE-web.env}
volumes:
- ./web/b3desk:/opt/bbb-visio/b3desk
- ./web/tests:/opt/bbb-visio/tests