-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.m1_mac.yml
180 lines (167 loc) · 4.46 KB
/
docker-compose.m1_mac.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
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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
version: '3.4'
volumes:
fcrepo:
solr:
db:
redis:
zk1:
zkconf:
app:
assets:
cache:
x-app: &app
platform: linux/amd64
build:
context: .
dockerfile: Dockerfile
target: development_image
image: hyku_addons/development_image:latest
environment:
HOST: "0.0.0.0" # Docker cannot forward to a containers localhost, so we need to use this IP instead
DATABASE_ADAPTER: postgresql
DATABASE_NAME: hyku
DATABASE_HOST: db
DATABASE_PASSWORD: DatabaseFTW
DATABASE_USER: postgres
DATABASE_TEST_NAME: hyku_test
FEDORA_URL: http://fcrepo:8080/fcrepo/rest
LD_LIBRARY_PATH: /opt/fits/tools/mediainfo/linux
RAILS_LOG_TO_STDOUT: "true"
SECRET_KEY_BASE: asdf
SETTINGS__ACTIVE_JOB__QUEUE_ADAPTER: sidekiq
SETTINGS__BULKRAX__ENABLED: "true"
SETTINGS__FITS_PATH: /opt/fits/fits.sh
SETTINGS__MULTITENANCY__ADMIN_HOST: hyku.docker
SETTINGS__MULTITENANCY__ADMIN_ONLY_TENANT_CREATION: "false"
SETTINGS__MULTITENANCY__DEFAULT_HOST: "%{tenant}.hyku.docker"
SETTINGS__MULTITENANCY__ROOT_HOST: hyku.docker
SETTINGS__MULTITENANCY__ENABLED: "true"
SETTINGS__SOLR__URL: http://solr:8983/solr/
SETTINGS__ZOOKEEPER__CONNECTION_STR: zoo1:2181/configs
SOLR_URL: http://solr:8983/solr/
PASSENGER_APP_ENV: development
REDIS_HOST: redis
GCLOUD_ZONE: 1233465
GCLOUD_PROJECT_ID: ABCDEFG
PUBSUB_SERVICEACCOUNT_KEY:
CHROME_HOSTNAME: chrome # Required for specs setup inside internal_hyku_test rails_helper
IN_DOCKER: "true" # Required by internal_test_hyku specs
RUBYOPT: "-W:no-deprecated -W:no-experimental" # Turn off Ruby 3.0 deprecation warnings
REDIS_NAMESPACE_QUIET: "true" # Turn off Gem deprecations warnings
volumes:
- app:/home/app/spec/internal_test_hyku/tmp/uploads
- assets:/home/app/spec/internal_test_hyku/public/assets
- cache:/home/app/spec/internal_test_hyku/tmp/cache
- .:/home/app
stdin_open: true
tty: true
services:
web:
<<: *app
# NOTE: We are using Puma (default Rails server) as Passenger doesn't allow byebug/webconsole to be run in dev.
command: bash -c "rm -f ./spec/internal_test_hyku/tmp/pids/server.pid && bundle install && bundle exec rails s"
ports:
- "3000:3000"
depends_on:
- db
- solr
- fcrepo
- redis
- zoo1
- initialize_app
- db_migrate
- workers
- chrome
runner:
<<: *app
command: /bin/bash
depends_on:
- db
- solr
- fcrepo
- redis
- zoo1
- initialize_app
- db_migrate
- workers
workers:
<<: *app
command: bash -c "bundle install && bundle exec sidekiq -r spec/internal_test_hyku/"
depends_on:
- db
- solr
- fcrepo
- redis
- zoo1
- initialize_app
- db_migrate
initialize_app:
<<: *app
command: bundle exec rails app:zookeeper:upload
depends_on:
- zoo1
db_migrate:
<<: *app
command: bash -c "bundle exec rake db:schema:load && bundle exec rake db:migrate app:db:test:prepare"
depends_on:
- db
db:
image: postgres:10-alpine
env_file:
- ./spec/internal_test_hyku/.env
environment:
PGDATA: /data
POSTGRES_PASSWORD: DatabaseFTW
POSTGRES_USER: postgres
POSTGRES_MULTIPLE_DATABASES: hyku,hyku_test
volumes:
- ./.docker-postgres:/docker-entrypoint-initdb.d
- db:/data
ports:
- "5432:5432"
redis:
image: redis:4
platform: linux/amd64
command: redis-server
volumes:
- redis:/data
expose:
- 6379
zoo1:
image: zookeeper:3.4
platform: linux/amd64
environment:
ZOO_MY_ID: 1
ZOO_SERVERS=server.1: zoo1:2888:3888
expose:
- 2181
- 2888
- 3888
volumes:
- zk1:/data
- zkconf:/conf
solr:
image: solr:7.5
command: solr -c -f -z zoo1:2181
platform: linux/amd64
depends_on:
- zoo1
expose:
- 8983
volumes:
- ./spec/internal_test_hyku:/app
- solr:/opt/solr/server/solr
fcrepo:
image: cbeer/fcrepo4:4.7
platform: linux/amd64
env_file:
- ./spec/internal_test_hyku/.env
expose:
- 8080
volumes:
- fcrepo:/data
environment:
JAVA_OPTS: '${JAVA_OPTS} -Dfcrepo.modeshape.configuration="classpath:/config/file-simple/repository.json" -Dfcrepo.object.directory="/data/objects" -Dfcrepo.binary.directory="/data/binaries"'
chrome:
image: selenium/standalone-chrome:3.141
platform: linux/amd64