summaryrefslogtreecommitdiff
path: root/Dockerfile
AgeCommit message (Collapse)AuthorLines
2026-06-04Fix cron PATH: use absolute path for node in /etc/cron.d/scraperyyamashita-2/+2
cron runs with a minimal PATH that excludes /usr/local/bin, causing 'node: not found' errors for both scrape and recap jobs. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-01Add daily recap email job via Postfix MTA containeryyamashita-1/+4
Sends an HTML digest of the next 7 days' events to efemeraladdress+golive@gmail.com at 08:00 JST daily (23:00 UTC cron). Adds scraper to the web Docker network so it can reach mail:25. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08Fix scraper Docker build: copy package-lock.json into playwright-baseyyamashita-1/+1
Without the lock file, npm install tsx resolved @react-router/dev to its latest version (7.15.0), which has a peer dependency conflict with the installed react-router@7.3.0. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08Speed up Docker build by sharing prod-deps and playwright-base stagesyyamashita-12/+20
- Add prod-deps stage to run `npm ci --omit=dev` once (was twice) - Add playwright-base stage to install Chromium once (was twice) - Both app and scraper stages inherit from playwright-base - Add BuildKit cache mounts for npm to accelerate repeated builds Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08Run scrape immediately on container start before handing off to cronyyamashita-1/+3
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-08Add scraper service to docker-compose with 6-hourly cronyyamashita-1/+16
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-07Add Docker + Hetzner deploy setupyyamashita-14/+12
2026-05-06Initial commit from create-react-routeryyamashita-0/+22