-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yaml
More file actions
134 lines (123 loc) · 3.55 KB
/
docker-compose.yaml
File metadata and controls
134 lines (123 loc) · 3.55 KB
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
version: '3'
services:
mongodb:
image: slaclab/mongo:3.7
# image: mongo:3.7
environment:
- MONGO_INITDB_DATABASE=site
- MONGO_INITDB_ROOT_USERNAME=admin
- MONGO_INITDB_ROOT_PASSWORD=somepassword
volumes:
- ../data/mongodb01:/data
- ./mongodb-init.d:/docker-entrypoint-initdb.d
# ports:
# - 27017:27017
# command: mongod --smallfiles --logpath=/dev/null # --quiet
zookeeper:
image: wurstmeister/zookeeper
###
# uncomment this for production
###
# volumes:
# - ../data/zookeeper01/data:/opt/zookeeper-3.4.9/data
kafka:
image: wurstmeister/kafka:latest
# ports:
# - "9094:9094"
# - "9092:9092"
environment:
HOSTNAME_COMMAND: "docker info | grep ^Name: | cut -d' ' -f 2"
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
KAFKA_ADVERTISED_PROTOCOL_NAME: OUTSIDE
KAFKA_ADVERTISED_PORT: 9094
KAFKA_PROTOCOL_NAME: INSIDE
KAFKA_PORT: 9092
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- zookeeper
# deploy:
# restart_policy:
# condition: on-failure
# delay: 5s
# max_attempts: 3
# window: 120s
kafka-consumer:
image: slaclab/kafka-consumer:latest
environment:
- KAFKA_BOOTSTRAP_SERVER=kafka:9092
depends_on:
- kafka
auth:
image: slaclab/explgbk-auth
environment:
###
# fake a user
###
# - FAKE_AUTH=1
# - FAKE_AUTH_USER=ytl
###
# or use real webauth
###
- REQUIRE_VALID_USER=1
- USE_WEBAUTH=1
###
# server
###
- SERVER_NAME=cryoem-logbook.slac.stanford.edu
- SERVER_ADMIN=ytl@slac.stanford.edu
###
# the dns name to forward/proxy traffic to/from
###
- PROXY_HOST=explgbk
- HTTPS_REDIRECT=https://cryoem-logbook.slac.stanford.edu/
###
# uncomment the following if you want to use some dummy certs
###
# - GENERATE_DUMMY_CERTS=yes
###
# use this bind mount if you have your own certs that you want to use
###
volumes:
- ${HOME}/certs/cryoem-logbook.crt:/etc/httpd/certs/cert.crt
- ${HOME}/certs/cryoem-logbook.key:/etc/httpd/certs/cert.key
- ${HOME}/certs/keytab_webauth.cryoem-logbook:/etc/httpd/certs/keytab_webauth
# for integrations
- ${HOME}/certs/backend.htpasswd:/etc/httpd/certs/backend.htpasswd
# for previews
- ${HOME}/previews:/var/www/html/previews
# use explgbk conf
# - ./httpd/explgbk.conf:/etc/httpd/conf.d/explgbk.conf
ports:
- 443:443
- 80:80
explgbk:
image: slaclab/explgbk-docker:latest
environment:
- LOGBOOK_SITE=CryoEM
- URAWI_EXPERIMENT_LOOKUP_URL=https://userportal.slac.stanford.edu/apps/urawi/ws/cryo_btsr_info
- NODE_ENV=development
- MONGODB_HOST=mongodb
- MONGODB_PORT=27017
- MONGODB_ADMIN_USERNAME=writer
- MONGODB_ADMIN_PASSWORD=somepassword
- MONGODB_USERNAME=writer
- MONGODB_PASSWORD=somepassword
- ROLES_DATABASE_HOST=mongodb
- ROLES_DATABASE_USER=reader
- ROLES_DATABASE_PASSWORD=somepassword
- KAFKA_BOOTSTRAP_SERVER=kafka:9092
###
# uncomment volumes for development
###
volumes:
- ./explgbk:/app
# overload the info panel for each experiment
- ./info_CryoEM.html:/app/static/html/ms/info_CryoEM.html
#ports:
# - 8000:8000
depends_on:
- mongodb
- auth
- kafka