job-scraper/docker-compose.yaml

47 lines
1.1 KiB
YAML
Raw Permalink Normal View History

services:
2026-01-20 18:08:11 +00:00
# Run scraper once (for manual triggering)
scraper:
build: .
container_name: job-scraper
volumes:
- ./data:/app/data
- ./config.yaml:/app/config.yaml:ro
2026-01-20 18:27:17 +00:00
- /home/gruberb/.msmtprc:/root/.msmtprc:ro
environment:
- TZ=America/Toronto
# Scheduled scraper - runs daily at 9 AM
scraper-scheduled:
build: .
container_name: job-scraper-scheduled
volumes:
- ./data:/app/data
- ./config.yaml:/app/config.yaml:ro
2026-01-20 18:27:17 +00:00
- /home/gruberb/.msmtprc:/root/.msmtprc:ro
environment:
- TZ=America/Toronto
2026-01-29 16:24:44 +00:00
- PYTHONUNBUFFERED=1
command: ["python", "main.py", "--schedule"]
restart: unless-stopped
2026-01-20 18:08:11 +00:00
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
# Web dashboard - lightweight static file server
dashboard:
image: nginx:alpine
container_name: job-dashboard
ports:
2026-01-20 18:08:11 +00:00
- "127.0.0.1:8085:80"
volumes:
- ./data:/usr/share/nginx/html:ro
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
restart: unless-stopped
2026-01-20 18:08:11 +00:00
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"