-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdocker-compose.yml
131 lines (123 loc) · 3.88 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
version: '2'
services:
api:
build:
context: .
args:
http_proxy: ${HTTP_PROXY}
https_proxy: ${HTTPS_PROXY}
environment:
- "FLASK_ENV=development" # DEBUG mode for development
- "KAFKA_LAUNCH_BROKER=kafka:9092"
- "KAFKA_LAUNCH_TOPIC=uris.candidates.fc"
# Internal test systems
- "CDX_SERVER=http://cdxserver:8080/tc"
- "WAYBACK_SERVER=http://pywb:8080/test/"
- "WEBHDFS_PREFIX=http://warc-server:8000/by-filename/"
- "WEBRENDER_ARCHIVE_SERVER=http://webrender:8010/render"
- "IIIF_SERVER=http://iiif:8182"
- "LOG_LEVEL=debug"
- "SCRIPT_NAME="
# Live systems
#- "CDX_SERVER=http://cdx.api.wa.bl.uk/data-heritrix"
#- "WAYBACK_SERVER=http://192.168.45.25:8180/archive/"
#- "WEBHDFS_PREFIX=http://hdfs.api.wa.bl.uk/webhdfs/v1"
depends_on:
- cdxserver
- warc-server
- webrender
- kafka
- pywb
- iiif
ports:
- "8000:8000"
# Archived web page rendering service
webrender:
image: ukwa/webrender-puppeteer:2.2.1
#image: webrender-puppeteer_webrender:latest
environment:
- "HTTP_PROXY=http://pywb:8080"
- "LC_ALL=en_US.utf8"
- "PORT=8010"
- "NODE_ENV=production"
- "RUN_BEHAVIOURS=false"
ports:
- "18010:8010"
depends_on:
- pywb
# OutbackCDX
# Needs populating using script in integration testing folder.
cdxserver:
image: nlagovau/outbackcdx:0.11.0
command: "java -jar outbackcdx.jar -d /cdx-data -p 8080 -b 0.0.0.0"
ports:
- "19090:8080"
volumes:
- ./integration-testing/outbackcdx-data:/cdx-data
# PyWB
pywb:
image: webrecorder/pywb:2.6.6
ports:
- "18080:8080"
volumes:
- ./integration-testing/webarchive:/webarchive
warc-server:
image: ukwa/warc-server:1.1.0
#ports:
# - 18000:8000
environment:
- "WARC_PATHS=/webarchive/collections/test/archive"
volumes:
- ./integration-testing/webarchive:/webarchive
# Kafka
kafka:
image: wurstmeister/kafka:1.1.0
#ports:
# - "9092:9092"
environment:
KAFKA_ADVERTISED_HOST_NAME: kafka
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_LISTENERS: PLAINTEXT://:9092
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
KAFKA_NUM_RECOVERY_THREADS_PER_DATA_DIR: 10
LOG_RETENTION_HOURS: -1
LOG_RETENTION_BYTES: -1
NUM_PARTITIONS: 16
KAFKA_CREATE_TOPICS: "uris.candidates.fc:16:1 --config=compression.type=snappy,uris.tocrawl.fc:16:1 --config=compression.type=snappy,uris.crawled.fc:16:1 --config=compression.type=snappy,uris.discarded.fc:16:1 --config=compression.type=snappy"
KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'false'
LOG4J_LOGGER_KAFKA: WARN
volumes:
- /var/run/docker.sock:/var/run/docker.sock
depends_on:
- zookeeper
# Needs a Zookeeper too
# ----
zookeeper:
image: wurstmeister/zookeeper
#ports:
# - "2181:2181"
#
# IIIF Server to manipulate images
# Reference for env vars: https://github.com/lyrasis/docker-cantaloupe/blob/master/Dockerfile
#
iiif:
image: lyrasis/cantaloupe
environment:
SOURCE_STATIC: "HttpSource"
HTTPSOURCE_BASICLOOKUPSTRATEGY_URL_PREFIX: "http://api:8000/iiif/render_raw?pwid="
HTTPSOURCE_BASICLOOKUPSTRATEGY_URL_SUFFIX: ""
HTTPSOURCE_REQUEST_TIMEOUT: 3600
PROCESSOR_STREAM_RETRIEVAL_STRATEGY: "CacheStrategy"
# Seems to cope better with sharp edges:
PROCESSOR_DOWNSCALE_FILTER: "Lanczos3"
# Web pages suffer badly from JPEG artefacts. Can use PNG instead.
PROCESSOR_JPG_QUALITY: 100
CACHE_SERVER_RESOLVE_FIRST: "false"
LOG_APPLICATION_LEVEL: "info"
LOG_ACCESS_CONSOLEAPPENDER_ENABLED: "true"
# Not needed in prod:
PRINT_STACK_TRACE_ON_ERROR_PAGES: "false"
ports:
- 8182:8182
volumes:
- ./integration-testing/iiif_cache:/var/cache/cantaloupe