- cross-posted to:
- selfhosting@slrpnk.net
- selfhost@lemmy.ml
- cross-posted to:
- selfhosting@slrpnk.net
- selfhost@lemmy.ml
Zoraxy describes itself as:
“General purpose request (reverse) proxy and forwarding tool for networking noobs. Now written in Go!”.
Yet it seems to be packed with goodies and features, such as Geo-IP & Blacklist, ZeroTier controller integrated GAN, IP Scanner, Real Time Stats and even built in Uptime monitor. Addtionally, it can run via a single binary for those who don’t want to rely on Docker. There is also an Unraid Template available from IBRACORP. Lastly the project is under the AGPL license 🌻
I also checked, and saw this was recommended on this community 9months ago, but didn’t seem to get much attraction then. Has anyone tried this yet? It seems like a good alternative to say NGINX proxy manager and am wondering if I should switch, but wanted to hear thoughts first!
Zoraxy’s Github list the following features:
Features
- Simple to use interface with detail in-system instructions
- Reverse Proxy (HTTP/2)
- Virtual Directory
- WebSocket Proxy (automatic, no set-up needed)
- Basic Auth
- Alias Hostnames
- Custom Headers
- Redirection Rules
- TLS / SSL setup and deploy
- ACME features like auto-renew to serve your sites in https
- SNI support (one certificate contains multiple host names)
- Blacklist / Whitelist by country or IP address (single IP, CIDR or wildcard for beginners)
- Global Area Network Controller Web UI (ZeroTier not included)
- TCP Tunneling / Proxy
- Integrated Up-time Monitor
- Web-SSH Terminal
- Utilities
- CIDR IP converters
- mDNS Scanner
- IP Scanner
- Others
- Basic single-admin management mode
- External permission management system for easy system integration
- SMTP config for password reset
Screenshots
I use Zoraxy on all my servers, it replaced Nginx proxy manager (NPM) for me completely. Installed on my host system, it points directly into docker containers via IPV6 in most cases.
For services that I run on the host directly, it points to nginx or apache, both work well with Zoraxy. Synape, Mastodon, Immich, Vaultwarden, Jellyfin, Nextcloud, WordPress… No problem
If you run Zoraxy in docker, it works like NPM, but it has no advanced tab for additional configuration. It is just a reverse proxy, not a full web server like NPM, which is basically a GUI for nginx.
You will need nginx in addition for traffic splitting for some services, like Synapse or Mastodon, even in docker. In NPM this is called locations
I think it is beginner friendly, since those users mostly use docker containers. Container mostly work out of the box like in NPM. They can use Zoraxy in docker too and point it directly to a container name and port, immich_server:3001 for example. Same as in NPM
That sounds like a pretty major missing feature.
Why? It is a reverse proxy, not a fully webserver, this is the difference from Nginx Proxy Manager, which includes Nginx. But advanced configuration can be a pain with NPM too, just look for Synapse and Delegation. This is troublesome for most users of NPM.
Zoraxy can serve a static website, but traffic splitting like for Synapse, MinIO or Mastodon is part of a (fully) webserver.
I use Zoraxy as a reverse proxy for easy managing my services, mostly directly in containers, but I use it with Apache and Nginx on the same host too for WordPress and Nextcloud for example.
Beginners will mostly only use docker containers, without further configuration, like in NPM and this works out of the box :)
Splitting traffic on a reverse proxy host based on various triggers is a pretty common thing for a reverse proxy to do. Caddy does it, Nginx does it, HAProxy does it.