update README and screenshots
83
README.md
|
@ -2,14 +2,14 @@
|
||||||
|
|
||||||
# GoDoxy
|
# GoDoxy
|
||||||
|
|
||||||
[](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy)
|
[](https://sonarcloud.io/summary/new_code?id=yusing_godoxy)
|
||||||

|

|
||||||
[](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy)
|
[](https://sonarcloud.io/summary/new_code?id=yusing_godoxy)
|
||||||
[](https://discord.gg/umReR62nRd)
|
[](https://discord.gg/umReR62nRd)
|
||||||
|
|
||||||
A lightweight, simple, and [performant](https://github.com/yusing/go-proxy/wiki/Benchmarks) reverse proxy with WebUI.
|
A lightweight, simple, and [performant](https://github.com/yusing/godoxy/wiki/Benchmarks) reverse proxy with WebUI.
|
||||||
|
|
||||||
For full documentation, check out **[Wiki](https://github.com/yusing/go-proxy/wiki)**
|
For full documentation, check out **[Wiki](https://github.com/yusing/godoxy/wiki)**
|
||||||
|
|
||||||
**EN** | <a href="README_CHT.md">中文</a>
|
**EN** | <a href="README_CHT.md">中文</a>
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ For full documentation, check out **[Wiki](https://github.com/yusing/go-proxy/wi
|
||||||
[](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy)
|
[](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy)
|
||||||
[](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy) -->
|
[](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy) -->
|
||||||
|
|
||||||
<img src="https://github.com/user-attachments/assets/4bb371f4-6e4c-425c-89b2-b9e962bdd46f" style="max-width: 650">
|
<img src="screenshots/webui.png" style="max-width: 650">
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -33,17 +33,18 @@ For full documentation, check out **[Wiki](https://github.com/yusing/go-proxy/wi
|
||||||
- [Prerequisites](#prerequisites)
|
- [Prerequisites](#prerequisites)
|
||||||
- [How does GoDoxy work](#how-does-godoxy-work)
|
- [How does GoDoxy work](#how-does-godoxy-work)
|
||||||
- [Setup](#setup)
|
- [Setup](#setup)
|
||||||
- [Manual Setup](#manual-setup)
|
|
||||||
- [Folder structrue](#folder-structrue)
|
|
||||||
- [Screenshots](#screenshots)
|
- [Screenshots](#screenshots)
|
||||||
- [idlesleeper](#idlesleeper)
|
- [idlesleeper](#idlesleeper)
|
||||||
|
- [Metrics and Logs](#metrics-and-logs)
|
||||||
|
- [Manual Setup](#manual-setup)
|
||||||
|
- [Folder structrue](#folder-structrue)
|
||||||
- [Build it yourself](#build-it-yourself)
|
- [Build it yourself](#build-it-yourself)
|
||||||
|
|
||||||
## Key Features
|
## Key Features
|
||||||
|
|
||||||
- Easy to use
|
- Easy to use
|
||||||
- Effortless configuration
|
- Effortless configuration
|
||||||
- Simple multi-node setup
|
- Simple multi-node setup with GoDoxy agents
|
||||||
- Error messages is clear and detailed, easy troubleshooting
|
- Error messages is clear and detailed, easy troubleshooting
|
||||||
- Auto SSL with Let's Encrypt and DNS-01 (See [Supported DNS-01 Challenge Providers](https://github.com/yusing/go-proxy/wiki/Supported-DNS%E2%80%9001-Providers))
|
- Auto SSL with Let's Encrypt and DNS-01 (See [Supported DNS-01 Challenge Providers](https://github.com/yusing/go-proxy/wiki/Supported-DNS%E2%80%9001-Providers))
|
||||||
- Auto hot-reload on container state / config file changes
|
- Auto hot-reload on container state / config file changes
|
||||||
|
@ -72,39 +73,75 @@ Setup Wildcard DNS Record(s) for machine running `GoDoxy`, e.g.
|
||||||
3. Create a route if applicable (a route is like a "Virtual Host" in NPM)
|
3. Create a route if applicable (a route is like a "Virtual Host" in NPM)
|
||||||
|
|
||||||
GoDoxy uses the label `proxy.aliases` as the subdomain(s), if unset it defaults to `container_name`.
|
GoDoxy uses the label `proxy.aliases` as the subdomain(s), if unset it defaults to `container_name`.
|
||||||
|
|
||||||
For example, with the label `proxy.aliases: qbt` you can access your app via `qbt.domain.com`.
|
For example, with the label `proxy.aliases: qbt` you can access your app via `qbt.domain.com`.
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
**NOTE:** GoDoxy is designed to be (and only works when) running in `host` network mode, do not change it. To change listening ports, modify `.env`.
|
**NOTE:** GoDoxy is designed to be (and only works when) running in `host` network mode, do not change it. To change listening ports, modify `.env`.
|
||||||
|
|
||||||
1. Prepare a new directory for docker compose and config files.
|
1. Prepare a new directory for docker compose and config files.
|
||||||
|
|
||||||
2. Run setup script inside the directory, or [set up manually](#manual-setup)
|
2. Run setup script inside the directory, or [set up manually](#manual-setup)
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/yusing/go-proxy/main/scripts/setup.sh)"
|
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/yusing/godoxy/main/scripts/setup.sh)"
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Start the container `docker compose up -d` and wait for it to be ready
|
3. Start the container `docker compose up -d` and wait for it to be ready
|
||||||
|
|
||||||
4. You may now do some extra configuration on WebUI `https://godoxy.yourdomain.com`
|
4. You may now do some extra configuration on WebUI `https://godoxy.yourdomain.com`
|
||||||
|
|
||||||
[🔼Back to top](#table-of-content)
|
[🔼Back to top](#table-of-content)
|
||||||
|
|
||||||
### Manual Setup
|
## Screenshots
|
||||||
|
|
||||||
|
### idlesleeper
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
### Metrics and Logs
|
||||||
|
|
||||||
|
_In development, available on nightly builds._
|
||||||
|
|
||||||
|
<div align="center">
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td align="center"><img src="screenshots/uptime.png" alt="Uptime Monitor" width="250"/></td>
|
||||||
|
<td align="center"><img src="screenshots/docker-logs.jpg" alt="Docker Logs" width="250"/></td>
|
||||||
|
<td align="center"><img src="screenshots/docker.jpg" alt="Server Overview" width="250"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center"><b>Uptime Monitor</b></td>
|
||||||
|
<td align="center"><b>Docker Logs</b></td>
|
||||||
|
<td align="center"><b>Server Overview</b></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center"><img src="screenshots/system-monitor.jpg" alt="System Monitor" width="250"/></td>
|
||||||
|
<td align="center"><img src="screenshots/system-info-graphs.jpg" alt="Graphs" width="250"/></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align="center"><b>System Monitor</b></td>
|
||||||
|
<td align="center"><b>Graphs</b></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
[🔼Back to top](#table-of-content)
|
||||||
|
|
||||||
|
## Manual Setup
|
||||||
|
|
||||||
1. Make `config` directory then grab `config.example.yml` into `config/config.yml`
|
1. Make `config` directory then grab `config.example.yml` into `config/config.yml`
|
||||||
|
|
||||||
`mkdir -p config && wget https://raw.githubusercontent.com/yusing/go-proxy/main/config.example.yml -O config/config.yml`
|
`mkdir -p config && wget https://raw.githubusercontent.com/yusing/godoxy/main/config.example.yml -O config/config.yml`
|
||||||
|
|
||||||
2. Grab `.env.example` into `.env`
|
2. Grab `.env.example` into `.env`
|
||||||
|
|
||||||
`wget https://raw.githubusercontent.com/yusing/go-proxy/main/.env.example -O .env`
|
`wget https://raw.githubusercontent.com/yusing/godoxy/main/.env.example -O .env`
|
||||||
|
|
||||||
3. Grab `compose.example.yml` into `compose.yml`
|
3. Grab `compose.example.yml` into `compose.yml`
|
||||||
|
|
||||||
`wget https://raw.githubusercontent.com/yusing/go-proxy/main/compose.example.yml -O compose.yml`
|
`wget https://raw.githubusercontent.com/yusing/godoxy/main/compose.example.yml -O compose.yml`
|
||||||
|
|
||||||
### Folder structrue
|
### Folder structrue
|
||||||
|
|
||||||
|
@ -127,17 +164,9 @@ For example, with the label `proxy.aliases: qbt` you can access your app via `qb
|
||||||
└── .env
|
└── .env
|
||||||
```
|
```
|
||||||
|
|
||||||
## Screenshots
|
|
||||||
|
|
||||||
### idlesleeper
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
[🔼Back to top](#table-of-content)
|
|
||||||
|
|
||||||
## Build it yourself
|
## Build it yourself
|
||||||
|
|
||||||
1. Clone the repository `git clone https://github.com/yusing/go-proxy --depth=1`
|
1. Clone the repository `git clone https://github.com/yusing/godoxy --depth=1`
|
||||||
|
|
||||||
2. Install / Upgrade [go (>=1.22)](https://go.dev/doc/install) and `make` if not already
|
2. Install / Upgrade [go (>=1.22)](https://go.dev/doc/install) and `make` if not already
|
||||||
|
|
||||||
|
|
BIN
screenshots/docker-logs.jpg
Normal file
After Width: | Height: | Size: 516 KiB |
BIN
screenshots/docker.jpg
Normal file
After Width: | Height: | Size: 200 KiB |
BIN
screenshots/system-info-graphs.jpg
Normal file
After Width: | Height: | Size: 169 KiB |
BIN
screenshots/system-monitor.jpg
Normal file
After Width: | Height: | Size: 195 KiB |
BIN
screenshots/uptime.png
Normal file
After Width: | Height: | Size: 326 KiB |
Before Width: | Height: | Size: 286 KiB After Width: | Height: | Size: 178 KiB |