Files
auto-archiver-api/docker-compose.yml
Lilia Kai 8e4801f3d3 Run browsertrix in docker on the host
Install docker in the container

Add a named volume called `browsertrix`

Mount the named volume in the worker at /crawls

Expose the host docker socket

Override the environment variable from auto-archiver's Dockerfile so
that it will call docker.

This will require setting new configs in orchestration.yaml:

 wacz_archiver_enricher:
  browsertrix_home: auto-archiver-api_browsertrix
  wacz_collections: /crawls
2023-09-12 20:37:25 +02:00

64 lines
1.6 KiB
YAML

version: '3.8'
volumes:
browsertrix:
services:
web:
build: ./src
restart: always
ports:
- 8004:8000
command: uvicorn main:app --host 0.0.0.0 --reload
volumes:
- ./src:/app
env_file: src/.env
environment:
- CELERY_BROKER_URL=redis://:${REDIS_PASSWORD}@redis:6379/0
- CELERY_RESULT_BACKEND=redis://:${REDIS_PASSWORD}@redis:6379/0
depends_on:
- redis
worker:
build: ./src
restart: always
command: celery worker --app=worker.celery --loglevel=info --logfile=logs/celery.log
volumes:
- ./src:/app
- /var/run/docker.sock:/var/run/docker.sock
- browsertrix:/crawls
env_file: src/.env
environment:
- CELERY_BROKER_URL=redis://:${REDIS_PASSWORD}@redis:6379/0
- CELERY_RESULT_BACKEND=redis://:${REDIS_PASSWORD}@redis:6379/0
- RUNNING_IN_DOCKER= # Override env from auto-archiver Dockerfile
depends_on:
- web
- redis
redis:
image: redis:6-alpine
command: redis-server /conf/redis.conf --requirepass ${REDIS_PASSWORD}
volumes:
- "./redis/data:/data"
- "./redis/config:/conf"
restart: always
dashboard:
build: ./src
restart: always
command: flower --app=worker.celery --port=5555 --broker=redis://:${REDIS_PASSWORD}@redis:6379/0 --basic_auth=${FLOWER_USERNAME}:${FLOWER_PASSWORD}
env_file: src/.env
ports:
- 5556:5555
environment:
- CELERY_BROKER_URL=redis://:${REDIS_PASSWORD}@redis:6379/0
- CELERY_RESULT_BACKEND=redis://:${REDIS_PASSWORD}@redis:6379/0
depends_on:
- web
- redis
- worker