Skip to content

docs: add traefik to reverse proxy list#547

Open
omidzadey wants to merge 26 commits intog0ldyy:developmentfrom
omidzadey:main
Open

docs: add traefik to reverse proxy list#547
omidzadey wants to merge 26 commits intog0ldyy:developmentfrom
omidzadey:main

Conversation

@omidzadey
Copy link

@omidzadey omidzadey commented Feb 21, 2026

Added setup information for traefik and added more info to the start of the reverse proxy section.

Summary by CodeRabbit

  • New Features

    • Added Stremio API prefix support in Kodi plugin with updated settings
    • Enhanced admin/config session management with secure token handling and improved validation
    • Added status video responses for debrid sync/playback errors
  • Bug Fixes

    • Fixed config route prefix issues when configuration password is enabled
    • Improved URL validation in configuration endpoint
    • Enhanced error handling for download operations and session validation
  • Documentation

    • Added Traefik reverse proxy setup guide for Docker deployment

g0ldyy and others added 26 commits January 29, 2026 15:58
Add system clock synchronization validation at startup
Centralize HTTP client management and optimize caching system
Add background scraper system with admin dashboard and tracking
feat: implement a custom Kodi setup dialog with dedicated error alerts and expand the Kodi add-on documentation
docs: update README with new badges and rephrased feature description…
refactor: standardize type hints with `typing` module
feat: refactor authentication handling in CometNet UI
refactor: simplify session secret handling and remove unnecessary con…
refactor: update require_admin_auth to include default cookie paramet…
@coderabbitai
Copy link

coderabbitai bot commented Feb 21, 2026

Walkthrough

Adds version 2.52.0 changelog entry documenting API prefix support, session management enhancements, authentication refactoring, and related bug fixes. Expands Docker deployment guide with Traefik reverse proxy configuration and integration instructions.

Changes

Cohort / File(s) Summary
Documentation and Changelog
CHANGELOG.md, docs/beginner/01-get-started-docker.md
Changelog entry for v2.52.0 includes features for Stremio API prefix, session management, and configuration endpoints, plus bug fixes for config routes and URL sanitization. Docker guide expanded with Traefik reverse proxy configuration, labels, and integration examples.

Possibly related PRs

  • docs: improve documentation #545: Modifies the same Docker deployment guide file, introducing or changing foundational Docker setup content that this PR builds upon with Traefik integration.
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately reflects the main change in the PR. The changeset primarily adds Traefik documentation to the Docker deployment guide's reverse proxy section, with additional changelog entries for version 2.52.0.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

Tip

Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 4

🧹 Nitpick comments (1)
docs/beginner/01-get-started-docker.md (1)

193-196: Drop sudo — it's inconsistent with the rest of the guide and discourages proper Docker group setup.

Lines 48, 54, and 55 all use docker compose without sudo. This inconsistency may confuse beginners or mask a missing docker-group membership.

📝 Proposed fix
-sudo docker compose up -d
+docker compose up -d
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/beginner/01-get-started-docker.md` around lines 193 - 196, The command
snippet uses "sudo docker compose up -d" which is inconsistent with other
occurrences using "docker compose" and encourages skipping proper Docker group
setup; update the snippet to remove "sudo" so it reads "docker compose up -d" to
match the rest of the guide and add (if desired) a short note elsewhere about
adding the user to the docker group rather than using sudo.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/beginner/01-get-started-docker.md`:
- Around line 78-79: Update the docs to resolve the contradiction between the
"Ports 443 and 80 open" requirement and the Traefik configuration that only maps
443 and uses tlschallenge (TLS-ALPN-01): either remove the mention of port 80
from the requirements, or modify the Traefik compose snippet to also expose port
80 and add an HTTP entrypoint plus a redirect middleware to forward all http://
requests to HTTPS (ensure the compose service maps 80:80 and that the Traefik
static config declares an "http" entrypoint and a middleware for
RedirectScheme/HTTPS), and apply the same change to the other occurrence
referenced (lines 119-120).
- Line 112: Replace nonstandard fenced code block language identifiers
"traefik", "cometlabels", and "cometlabelexample" with the standard "yaml" token
so syntax highlighting works (i.e., change ```traefik, ```cometlabels,
```cometlabelexample to ```yaml); also add the "bash" identifier to the bare
shell snippet (change ``` to ```bash) for the `docker compose up -d` command;
update the three YAML snippets and the shell snippet accordingly where those
tokens appear.
- Line 129: Replace the default '--log.level=DEBUG' setting in the beginner
Docker guide with a less verbose default (e.g., '--log.level=INFO' or
'--log.level=WARN') and update the surrounding text to mention that DEBUG is
available for troubleshooting if needed; locate the literal flag
'--log.level=DEBUG' in the document and change it and the explanatory note
accordingly.
- Around line 166-167: Remove the host port mapping for the Comet service in the
Traefik example: delete the ports: - "8000:8000" entry from the Comet service
(so Traefik is the only ingress), ensure the Comet service remains attached to
the Docker network used by Traefik and keeps the traefik labels/entrypoints so
Traefik can route to it; do not map container ports to the host to avoid
bypassing TLS and Traefik middleware.

---

Nitpick comments:
In `@docs/beginner/01-get-started-docker.md`:
- Around line 193-196: The command snippet uses "sudo docker compose up -d"
which is inconsistent with other occurrences using "docker compose" and
encourages skipping proper Docker group setup; update the snippet to remove
"sudo" so it reads "docker compose up -d" to match the rest of the guide and add
(if desired) a short note elsewhere about adding the user to the docker group
rather than using sudo.

Comment on lines +78 to +79
* An A record on your domain pointing towards your IP.
* Ports 443 and 80 open.
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Port 80 requirement contradicts the Traefik config, and no HTTP→HTTPS redirect is provided.

Line 79 tells users to open port 80, but the Traefik compose snippet only maps 443:443. The chosen tlschallenge (TLS-ALPN-01) does not need port 80, so the requirement is misleading. As a side-effect, plain http://comet.example.com requests will fail with a connection refused instead of redirecting to HTTPS.

Consider either removing port 80 from the requirements text, or adding an HTTP entrypoint with a redirect middleware:

📝 Suggested addition to expose port 80 and redirect to HTTPS
     ports:
       - 443:443
+      - 80:80
     command:
       ...
+      - "--entryPoints.web.address=:80"
+      - "--entryPoints.web.http.redirections.entryPoint.to=websecure"
+      - "--entryPoints.web.http.redirections.entryPoint.scheme=https"
       - "--entryPoints.websecure.address=:443"

Also applies to: 119-120

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/beginner/01-get-started-docker.md` around lines 78 - 79, Update the docs
to resolve the contradiction between the "Ports 443 and 80 open" requirement and
the Traefik configuration that only maps 443 and uses tlschallenge
(TLS-ALPN-01): either remove the mention of port 80 from the requirements, or
modify the Traefik compose snippet to also expose port 80 and add an HTTP
entrypoint plus a redirect middleware to forward all http:// requests to HTTPS
(ensure the compose service maps 80:80 and that the Traefik static config
declares an "http" entrypoint and a middleware for RedirectScheme/HTTPS), and
apply the same change to the other occurrence referenced (lines 119-120).


Add the following example from below into your compose file:

```traefik
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

Use standard language identifiers on all fenced code blocks.

traefik, cometlabels, and cometlabelexample are not recognised language tokens, so no syntax highlighting is applied. Line 194 has no identifier at all (flagged as MD040 by markdownlint). All three snippets contain YAML; the bare shell command should be bash.

📝 Proposed fixes
-```traefik
+```yaml
-```cometlabels
+```yaml
-```cometlabelexample
+```yaml
-```
+```bash
 sudo docker compose up -d

Also applies to: 150-150, 160-160, 194-194

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/beginner/01-get-started-docker.md` at line 112, Replace nonstandard
fenced code block language identifiers "traefik", "cometlabels", and
"cometlabelexample" with the standard "yaml" token so syntax highlighting works
(i.e., change ```traefik, ```cometlabels, ```cometlabelexample to ```yaml); also
add the "bash" identifier to the bare shell snippet (change ``` to ```bash) for
the `docker compose up -d` command; update the three YAML snippets and the shell
snippet accordingly where those tokens appear.

- '--global.sendAnonymousUsage=false'
- '--global.checkNewVersion=false'
- '--log=true'
- '--log.level=DEBUG'
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟡 Minor

DEBUG log level is not appropriate as a default for a beginner setup guide.

This will produce extremely verbose output and may obscure important messages. Consider defaulting to INFO or WARN and noting that DEBUG is available for troubleshooting.

📝 Proposed fix
-      - '--log.level=DEBUG'
+      - '--log.level=INFO'
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- '--log.level=DEBUG'
- '--log.level=INFO'
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/beginner/01-get-started-docker.md` at line 129, Replace the default
'--log.level=DEBUG' setting in the beginner Docker guide with a less verbose
default (e.g., '--log.level=INFO' or '--log.level=WARN') and update the
surrounding text to mention that DEBUG is available for troubleshooting if
needed; locate the literal flag '--log.level=DEBUG' in the document and change
it and the explanatory note accordingly.

Comment on lines +166 to +167
ports:
- "8000:8000"
Copy link

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Remove ports from the Comet service in the Traefik example — it bypasses the proxy entirely.

Keeping ports: - "8000:8000" means Comet is reachable directly on host port 8000 in addition to Traefik on 443, bypassing TLS, any access controls, and any Traefik middleware. Traefik reaches backend containers through the shared Docker network and does not require host-port mapping.

🛡️ Proposed fix
-    ports:
-      - "8000:8000"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
ports:
- "8000:8000"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/beginner/01-get-started-docker.md` around lines 166 - 167, Remove the
host port mapping for the Comet service in the Traefik example: delete the
ports: - "8000:8000" entry from the Comet service (so Traefik is the only
ingress), ensure the Comet service remains attached to the Docker network used
by Traefik and keeps the traefik labels/entrypoints so Traefik can route to it;
do not map container ports to the host to avoid bypassing TLS and Traefik
middleware.

@omidzadey
Copy link
Author

Screenshot 2026-02-21 at 8 13 19 pm

not sure why it says I've done this, I've just updated some of the docs. I probably messed something up when making this pr if its doing that so if I need to do anything to fix it please lmk 🙂

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.

2 participants