Skip to content

Conversation

@395ShikharSingh
Copy link
Contributor

Problem

Latest Thorium Web (main branch) disables the /read/manifest/route in production by default for security.

Solution

Set MANIFEST_ROUTE_FORCE_ENABLE=true in the Dockerfile to enable it.

Screen.Recording.2025-12-16.at.02.18.37.mov

make url

Add a make url command to the Makefile.

Screenshot 2025-12-16 at 02 11 50 Screenshot 2025-12-16 at 02 15 41

Stakeholders
@mekarpeles @ronibhakta1

…DS feeds and enable manifest route forcing for the reader service.
@ronibhakta1 ronibhakta1 marked this pull request as ready for review December 16, 2025 11:33
@ronibhakta1 ronibhakta1 requested a review from Copilot December 16, 2025 11:35
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR enables the manifest route in Thorium Web reader (which is disabled by default in production) and adds a convenient Makefile target for generating reader.archive.org URLs with OPDS feeds.

  • Set MANIFEST_ROUTE_FORCE_ENABLE=true to enable the /read/manifest/ route in production
  • Add make url command to generate reader.archive.org URLs from cloudflared tunnel URLs
  • Configure the environment variable in both Dockerfile and compose.yaml

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
docker/reader/Dockerfile Adds ENV variable to force-enable manifest route at build time
compose.yaml Adds runtime environment variable for manifest route enablement
Makefile Implements new url target that extracts tunnel URL, constructs OPDS feed URL, and generates reader.archive.org link

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@395ShikharSingh
Copy link
Contributor Author

  • Removed =true default from the Dockerfile's ARG MANIFEST_ROUTE_FORCE_ENABLE
  • The default value is now only defined in compose.yaml via ${MANIFEST_ROUTE_FORCE_ENABLE:-true}
  • Dockerfile simply receives and uses the value passed from compose
  • Kept the ENV MANIFEST_ROUTE_FORCE_ENABLE=$MANIFEST_ROUTE_FORCE_ENABLE approach
  • Tested Copilot's suggested RUN + /etc/environment approach confirmed it doesn't work (Docker doesn't read /etc/environment for container env vars)
  • Build-time ENV ensures Next.js bakes the value during pnpm build

Copy link
Collaborator

@ronibhakta1 ronibhakta1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great! Thanks for contributing to this issue.

@ronibhakta1 ronibhakta1 merged commit d53386a into ArchiveLabs:main Dec 20, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants