63 lines
2.2 KiB
YAML
63 lines
2.2 KiB
YAML
services:
|
|
app:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
restart: unless-stopped
|
|
ports:
|
|
- "${APP_PORT:-3000}:3000"
|
|
environment:
|
|
DASHBOARD_HOST: 0.0.0.0
|
|
DASHBOARD_PORT: 3000
|
|
DASHBOARD_DB: ${DASHBOARD_DB:-mysql}
|
|
DASHBOARD_POLL_INTERVAL_SEC: ${DASHBOARD_POLL_INTERVAL_SEC:-60}
|
|
MYSQL_HOST: mysql
|
|
MYSQL_PORT: 3306
|
|
MYSQL_USER: ${MYSQL_USER:-airwatcher}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-airwatcher}
|
|
MYSQL_DATABASE: ${MYSQL_DATABASE:-airwatcher}
|
|
OPENAI_API_KEY: ${OPENAI_API_KEY:-}
|
|
OPENAI_MODEL: ${OPENAI_MODEL:-gpt-4.1-mini}
|
|
CRAWLER_ENDPOINT: ${CRAWLER_ENDPOINT:-}
|
|
CRAWLER_PROVIDERS: ${CRAWLER_PROVIDERS:-}
|
|
CRAWLER_ENDPOINT_SKYSCANNER: ${CRAWLER_ENDPOINT_SKYSCANNER:-}
|
|
CRAWLER_ENDPOINT_NAVER: ${CRAWLER_ENDPOINT_NAVER:-}
|
|
CRAWLER_ENDPOINT_GOOGLE: ${CRAWLER_ENDPOINT_GOOGLE:-}
|
|
CRAWLER_ROUTING_STRATEGY: ${CRAWLER_ROUTING_STRATEGY:-priorityFallback}
|
|
CRAWLER_REQUEST_TIMEOUT_MS: ${CRAWLER_REQUEST_TIMEOUT_MS:-15000}
|
|
CRAWLER_MAX_ATTEMPTS: ${CRAWLER_MAX_ATTEMPTS:-2}
|
|
CRAWLER_RETRY_BASE_DELAY_MS: ${CRAWLER_RETRY_BASE_DELAY_MS:-300}
|
|
CRAWLER_RETRY_MAX_DELAY_MS: ${CRAWLER_RETRY_MAX_DELAY_MS:-3000}
|
|
NOTIFY_CHANNEL: ${NOTIFY_CHANNEL:-console}
|
|
TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN:-}
|
|
TELEGRAM_CHAT_ID: ${TELEGRAM_CHAT_ID:-}
|
|
TELEGRAM_API_BASE: ${TELEGRAM_API_BASE:-https://api.telegram.org}
|
|
NOTIFY_WEBHOOK_URL: ${NOTIFY_WEBHOOK_URL:-}
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
|
|
mysql:
|
|
image: mysql:8.4
|
|
restart: unless-stopped
|
|
command: --default-authentication-plugin=mysql_native_password
|
|
ports:
|
|
- "${MYSQL_PORT_HOST:-3306}:3306"
|
|
environment:
|
|
MYSQL_DATABASE: ${MYSQL_DATABASE:-airwatcher}
|
|
MYSQL_USER: ${MYSQL_USER:-airwatcher}
|
|
MYSQL_PASSWORD: ${MYSQL_PASSWORD:-airwatcher}
|
|
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD:-root}
|
|
healthcheck:
|
|
test:
|
|
- CMD-SHELL
|
|
- mysqladmin ping -h 127.0.0.1 -uroot -p$$MYSQL_ROOT_PASSWORD || exit 1
|
|
interval: 5s
|
|
timeout: 3s
|
|
retries: 20
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql
|
|
|
|
volumes:
|
|
mysql_data:
|