mirror of
https://github.com/bellingcat/auto-archiver-api.git
synced 2026-06-26 20:28:42 +03:00
Merge pull request #11 from bellingcat/wacz-dood
This commit is contained in:
17
Makefile
Normal file
17
Makefile
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
clean-dev:
|
||||||
|
@echo -n "Are you sure? [yes/N] (this will delete volumes) " && read ans && [ $${ans:-N} = yes ]
|
||||||
|
docker compose -f docker-compose.yml -f docker-compose.dev.yml down --volumes --remove-orphans
|
||||||
|
|
||||||
|
dev:
|
||||||
|
docker compose -f docker-compose.yml -f docker-compose.dev.yml build
|
||||||
|
docker compose -f docker-compose.yml -f docker-compose.dev.yml up --remove-orphans
|
||||||
|
|
||||||
|
stop-dev:
|
||||||
|
docker compose -f docker-compose.yml -f docker-compose.dev.yml down --volumes
|
||||||
|
|
||||||
|
prod:
|
||||||
|
docker compose build
|
||||||
|
docker compose up -d --remove-orphans
|
||||||
|
|
||||||
|
stop-prod:
|
||||||
|
docker compose down
|
||||||
@@ -2,10 +2,15 @@ version: '3.8'
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
web:
|
web:
|
||||||
|
restart: "no"
|
||||||
environment:
|
environment:
|
||||||
- SERVE_LOCAL_ARCHIVE=/app/local_archive # See orchestration.yaml local_storage.save_to
|
- SERVE_LOCAL_ARCHIVE=/app/local_archive # See orchestration.yaml local_storage.save_to
|
||||||
- ALLOWED_ORIGINS=http://localhost:8004
|
- ALLOWED_ORIGINS=http://localhost:8004
|
||||||
|
|
||||||
|
worker:
|
||||||
|
restart: "no"
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
command: redis-server /conf/redis.conf
|
restart: "no"
|
||||||
ports:
|
ports:
|
||||||
- 6379:6379
|
- 6379:6379
|
||||||
|
|||||||
@@ -1,54 +1,64 @@
|
|||||||
|
# reusable YAML variables
|
||||||
|
x-broker-url: &broker-url "redis://:${REDIS_PASSWORD}@redis:6379/0"
|
||||||
|
|
||||||
|
x-base-setup: &base-setup
|
||||||
|
build: ./src
|
||||||
|
restart: always
|
||||||
|
env_file: src/.env
|
||||||
|
environment:
|
||||||
|
CELERY_BROKER_URL: *broker-url
|
||||||
|
CELERY_RESULT_BACKEND: *broker-url
|
||||||
|
|
||||||
version: '3.8'
|
version: '3.8'
|
||||||
|
|
||||||
services:
|
volumes:
|
||||||
|
crawls:
|
||||||
|
|
||||||
|
name: "auto-archiver-api"
|
||||||
|
services:
|
||||||
web:
|
web:
|
||||||
build: ./src
|
<<: *base-setup
|
||||||
restart: always
|
|
||||||
ports:
|
ports:
|
||||||
- 8004:8000
|
- 8004:8000
|
||||||
command: uvicorn main:app --host 0.0.0.0 --reload
|
command: uvicorn main:app --host 0.0.0.0 --reload
|
||||||
volumes:
|
volumes:
|
||||||
- ./src:/app
|
- ./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:
|
depends_on:
|
||||||
- redis
|
- redis
|
||||||
|
|
||||||
worker:
|
worker:
|
||||||
build: ./src
|
<<: *base-setup
|
||||||
restart: always
|
|
||||||
command: celery worker --app=worker.celery --loglevel=info --logfile=logs/celery.log
|
command: celery worker --app=worker.celery --loglevel=info --logfile=logs/celery.log
|
||||||
volumes:
|
volumes:
|
||||||
- ./src:/app
|
- ./src:/app
|
||||||
env_file: src/.env
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
- crawls:/crawls # BROWSERTRIX_HOME_HOST:BROWSERTRIX_HOME_CONTAINER
|
||||||
environment:
|
environment:
|
||||||
- CELERY_BROKER_URL=redis://:${REDIS_PASSWORD}@redis:6379/0
|
CELERY_BROKER_URL: *broker-url
|
||||||
- CELERY_RESULT_BACKEND=redis://:${REDIS_PASSWORD}@redis:6379/0
|
CELERY_RESULT_BACKEND: *broker-url
|
||||||
|
WACZ_ENABLE_DOCKER: 1 # Enable calling docker from this container
|
||||||
|
BROWSERTRIX_HOME_HOST: auto-archiver-api_crawls
|
||||||
|
BROWSERTRIX_HOME_CONTAINER: /crawls
|
||||||
depends_on:
|
depends_on:
|
||||||
- web
|
- web
|
||||||
- redis
|
- redis
|
||||||
|
|
||||||
redis:
|
redis:
|
||||||
image: redis:6-alpine
|
image: redis:6-alpine
|
||||||
|
restart: always
|
||||||
command: redis-server /conf/redis.conf --requirepass ${REDIS_PASSWORD}
|
command: redis-server /conf/redis.conf --requirepass ${REDIS_PASSWORD}
|
||||||
volumes:
|
volumes:
|
||||||
- "./redis/data:/data"
|
- "./redis/data:/data"
|
||||||
- "./redis/config:/conf"
|
- "./redis/config:/conf"
|
||||||
restart: always
|
|
||||||
|
|
||||||
|
# dashboard service will only launch the dashboard if "--profile flower" is passed to docker compose; or if explicitly called "docker compose up flower"
|
||||||
dashboard:
|
dashboard:
|
||||||
build: ./src
|
<<: *base-setup
|
||||||
restart: always
|
profiles:
|
||||||
command: flower --app=worker.celery --port=5555 --broker=redis://:${REDIS_PASSWORD}@redis:6379/0 --basic_auth=${FLOWER_USERNAME}:${FLOWER_PASSWORD}
|
- flower
|
||||||
env_file: src/.env
|
command: ["flower", "--app=worker.celery", "--port=5555", "--broker", *broker-url, "--basic_auth=${FLOWER_USERNAME}:${FLOWER_PASSWORD}"]
|
||||||
ports:
|
ports:
|
||||||
- 5556:5555
|
- 5556:5555
|
||||||
environment:
|
|
||||||
- CELERY_BROKER_URL=redis://:${REDIS_PASSWORD}@redis:6379/0
|
|
||||||
- CELERY_RESULT_BACKEND=redis://:${REDIS_PASSWORD}@redis:6379/0
|
|
||||||
depends_on:
|
depends_on:
|
||||||
- web
|
- web
|
||||||
- redis
|
- redis
|
||||||
|
|||||||
@@ -4,6 +4,8 @@ FROM bellingcat/auto-archiver
|
|||||||
# set work directory
|
# set work directory
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
|
RUN curl -fsSL https://get.docker.com -o get-docker.sh && \
|
||||||
|
sh get-docker.sh
|
||||||
# set environment variables
|
# set environment variables
|
||||||
ENV PYTHONUNBUFFERED 1
|
ENV PYTHONUNBUFFERED 1
|
||||||
ENV PYTHONDONTWRITEBYTECODE 1
|
ENV PYTHONDONTWRITEBYTECODE 1
|
||||||
|
|||||||
2
src/Pipfile.lock
generated
2
src/Pipfile.lock
generated
@@ -1926,7 +1926,7 @@
|
|||||||
"sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36",
|
"sha256:440d5dd3af93b060174bf433bccd69b0babc3b15b1a8dca43789fd7f61514b36",
|
||||||
"sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"
|
"sha256:b75ddc264f0ba5615db7ba217daeb99701ad295353c45f9e95963337ceeeffb2"
|
||||||
],
|
],
|
||||||
"markers": "python_version >= '3.7'",
|
"markers": "python_version < '3.11'",
|
||||||
"version": "==4.7.1"
|
"version": "==4.7.1"
|
||||||
},
|
},
|
||||||
"typing-inspect": {
|
"typing-inspect": {
|
||||||
|
|||||||
Reference in New Issue
Block a user