113 lines
3.7 KiB
YAML
113 lines
3.7 KiB
YAML
services:
|
|
|
|
fetcher_app_selenium:
|
|
image: fetcher_app_selenium
|
|
build:
|
|
context: ./app_selenium
|
|
args:
|
|
- ARCH=${ARCH} # arm64, amd64
|
|
container_name: fetcher_app_selenium
|
|
restart: unless-stopped
|
|
shm_size: 512mb
|
|
init: true # For zombie processes
|
|
environment:
|
|
- SELENIUM_SLEEP_PER_PAGE=${SELENIUM_SLEEP_PER_PAGE}
|
|
- PATH_LOGS_DIRECTORY=${PATH_LOGS_DIRECTORY}
|
|
ports:
|
|
- 80
|
|
dns:
|
|
- 1.1.1.1
|
|
- 1.0.0.1
|
|
|
|
fetcher_app_urls:
|
|
image: fetcher_app_urls
|
|
build:
|
|
context: ./app_urls
|
|
container_name: fetcher_app_urls
|
|
restart: unless-stopped
|
|
environment:
|
|
# Initialization
|
|
- INITIALIZE_DB=${INITIALIZE_DB} # Related to DB persistence
|
|
- DJANGO_SUPERUSER_USERNAME=${DJANGO_SUPERUSER_USERNAME}
|
|
- DJANGO_SUPERUSER_PASSWORD=${DJANGO_SUPERUSER_PASSWORD}
|
|
- DJANGO_SUPERUSER_EMAIL=${DJANGO_SUPERUSER_EMAIL}
|
|
# Django
|
|
- DJANGO_ALLOWED_HOSTS=${DJANGO_ALLOWED_HOSTS} # host1,host2
|
|
- DJANGO_ALLOWED_ORIGINS=${DJANGO_ALLOWED_ORIGINS} # Reverse proxy
|
|
- DJANGO_SECRET_KEY=${DJANGO_SECRET_KEY}
|
|
- DJANGO_DEBUG=${DJANGO_DEBUG}
|
|
- PATH_LOGS_DIRECTORY=${PATH_LOGS_DIRECTORY}
|
|
# Database
|
|
- DB_NAME=${DB_NAME}
|
|
- DB_USER=${DB_USER}
|
|
- DB_PASSWORD=${DB_PASSWORD}
|
|
- DB_HOST=${DB_HOST}
|
|
- DB_PORT=${DB_PORT}
|
|
- REDIS_CACHE_HOST=${REDIS_CACHE_HOST}
|
|
- REDIS_CACHE_PORT=${REDIS_CACHE_PORT}
|
|
- REDIS_CELERY_HOST=${REDIS_CELERY_HOST}
|
|
- REDIS_CELERY_PORT=${REDIS_CELERY_PORT}
|
|
# Job timeout: 30 min
|
|
- JOB_DEFAULT_TIMEOUT=${JOB_DEFAULT_TIMEOUT}
|
|
# Fetcher
|
|
- FETCHER_GNEWS_DECODE_SLEEP=${FETCHER_GNEWS_DECODE_SLEEP}
|
|
- FETCHER_GOOGLE_GENERAL_PAGE_ITER_SLEEP=${FETCHER_GOOGLE_GENERAL_PAGE_ITER_SLEEP}
|
|
- FETCHER_BETWEEN_SEARCHES_SLEEP=${FETCHER_BETWEEN_SEARCHES_SLEEP} # Sleep time between each search
|
|
- FETCHER_URL_HOST_SLEEP=${FETCHER_URL_HOST_SLEEP} # Sleep time between requests to same URL host
|
|
- FETCHER_LANGUAGE_DETECTION_MIN_CHAR=${FETCHER_LANGUAGE_DETECTION_MIN_CHAR} # Min amonut of characters to run language detection
|
|
- FETCHER_INSERT_URL_CACHE_TIME=${FETCHER_INSERT_URL_CACHE_TIME} # Cache time: Insert raw URL
|
|
- FETCHER_ERROR_URL_CACHE_TIME=${FETCHER_ERROR_URL_CACHE_TIME} # Cache time: Error on processing URL
|
|
# Selenium
|
|
- SELENIUM_ENDPOINT=${SELENIUM_ENDPOINT}
|
|
- ENDPOINT_OLLAMA=${ENDPOINT_OLLAMA}
|
|
# Ghost
|
|
- GHOST_ADMIN_API_KEY=${GHOST_ADMIN_API_KEY}
|
|
- GHOST_ADMIN_API_URL=${GHOST_ADMIN_API_URL}
|
|
- PEXELS_API_KEY=${PEXELS_API_KEY}
|
|
- OLLAMA_MODEL_DEFAULT=${OLLAMA_MODEL_DEFAULT}
|
|
# Telegram
|
|
- TELEGRAM_INFO_BOT_TOKEN=${TELEGRAM_INFO_BOT_TOKEN}
|
|
- TELEGRAM_INFO_CHAT_ID=${TELEGRAM_INFO_CHAT_ID}
|
|
- TELEGRAM_WARNING_BOT_TOKEN=${TELEGRAM_WARNING_BOT_TOKEN}
|
|
- TELEGRAM_WARNING_CHAT_ID=${TELEGRAM_WARNING_CHAT_ID}
|
|
########################
|
|
ports:
|
|
- 8000
|
|
depends_on:
|
|
- fetcher_db
|
|
- fetcher_redis_cache
|
|
- fetcher_redis_celery
|
|
- fetcher_app_selenium
|
|
dns:
|
|
- 1.1.1.1
|
|
- 1.0.0.1
|
|
|
|
fetcher_redis_cache:
|
|
image: redis:alpine
|
|
container_name: fetcher_redis_cache
|
|
restart: unless-stopped
|
|
ports:
|
|
- 6379
|
|
|
|
fetcher_redis_celery:
|
|
image: redis:alpine
|
|
container_name: fetcher_redis_celery
|
|
restart: unless-stopped
|
|
ports:
|
|
- 6379
|
|
|
|
fetcher_db:
|
|
container_name: fetcher_db
|
|
restart: unless-stopped
|
|
|
|
fetcher_flower:
|
|
image: mher/flower
|
|
container_name: fetcher_flower
|
|
ports:
|
|
- 5555
|
|
environment:
|
|
- CELERY_BROKER_URL=redis://fetcher_redis_celery:6379/0
|
|
- FLOWER_UNAUTHENTICATED_API=true
|
|
depends_on:
|
|
- fetcher_redis_celery
|