-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
151 lines (149 loc) · 3.63 KB
/
docker-compose.yml
File metadata and controls
151 lines (149 loc) · 3.63 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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
x-web_env: &web_env
REDIS_HOST: redis
REDIS_PASSWORD: ${REDIS_PASSWORD:-redispassword}
API_BEARER_TOKEN:
MYSQL_DB: pdf_accessibility_api
MYSQL_USER: root
MYSQL_PORT: 3306
MYSQL_HOST: db
AWS_REGION: "${AWS_REGION}"
AWS_ACCESS_KEY_ID: "${AWS_ACCESS_KEY_ID}"
AWS_SECRET_ACCESS_KEY: "${AWS_SECRET_ACCESS_KEY}"
S3_BUCKET_NAME: "${S3_BUCKET_NAME}"
S3_ENDPOINT: "${S3_ENDPOINT}"
LLM_MODEL: "${LLM_MODEL}"
AZURE_CLIENT_ID: ${AZURE_CLIENT_ID}
AZURE_CLIENT_SECRET: ${AZURE_CLIENT_SECRET}
AZURE_AUTH_ENDPOINT: ${AZURE_AUTH_ENDPOINT}
AUTHORIZED_USERS_ROLE: ${AUTHORIZED_USERS_ROLE}
ADMIN_USERS_ROLE: ${ADMIN_USERS_ROLE}
services:
web:
user: 3000:3000
depends_on:
db:
condition: service_healthy
redis:
condition: service_started
minio:
condition: service_started
tty: true
stdin_open: true
environment:
<<: *web_env
build:
context: .
target: dev
volumes:
- bundle-data:/app/vendor/bundle
- node-data:/app/node_modules
- uploads-tmp-data:/app/tmp/uploads
ports:
- "3000:3000"
healthcheck:
test: curl -f http://localhost:3000/up
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
s3_poller:
user: 3000:3000
depends_on:
db:
condition: service_healthy
minio:
condition: service_started
tty: true
stdin_open: true
environment:
<<: *web_env
RAILS_LOG_TO_STDOUT: "1"
build:
context: .
target: dev
command: bundle exec rake s3:check_final_files_loop
volumes:
- bundle-data:/app/vendor/bundle
worker:
user: 3000:3000
depends_on:
web:
condition: service_healthy
environment:
<<: *web_env
build:
context: .
target: dev-worker
volumes:
- worker-bundle-data:/app/vendor/bundle
- uploads-tmp-data:/app/tmp/uploads
mock_remediation_tool:
user: 3000:3000
depends_on:
web:
condition: service_healthy
environment:
<<: *web_env
build:
context: .
target: dev-mock-remediation-tool
volumes:
- mock-remediation-tool-bundle-data:/app/vendor/bundle
db:
environment:
MYSQL_ROOT_PASSWORD: pdf_accessibility_api
MYSQL_DATABASE: pdf_accessibility_api
MYSQL_USER: pdf_accessibility_api
MYSQL_PASSWORD: pdf_accessibility_api
command:
- mysqld
- --character-set-server=utf8mb4
image: mariadb:10.4.6
ports:
- "3306:3306"
volumes:
- db-data:/var/lib/mysql
healthcheck:
test: mysqladmin ping -h localhost -u root --password=$$MYSQL_ROOT_PASSWORD
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
redis:
image: redis:8.0.2
command: redis-server --requirepass ${REDIS_PASSWORD:-redispassword}
volumes:
- redis-data:/data
ports:
- "6379:6379"
minio:
image: minio/minio:RELEASE.2021-03-17T02-33-02Z
container_name: minio
restart: always
volumes:
- minio-data:/data
environment:
MINIO_ACCESS_KEY: pdf_accessibility_api
MINIO_SECRET_KEY: pdf_accessibility_api
MINIO_ROOT_USER: pdf_accessibility_api
MINIO_ROOT_PASSWORD: pdf_accessibility_api
ports:
- ${MINIO_PORT:-9000}:9000 # API
entrypoint:
- /bin/sh
- -c
- mkdir -p /data/pdf_accessibility_api; minio --compat server --address ':9000' /data
networks:
default:
driver: bridge
driver_opts:
com.docker.network.driver.mtu: 1400
volumes:
redis-data:
bundle-data:
worker-bundle-data:
mock-remediation-tool-bundle-data:
node-data:
minio-data:
db-data:
uploads-tmp-data: