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 reading-analytics.js reading-access.js catalog.js ./ COPY public ./public COPY greatest ./greatest COPY discovery ./discovery COPY tools ./tools COPY scraper ./scraper COPY peering ./peering COPY sentinel ./sentinel COPY runtime ./runtime RUN mkdir -p /library /data && chown node:node /data /library ENV PORT=8080 LIBRARY=/library DATA=/data TZ=Europe/Berlin EXPOSE 8080 USER node HEALTHCHECK --interval=30s --timeout=5s --start-period=60s CMD node tools/healthcheck.js reader CMD ["node", "runtime/launch.js", "reader"]