Files
matitos_news/docker-compose.yml

103 lines
2.7 KiB
YAML

version: '3.9'
services:
fetcher_selenium:
build:
context: ./app_selenium
container_name: selenium_app
restart: unless-stopped
shm_size: 512mb
environment:
- SELENIUM_SLEEP_PER_PAGE=4
- PATH_LOGS_PARAMETERIZATION="logs/log_app_selenium_{}.log"
ports:
- 80
fetcher_urls_app:
build:
context: ./app_urls
container_name: urls_app
restart: unless-stopped
environment:
#- name=value
# Database
- DB_NAME=${DB_NAME:-matitos}
- DB_USER=${DB_NAME:-supermatitos}
- DB_PASSWORD=${DB_NAME:-supermatitos}
- DB_HOST=${DB_NAME:-localhost} # db_postgres
- DB_PORT=${DB_NAME:-5432}
- REDIS_HOST=${REDIS_HOST:-localhost}
- REDIS_PORT=${REDIS_PORT:-6379}
# Job timeout: 30 min
- JOB_DEFAULT_TIMEOUT=${RQ_DEFAULT_TIMEOUT:-1800}
# Logs path
- PATH_LOGS_PARAMETERIZATION="logs/log_app_fetcher_{}.log"
# Fetcher
- FETCHER_GNEWS_DECODE_SLEEP=2
- FETCHER_GOOGLE_GENERAL_PAGE_ITER_SLEEP=4
- FETCHER_BETWEEN_SEARCHES_SLEEP=5
- FETCHER_URL_HOST_SLEEP=5
# Selenium
- SELENIUM_ENDPOINT="http://selenium_app:80"
ports:
- 80
fetcher_db:
image: postgres:17
container_name: db_postgres
restart: unless-stopped
# Set shared memory limit when using docker-compose
shm_size: 128mb
environment:
POSTGRES_PASSWORD: ${DB_PASSWORD:-supermatitos}
POSTGRES_USER: ${DB_USERNAME:-supermatitos}
POSTGRES_DB: ${DB_DATABASE_NAME:-matitos}
POSTGRES_INITDB_ARGS: '--data-checksums'
#volumes:
# - ${PATH_BASE:-.}/postgres:/var/lib/postgresql/data
ports:
- 5432:5432
fetcher_redis:
image: redis:alpine
container_name: db_redis
restart: unless-stopped
ports:
- 6379:6379
#expose:
# - 6379
fetcher_adminer:
# http://localhost:8080/?pgsql=matitos_db&username=supermatitos&db=matitos&ns=public
image: adminer
container_name: adminer
restart: unless-stopped
environment:
- ADMINER_DEFAULT_DB_DRIVER=pgsql
#- ADMINER_DEFAULT_DB_HOST
#- ADMINER_DEFAULT_DB_NAME
depends_on:
- matitos_db
ports:
- 8080:8080
fetcher_dozzle:
container_name: dozzle
image: amir20/dozzle:latest
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
ports:
- 8888:8080
environment:
- DOZZLE_FILTER="name=matitos_" # Need container name matitos_ ?
# django:
# Env: DB_HOST=matitos_db
# DJANGO_DB_NAME=${DB_DATABASE_NAME:-matitos}
# DJANGO_DB_USER=${DB_USERNAME:-supermatitos}
# DJANGO_DB_PASSWORD=${DB_PASSWORD:-supermatitos}
# DJANGO_DB_HOST=${DB_HOST:-localhost}
# DJANGO_DB_PORT=${DB_PORT:-5432}