fedisearch-compose/docker-compose.yml

89 wiersze
2.6 KiB
YAML

version: "3.9"
x-logging:
&default-logging
driver: "json-file"
options:
max-size: "1M"
max-file: "10"
services:
fedisearch-storage:
image: skorpil/fedistore:latest
build:
context: ./build/fedistore
target: prod
volumes:
- ./build/fedistore/application:/srv
environment:
- 'ELASTIC_URL=http://elastic:9200'
- 'ELASTIC_PASSWORD=${FEDISEARCH_ELASTIC_PASSWORD}'
- 'ACCESS_WRITE=${FEDISEARCH_KEY_CRAWLER},${FEDISEARCH_KEY_ADMIN}'
- 'CORS_ALLOWED_ORIGINS=${FEDISEARCH_CORS_ALLOWED_ORIGINS}'
networks:
fedisearch:
logging: *default-logging
depends_on:
- fedisearch-elasticsearch
fedisearch-crawler:
image: skorpil/fedicrawl:latest
restart: always
build:
context: ./build/fedicrawl
target: prod
environment:
- 'SEED_NODE_DOMAIN=${FEDISEARCH_SEED}'
- 'TZ=${FEDISEARCH_TIMEZONE}'
- 'REATTEMPT_MINUTES=${FEDISEARCH_REATTEMPT_MINUTES}'
- 'REFRESH_HOURS=${FEDISEARCH_REFRESH_HOURS}'
- 'WAIT_FOR_JOB_MINUTES=${FEDISEARCH_WAIT_FOR_JOB_MINUTES}'
- 'DEFAULT_TIMEOUT_MILLISECONDS=${FEDISEARCH_DEFAULT_TIMEOUT_MILLISECONDS}'
- 'SEED_TIMEOUT_MILLISECONDS=${FEDISEARCH_SEED_TIMEOUT_MILLISECONDS}'
- 'ELASTIC_URL=http://elastic:9200'
- 'ELASTIC_PASSWORD=${FEDISEARCH_ELASTIC_PASSWORD}'
- 'BANNED_DOMAINS=${FEDISEARCH_BANNED_DOMAINS}'
- 'MAX_CRAWLING_DEPTH=${FEDISEARCH_MAX_CRAWLING_DEPTH}'
- 'CRAWLING_VERSION=${FEDISEARCH_CRAWLING_VERSION}'
- 'STORE_KEY=${FEDISEARCH_KEY_CRAWLER}'
networks:
fedisearch:
logging: *default-logging
depends_on:
- fedisearch-storage
fedisearch-searcher:
image: skorpil/fedisearch:latest
restart: always
build:
context: ./build/fedisearch
target: prod
environment:
- 'MATOMO_URL=${FEDISEARCH_MATOMO_URL}'
- 'MATOMO_SITE_ID=${FEDISEARCH_MATOMO_SITE_ID}'
- 'STATS_CACHE_MINUTES=${FEDISEARCH_STATS_CACHE_MINUTES}'
- 'TZ=${FEDISEARCH_TIMEZONE}'
- 'GRAPHQL_URL=http://localhost:4000/api/graphql'
networks:
fedisearch:
logging: *default-logging
depends_on:
- fedisearch-storage
fedisearch-elasticsearch:
image: elasticsearch:8.4.1
restart: always
environment:
- xpack.security.enrollment.enabled=true
- discovery.type=single-node
- ELASTIC_PASSWORD=${FEDISEARCH_ELASTIC_PASSWORD}
- 'TZ=${FEDISEARCH_TIMEZONE}'
volumes:
- fedisearch-elasticsearch-data:/usr/share/elasticsearch/data
networks:
fedisearch:
aliases:
- elastic
networks:
fedisearch:
volumes:
fedisearch-elasticsearch-data: