* Add one-shot app_config linter migration workflow * Add app_config linter compatibility action * Add add-on map compatibility normalizer * Test add-on map compatibility normalizer * Run app_config compatibility preparation on pull request * Validate app_config short and long map forms separately * Export validated workflow updates * Use app_config-compatible linter for PR checks * Use app_config-compatible linter for builds * Remove temporary linter preparation workflow * Add one-shot app_config manifest migration * Migrate legacy addon_config maps to app_config * Preserve upstream legacy aliases without deprecated literals * Test legacy alias compatibility without deprecated literals * Validate completed app_config migration * Count only add-on manifests during migration validation * Remove temporary migration validation workflow * Document legacy alias construction * Remove obsolete local linter compatibility script * Remove obsolete local linter compatibility tests * fix(pr-2937-review): address reviewer findings on app_config migration - Remove the orphaned .github/actions/addon-linter composite action: it references .github/scripts/prepare_addon_lint_config.py, which was never added (the normalization approach was superseded by pinning frenck/action-addon-linter directly in #2936). Confirmed unused - no workflow invokes it. - cleanuparr: HA_DATA_DIR pointed at /app_configs/cleanuparr, a path not mounted inside the container. cleanuparr's map is app_config:rw, which Supervisor mounts at /config, so data was living on the ephemeral container filesystem. Point it at /config instead (pre-existing bug, not introduced by this PR - just carried the wrong path forward). - joplin/README.md: joplin's config.yaml still declares config:rw, not app_config (it was never part of the 86-manifest migration). Revert the doc text that incorrectly started calling it the app_config mapping. - qbittorrent/00-folders.sh: fix a pre-existing copy/paste bug in the migration marker/log for the main-folder migration block - it referenced "openvpn" and a "qBitorrent" typo instead of qBittorrent. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
4.7 KiB
Home assistant add-on: Zoraxy
I maintain this and other Home Assistant add-ons in my free time: keeping up with upstream changes, HA changes, and testing on real hardware takes a lot of time (and some money). I use around 5-10 of my >110 addons so regularly I install test machines (and purchase some test services such as vpn) that I don't use myself to troubleshoot and improve the addons
If this add-on saves you time or makes your setup easier, I would be very grateful for your support!
Addon informations
About
Zoraxy is a general purpose HTTP request (reverse) proxy and forwarding tool with a clean web management UI. It can be used as a modern, actively-maintained alternative to Nginx Proxy Manager: create reverse proxy hosts, manage TLS certificates (including ACME / Let's Encrypt), set up redirections, access rules, a basic web server and more.
This add-on is based on the official docker image from tobychui.
Installation
The installation of this add-on is pretty straightforward and not different in comparison to installing any other Hass.io add-on.
- Add my add-ons repository to your home assistant instance (in supervisor addons store at top right, or click button below if you have configured my HA)
- Install this add-on.
- Click the
Savebutton to store your configuration. - Start the add-on.
- Check the logs of the add-on to see if everything went well.
- Open the Web UI and create your administrator account.
Configuration
The management Web UI is exposed on port 8000. Because Zoraxy acts as a reverse
proxy that must own the standard web ports, it is not served through Home
Assistant ingress — open it directly:
Webui can be found at http://homeassistant.local:8000
The reverse proxy itself listens on ports 80 (HTTP) and 443 (HTTPS). Make
sure these ports are free on the host (e.g. not used by another proxy add-on)
and, if you want to reach your services from outside, forward them on your
router.
All configuration, the database, logs and plugins are stored persistently in the
add-on configuration folder (/app_configs/<slug>_zoraxy/, exposed inside the
container as /config), so they survive add-on updates and restarts.
Options
| Option | Default | Description |
|---|---|---|
NOAUTH |
false |
Disable authentication for the management interface (use with care). |
ZEROTIER |
false |
Enable the ZeroTier global area network controller (uses the NET_ADMIN capability and /dev/net/tun, both granted by the add-on). |
FASTGEOIP |
false |
Enable high-speed GeoIP lookup (uses ~1 GB extra memory). |
MDNS |
true |
Enable mDNS service discovery. |
TZ |
- | Timezone, e.g. Europe/Brussels. |
env_vars |
[] |
Pass any additional upstream environment variable (e.g. AUTORENEW, DB, MDNSNAME, ...). |
Any other upstream setting documented in the Zoraxy docker README can be supplied through env_vars:
env_vars:
- name: AUTORENEW
value: "86400"
- name: DB
value: "auto"
Support
Create an issue on the repository.