Files
crawlmanager/docker-compose.yml
T
chpark c61f10560f init: 크롤링 관리 솔루션 초기 구성
- Express.js 기반 관리자 페이지 (사이트/크롤링/AdSense/도메인 관리)
- PostgreSQL 16 + Docker Compose (Traefik 연동)
- 크롤러: axios + cheerio 기반 HTML 파싱
- 스케줄러: node-cron 기반 자동 크롤링
- 공개 사이트: slug/도메인 기반 DB에서 렌더링 HTML 서빙
- 도메인: admin.startover.co.kr

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-27 00:44:19 +09:00

46 lines
1.2 KiB
YAML

services:
crawl-manager:
build:
context: .
dockerfile: Dockerfile
container_name: crawl-manager
restart: always
env_file:
- .env.production
stdin_open: true
tty: true
depends_on:
crawl-manager-db:
condition: service_healthy
volumes:
- /home/crawl-manager/app_data:/app/data
labels:
- traefik.enable=true
- traefik.http.routers.crawl-manager.rule=Host(`admin.startover.co.kr`)
- traefik.http.routers.crawl-manager.entrypoints=websecure,web
- traefik.http.routers.crawl-manager.tls=true
- traefik.http.routers.crawl-manager.tls.certresolver=le
- traefik.http.services.crawl-manager.loadbalancer.server.port=3000
crawl-manager-db:
image: postgres:16-alpine
container_name: crawl-manager-db
restart: always
env_file:
- .env.production
volumes:
- /home/crawl-manager/postgres_data:/var/lib/postgresql/data
- ./src/migrations/init.sql:/docker-entrypoint-initdb.d/01-init.sql
ports:
- "11137:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U crawler -d crawler"]
interval: 10s
timeout: 5s
retries: 5
networks:
default:
external:
name: toktork_server_default