# Controlled service reloads preserve checkpoints; public assets update immediately. services: reader: volumes: - ./public:/app/public:ro - ./server.js:/app/server.js:ro - ./catalog.js:/app/catalog.js:ro - ./reading-analytics.js:/app/reading-analytics.js:ro - ./reading-access.js:/app/reading-access.js:ro - ./library.js:/app/library.js:ro scraper: volumes: - ./scraper:/app/scraper:ro