forked from opensemanticsearch/open-semantic-search
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
122 lines (111 loc) · 3.24 KB
/
docker-compose.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
version: '3'
services:
apps:
image: opensemanticsearch/open-semantic-search
build:
context: .
depends_on:
- rabbitmq
- solr
- tika
volumes:
- config_etl:/etc/opensemanticsearch
- config_solr-php-ui:/etc/solr-php-ui
# Django sqlite DB for settings and thesaurus
- data_db:/var/opensemanticsearch/db
# Ontologies uploaded to Django web app and thumbnails generated by ETL
- data_media:/var/opensemanticsearch/media
environment:
- SOLR_PHP_UI_SOLR_HOST=solr
- OPEN_SEMANTIC_ETL_MQ_BROKER=amqp://rabbitmq
- OPEN_SEMANTIC_ETL_SOLR=http://solr:8983/solr/
- OPEN_SEMANTIC_ETL_TIKA_SERVER=http://tika:9998
- OPEN_SEMANTIC_ETL_TIKA_SERVER_FAKECACHE=http://tika-fakecache:9998
- OPEN_SEMANTIC_ETL_SPACY_SERVER=http://spacy-services:8080
- OPEN_SEMANTIC_ETL_NEO4J_HOST=neo4j
env_file:
- neo4j.env
ports:
- "8080:80"
etl:
image: opensemanticsearch/open-semantic-etl
build:
context: src/open-semantic-etl/
depends_on:
- apps
- rabbitmq
- solr
- tika
- tika-fakecache
- spacy-services
environment:
- OPEN_SEMANTIC_ETL_MQ_BROKER=amqp://rabbitmq
- OPEN_SEMANTIC_ETL_METADATA_SERVER=http://apps/search-apps/annotate/json
- OPEN_SEMANTIC_ETL_SOLR=http://solr:8983/solr/
- OPEN_SEMANTIC_ETL_TIKA_SERVER=http://tika:9998
- OPEN_SEMANTIC_ETL_TIKA_SERVER_FAKECACHE=http://tika-fakecache:9998
- OPEN_SEMANTIC_ETL_SPACY_SERVER=http://spacy-services:8080
- OPEN_SEMANTIC_ETL_NEO4J_HOST=neo4j
- OMP_THREAD_LIMIT=1
env_file:
- neo4j.env
volumes:
# read only (:ro), since workers don't need to change the config (is done only by admin or web ui in container apps)
- config_etl:/etc/opensemanticsearch:ro
# write access to persistent thumbnails dir
- data_media:/var/opensemanticsearch/media
- cache_tesseract:/var/cache/tesseract
solr:
image: opensemanticsearch/solr
build:
context: src/solr.deb/
volumes:
- data_solr:/var/solr
# uncomment next two lines, if you want access the Solr API and admin UI on host IP
#ports:
# - "8983:8983"
tika:
image: opensemanticsearch/tika-server
build:
context: src/tika-server.deb/
environment:
- OMP_THREAD_LIMIT=1
- TIKA_CONFIG=/etc/tika/tika-config-cache.xml
volumes:
- cache_tesseract:/var/cache/tesseract
tika-fakecache:
image: opensemanticsearch/tika-server
build:
context: src/tika-server.deb/
environment:
- OMP_THREAD_LIMIT=1
- TIKA_CONFIG=/etc/tika/tika-config-fakecache.xml
volumes:
- cache_tesseract:/var/cache/tesseract
spacy-services:
image: opensemanticsearch/spacy-services
build:
context: src/spacy-services.deb/src/spacy-services/
rabbitmq:
image: rabbitmq
neo4j:
image: neo4j
restart: always
env_file:
- neo4j.env
volumes:
- data_neo4j:/data
# Cron service to enable crawlers to start
cron:
image: opensemanticsearch/cron
build:
context: .
dockerfile: Dockerfile-cron
volumes:
config_etl:
config_solr-php-ui:
data_db:
data_media:
data_neo4j:
data_solr:
cache_tesseract: