- docs/deployment.md: step-by-step Docker deployment for anyone (setup, configuration, LAN/HTTPS/VPN access, adding manga, operation, prebuilt images, backups, peering, troubleshooting, rules for agents). - deploy/circus.sh: host helper without Node (status, up/down with queue pause, logs, pause/resume, update, rescan, restore-test); deploy/compose.https.yml + Caddyfile for automatic HTTPS. - README rewritten for public readers (Docker first, sources/copyright note, docs index); AGENTS.md + CLAUDE.md for contributors and coding agents. - Removed notes about one particular installation (Windows host, handoffs, audits of a private library, benchmarks with local paths, wishlist, reading map) and the unused ops/proxmox templates; generalized remaining mentions of hosts, VPN and Windows-only commands. - Defaults: TZ and reading time zone UTC; .gitattributes keeps shell/YAML LF. - Personal agent coordination files are git-ignored (CLAUDE.local.md, .claude/skills/manga-org/). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
20 lines
783 B
Docker
20 lines
783 B
Docker
FROM node:24-alpine
|
|
RUN apk add --no-cache tzdata openssl
|
|
WORKDIR /app
|
|
ARG VCS_REF=development
|
|
LABEL org.opencontainers.image.title="MangaCircus" org.opencontainers.image.revision=$VCS_REF
|
|
COPY package.json server.js library.js reading-direction.js chapter-identity.js chapter-dates.js reading-analytics.js reading-access.js catalog.js backup.js ./
|
|
COPY public ./public
|
|
COPY greatest ./greatest
|
|
COPY discovery ./discovery
|
|
COPY tools ./tools
|
|
COPY scraper ./scraper
|
|
COPY peering ./peering
|
|
COPY runtime ./runtime
|
|
RUN mkdir -p /library /data && chown node:node /data /library
|
|
ENV PORT=8080 LIBRARY=/library DATA=/data TZ=UTC
|
|
EXPOSE 8080
|
|
USER node
|
|
HEALTHCHECK --interval=30s --timeout=5s --start-period=60s CMD node tools/healthcheck.js reader
|
|
CMD ["node", "runtime/launch.js", "reader"]
|