-
Notifications
You must be signed in to change notification settings - Fork 60
Expand file tree
/
Copy pathdocker-compose-virtuoso.yml
More file actions
135 lines (127 loc) · 3.23 KB
/
Copy pathdocker-compose-virtuoso.yml
File metadata and controls
135 lines (127 loc) · 3.23 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
x-shared:
seek_base: &seek_base
# build: .
image: fairdom/seek:main
restart: always
environment: &seek_base_env
RAILS_ENV: production
SOLR_PORT: 8983
SOLR_HOST: solr
RAILS_LOG_LEVEL: info # debug, info, warn, error or fatal
REDIS_URL: redis://redis_store:6379/0
env_file:
- docker/db.env
- docker/virtuoso.env
volumes:
- seek-filestore:/seek/filestore
- seek-cache:/seek/tmp/cache
depends_on:
db:
condition: service_healthy
solr:
condition: service_healthy
virtuoso:
condition: service_started
services:
db:
# Database implementation, in this case MySQL
image: mysql:8.4
container_name: seek-mysql
command:
- --character-set-server=utf8mb4
- --collation-server=utf8mb4_unicode_ci
- --log-error-verbosity=1
# Optional: Enable mysql_native_password if needed for legacy apps
# - --mysql-native-password=ON
# Optional: restrict foreign keys if needed
# - --restrict-fk-on-non-standard-key=OFF
restart: always
stop_grace_period: 1m30s
env_file:
- docker/db.env
volumes:
- seek-mysql-db:/var/lib/mysql
healthcheck:
test:
[
"CMD-SHELL",
"mysqladmin ping -h localhost -u $$MYSQL_USER -p$$MYSQL_PASSWORD --silent",
]
interval: 10s
timeout: 5s
retries: 5
start_period: 20s
redis_store:
image: redis:8.6-alpine
container_name: seek-session-store
command: ["redis-server", "--appendonly", "yes"]
volumes:
- seek-redis-data:/data
restart: always
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 5
start_period: 20s
seek:
# The SEEK application
<<: *seek_base
container_name: seek
command: docker/entrypoint.sh
ports:
- "3000:3000"
environment:
<<: *seek_base_env
NO_ENTRYPOINT_WORKERS: 1
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/up"]
interval: 30s
timeout: 5s
retries: 5
start_period: 20s
seek_workers:
# The SEEK delayed job workers
<<: *seek_base
container_name: seek-workers
environment:
<<: *seek_base_env
QUIET_SUPERCRONIC: 1
command: docker/start_workers.sh
solr:
image: solr:9.10.1
container_name: seek-solr
restart: always
environment:
SOLR_JAVA_MEM: -Xms512m -Xmx1024m
volumes:
- seek-solr-data:/var/solr/
- ./solr/seek/conf:/opt/solr/server/solr/configsets/seek_config/conf
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:8983/solr/seek/admin/ping"]
interval: 30s
timeout: 5s
retries: 6
start_period: 30s
entrypoint:
- docker-entrypoint.sh
- solr-precreate
- seek
- /opt/solr/server/solr/configsets/seek_config
virtuoso:
image: openlink/virtuoso-opensource-7:7.2.15
container_name: seek-virtuoso
restart: always
ports:
- "8890:8890"
- "1111:1111"
environment:
DBA_PASSWORD: CHANGE_ME
volumes:
- seek-virtuoso-data:/database
volumes:
seek-filestore:
seek-mysql-db:
seek-solr-data:
seek-cache:
seek-virtuoso-data: