-
-
Notifications
You must be signed in to change notification settings - Fork 175
/
Copy pathdocker-compose.yml
134 lines (122 loc) · 3.51 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
123
124
125
126
127
128
129
130
131
132
133
134
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
- FLOWER_URL=http://flower:5555/flower
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/
environment:
- SOLR_LOCAL_HOST=0.0.0.0
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
flower:
image: mher/flower
environment:
- CELERY_BROKER_URL=amqp://rabbitmq
- FLOWER_PORT=5555
- FLOWER_URL_PREFIX=flower
depends_on:
- 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: