-
Notifications
You must be signed in to change notification settings - Fork 399
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
App Submission: Zoraxy - Reverse Proxy Manager #1751
Changes from 28 commits
8cbd8c6
1679c67
b8cd858
98bbed6
34dce5d
c3c6fdb
8a30866
2c1669f
8855afa
7fb6b12
a467b93
627d78b
57d703f
5c5ebcc
f54af58
5899c20
ad04036
6290052
3977fa6
0c3f58c
4edde17
f2d3c00
af3d623
cccedd8
9329d36
f3c0462
49ab428
6d03c38
8321fa3
00dfb5b
9852c1f
3f7677c
48da36a
61de22e
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
services: | ||
Check notice on line 1 in zoraxy/docker-compose.yml GitHub Actions / Lint appsPotentially using unsafe user in service "server"
|
||
app_proxy: | ||
environment: | ||
APP_HOST: zoraxy_server_1 | ||
APP_PORT: 8000 | ||
PROXY_AUTH_ADD: "false" | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I noticed that there is a What do you think about removing Zoraxy's auth and then removing
Similar to what we did here: #1742 (comment) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Great, already taken care of! |
||
server: | ||
image: zoraxydocker/zoraxy:v3.1.2@sha256:38f23c5a507542bbd6eac0492bf6456be2004015594ca270a1a5998c8a377b74 | ||
restart: on-failure | ||
#ports: -> The proxy service is listening on port 8400 | ||
# 8480:80 | ||
# 8443:443 | ||
# 8400:8000 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Since Zoraxy is a reverse proxy doesn't it need to expose http and https ports for its basic functionality? User's are going to need to open ports on their router and then port forward to Zoraxy running on their Umbrel. You can bind to free ports that haven't been taken by other apps yet. So something like: ports:
- 41080:80
- 41443:443 Then right at the top of the app description you could note which ports are for which protocol. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done! Ports 41080 for HTTP and 41443 for HTTPS are now set, and I'll add the protocol details to the app description. |
||
volumes: | ||
Check notice on line 14 in zoraxy/docker-compose.yml GitHub Actions / Lint appsMounted file/directory "/zoraxy/config/" doesn't exist
|
||
- ${APP_DATA_DIR}/config/:/opt/zoraxy/config/ | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Let's do the same thing as the other submissions and put this one level deeper on the host inside a parent
Reminder, you'll need to make the equivalent change to the committed directories. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done! Moved it one level deeper inside a parent data directory. |
||
# ${APP_DATA_DIR}/zerotier/config/:/var/lib/zerotier-one/ -> If you are not using ZeroTier, this directory is irrelevant. | ||
- /var/run/docker.sock:/var/run/docker.sock | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. We can remove the docker socket bind based on the discussion above: #1751 (review) There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done! Removed the Docker socket bind as discussed. |
||
- /etc/localtime:/etc/localtime:ro | ||
environment: | ||
FASTGEOIP: "false" | ||
ZEROTIER: "false" | ||
|
||
#⚠️ Zoraxy setup is working fine, but without HTTPS and ZeroTier support. |
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,52 @@ | ||||||||||||||||||||||
manifestVersion: 1 | ||||||||||||||||||||||
id: zoraxy | ||||||||||||||||||||||
name: Zoraxy Proxy Server | ||||||||||||||||||||||
tagline: An efficient reverse proxy server with automated SSL management | ||||||||||||||||||||||
category: networking | ||||||||||||||||||||||
version: "3.1.2" | ||||||||||||||||||||||
port: 8400 | ||||||||||||||||||||||
description: >- | ||||||||||||||||||||||
Zoraxy is a powerful, user-friendly reverse proxy server and forwarding tool, designed to provide a straightforward, flexible, and secure method for managing web traffic within home labs and developer environments. Written in Go, Zoraxy caters to both novice and experienced users by simplifying the process of routing HTTP requests to backend servers, enabling efficient and reliable service management without relying on traditional, more complex servers like NGINX or Apache. | ||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm thinking we should add port instructions and a warning at the top here, what do you think? You can just steal it directly from the nginx proxy manager app: umbrel-apps/nginx-proxy-manager/umbrel-app.yml Lines 8 to 17 in 9432ddf
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 💪 Added port instructions and a warning at the top, following the nginx proxy manager app format. |
||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
Key Features: | ||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
🔀 Reverse Proxy & WebSocket Support: Zoraxy handles HTTP/2 connections and automatically supports WebSocket proxying, making it ideal for real-time applications that need a stable, low-latency connection, such as chat services or dashboards. It also enables reverse proxying across virtual directories and supports alias hostnames and custom headers for enhanced flexibility. | ||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
🤖 TLS/SSL with ACME Automation: Zoraxy simplifies the setup of HTTPS using ACME, which enables automatic renewal of SSL certificates through providers like Let's Encrypt. This feature supports both SNI (Server Name Indication) and SAN (Subject Alternative Name) certificates, helping users serve multiple domains securely with minimal manual intervention. | ||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
📍 Geo-IP Blacklisting and Whitelisting: Security is enhanced by offering geo-IP and IP-based blacklisting and whitelisting, allowing users to restrict access based on location or specific IP addresses. This feature is especially useful for protecting applications and services from specific regions or untrusted IPs. | ||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
🌐 Global Area Network Controller & ZeroTier Integration: For distributed networks, Zoraxy provides a built-in controller interface for managing ZeroTier networks, facilitating secure and scalable connections across multiple nodes. This feature is particularly valuable for homelab enthusiasts and developers creating private network setups with limited external access Zoraxy DEV Community. | ||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
🛠️ Built-in Utilities: Zoraxy goes beyond traditional reverse proxy functionality, including utilities like CIDR IP conversion, an mDNS scanner for local network discovery, and tools for debugging proxy connections. A Web-SSH terminal allows remote management of connected devices within the network, and its Wake-on-LAN support further extends Zoraxy’s usability for network administrators. | ||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
📊 Stream Proxying & Monitoring: Beyond HTTP/HTTPS, Zoraxy supports TCP and UDP stream proxying, making it a versatile choice for handling various data streams. Integrated uptime monitoring and non-personalized traffic analytics provide insights into network activity without cookies, enhancing privacy and enabling users to track service performance directly within Zoraxy. | ||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
🖥️ Simple UI & Integration: The Zoraxy interface is designed to be intuitive, with in-depth setup instructions for less experienced users. Advanced configurations can disable authentication to integrate with existing infrastructures that use permission management. Additionally, a single-admin management mode makes it easy to operate within private networks, similar to managing a home router. | ||||||||||||||||||||||
|
||||||||||||||||||||||
|
||||||||||||||||||||||
Zoraxy is particularly popular in the homelab and developer communities for its extensive feature set, reliability, and open-source nature. It can be run on low-power devices, making it suitable for a variety of hosting environments, from personal setups to larger, distributed network architectures. Its flexibility, combined with a robust feature set, makes it a compelling choice for anyone looking to streamline their network management setup or host web services securely and efficiently. | ||||||||||||||||||||||
|
||||||||||||||||||||||
developer: Toby Chui | ||||||||||||||||||||||
website: https://zoraxy.aroz.org/ | ||||||||||||||||||||||
submitter: dennysubke | ||||||||||||||||||||||
submission: https://github.com/getumbrel/umbrel-apps/pull/1751 | ||||||||||||||||||||||
repo: https://github.com/tobychui/zoraxy | ||||||||||||||||||||||
support: https://github.com/tobychui/zoraxy/issues | ||||||||||||||||||||||
gallery: | ||||||||||||||||||||||
- 1.jpg | ||||||||||||||||||||||
- 2.jpg | ||||||||||||||||||||||
- 3.jpg | ||||||||||||||||||||||
Comment on lines
+55
to
+58
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. You've got 5 lovely gallery images, so gotta add 4 and 5 😉 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Thank you! 😃 Added gallery images 4 and 5 to complete the set. 👌 |
||||||||||||||||||||||
releaseNotes: "" | ||||||||||||||||||||||
dependencies: [] | ||||||||||||||||||||||
path: "" | ||||||||||||||||||||||
defaultUsername: "" | ||||||||||||||||||||||
defaultPassword: "" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Current Compose doesn't use
version
in the docker-compose.yml, but we need to addversion: '3.7'
here anyways to maintain compatibility with umbrelOS 0.5. Similar to #1742 (comment)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done! Added version: '3.7' to ensure compatibility with UmbrelOS 0.5. 😊