Skip to content

Conversation

@felipecrs
Copy link
Collaborator

@felipecrs felipecrs commented Sep 29, 2025

Proposed Changes

This removes the built-in NGINX proxy that was added as a workaround for live logs issues as apparently it is no longer needed.

Related Issues

Summary by CodeRabbit

  • Chores

    • Removed the built-in Nginx proxy option and related runtime components.
    • Ingress now connects directly to Home Assistant (no internal proxy path).
    • Build/container simplified by removing nginx-related packages and scripts.
  • Documentation

    • Removed UI option and all translations for the built-in proxy.
    • Updated docs to remove references to the removed proxy option.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Sep 29, 2025

Walkthrough

Removes the built-in Nginx proxy feature and its configuration option use_builtin_proxy. Deletes Nginx configuration, templates, s6 service scripts, related translations and docs, and eliminates nginx from build/Dockerfiles. Adjusts prepare script to always proxy directly to Home Assistant.

Changes

Cohort / File(s) Summary
Docs: remove proxy option
cloudflared/DOCS.md
Deleted documentation for use_builtin_proxy and removed it from the options list.
Addon config: remove option and schema
cloudflared/config.yaml
Added breaking_versions 6.0.0 and removed use_builtin_proxy from options and schema.
Build cleanup: drop Nginx
cloudflared/Dockerfile, cloudflared/rootfs/build.sh
Removed NGINX_VERSION ARG/renovate annotation and stopped installing nginx; retained yq-go.
Nginx config removed
cloudflared/rootfs/etc/nginx/nginx.conf, .../includes/mime.types, .../includes/proxy_params.conf, .../includes/server_params.conf, .../template/homeassistant.gtpl
Deleted main nginx.conf, include files, and Home Assistant proxy template.
s6 service: remove nginx supervision
cloudflared/rootfs/etc/s6-overlay/s6-rc.d/nginx/run, .../finish, .../type
Deleted nginx s6 run/finish scripts and type declaration.
Prepare flow adjustment
cloudflared/rootfs/etc/s6-overlay/s6-rc.d/prepare/run.sh
Removed conditional branch on use_builtin_proxy; always uses ha_service_protocol://homeassistant:<port> for ingress.
Translations: remove UI option
cloudflared/translations/en.yaml, cloudflared/translations/de.yaml, cloudflared/translations/fr.yaml, cloudflared/translations/he.yaml, cloudflared/translations/nl.yaml, cloudflared/translations/pl.yaml
Removed configuration.use_builtin_proxy translation entries (name/description) across locales.

Sequence Diagram(s)

sequenceDiagram
  autonumber
  actor User
  participant Addon as Cloudflared Addon
  participant HA as Home Assistant
  note over Addon: New flow (built-in proxy removed)

  User->>Addon: Request to external_hostname
  Addon->>HA: Forward to ha_service_protocol://homeassistant:<port>
  HA-->>Addon: Response
  Addon-->>User: Response
Loading
sequenceDiagram
  autonumber
  actor User
  participant Addon as Cloudflared Addon
  participant Nginx as (Removed) Built-in Nginx
  participant HA as Home Assistant
  rect rgba(255,235,230,0.6)
  note over Nginx: Old flow (now removed)
  User->>Addon: Request to external_hostname
  Addon->>Nginx: Proxy to localhost:8321
  Nginx->>HA: Proxy to HA (ssl conditional)
  HA-->>Nginx: Response
  Nginx-->>Addon: Response
  Addon-->>User: Response
  end
Loading

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

Possibly related PRs

Suggested reviewers

  • brenner-tobias

Pre-merge checks and finishing touches

✅ 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 clearly and concisely communicates the primary change—removal of the built-in NGINX proxy—and contextualizes it as the previously used live-logs workaround, which aligns directly with the pull request’s objectives and scope.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch remove-nginx

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 7723a9d and 60876f3.

📒 Files selected for processing (1)
  • cloudflared/config.yaml (1 hunks)
🔇 Additional comments (2)
cloudflared/config.yaml (2)

6-6: LGTM! Breaking version correctly added.

The addition of version 6.0.0 to breaking_versions is appropriate for this change, as removing the built-in NGINX proxy is indeed a breaking change for users who were relying on localhost:8321.


22-40: Clean removal of built-in proxy configuration.

The use_builtin_proxy field has been properly removed from both the options and schema sections. The configuration is now clean and consistent.

Note: The nginx_proxy_manager option (line 35) remains, which appears to be for external Nginx Proxy Manager integration rather than the removed built-in proxy feature.


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
🧪 Early access (Sonnet 4.5): enabled

We are currently testing the Sonnet 4.5 model, which is expected to improve code review quality. However, this model may lead to increased noise levels in the review comments. Please disable the early access features if the noise level causes any inconvenience.

Note:

  • Public repositories are always opted into early access features.
  • You can enable or disable early access features from the CodeRabbit UI or by updating the CodeRabbit configuration file.

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

@felipecrs
Copy link
Collaborator Author

PS: I didn't test this, but code changes seem in order.

@felipecrs
Copy link
Collaborator Author

@brenner-tobias I am not sure what is the future of #843 (comment) yet, but it looks like we can drop NGINX for now.

I'll rebase/rethink #843 later.

@felipecrs felipecrs added maintenance Generic maintenance tasks. breaking-change A breaking change for existing users. labels Sep 29, 2025
@felipecrs
Copy link
Collaborator Author

felipecrs commented Sep 29, 2025

@elcajon this will be a breaking change once pushed for users that were previously using localhost:8321, however I think it is ok.

The adjustment is simple after all, just change back to homeassistant:8123.

Besides, it was an undocumented workaround.

@felipecrs felipecrs added refactor Improvement of existing code, not introducing new features. and removed maintenance Generic maintenance tasks. labels Sep 29, 2025
@elcajon
Copy link
Collaborator

elcajon commented Sep 30, 2025

I think so too, a remark in the release notes should be enough. I added the next major version to the list of breaking changes to prevent add-on auto update.

Copy link
Owner

@brenner-tobias brenner-tobias left a comment

Choose a reason for hiding this comment

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

Looks good, thanks a lot!

@felipecrs felipecrs merged commit 695fe9d into main Sep 30, 2025
24 checks passed
@brenner-tobias brenner-tobias deleted the remove-nginx branch September 30, 2025 13:05
@github-actions github-actions bot locked and limited conversation to collaborators Oct 2, 2025
@felipecrs
Copy link
Collaborator Author

@brenner-tobias @elcajon I think this can be released to stable.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

breaking-change A breaking change for existing users. refactor Improvement of existing code, not introducing new features.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants