initial commit

This commit is contained in:
chungyeong
2026-02-19 17:28:58 +09:00
commit 02970df6af
34 changed files with 5673 additions and 0 deletions

62
docker-compose.yml Normal file
View File

@@ -0,0 +1,62 @@
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: