diff --git a/README.md b/README.md index 0e3868d..bceb67e 100755 --- a/README.md +++ b/README.md @@ -2,14 +2,14 @@ # GoDoxy -[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=yusing_go-proxy&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy) -![GitHub last commit](https://img.shields.io/github/last-commit/yusing/go-proxy) -[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=yusing_go-proxy&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy) +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=yusing_go-proxy&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=yusing_godoxy) +![GitHub last commit](https://img.shields.io/github/last-commit/yusing/godoxy) +[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=yusing_go-proxy&metric=ncloc)](https://sonarcloud.io/summary/new_code?id=yusing_godoxy) [![](https://dcbadge.limes.pink/api/server/umReR62nRd?style=flat)](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** | 中文 @@ -19,7 +19,7 @@ For full documentation, check out **[Wiki](https://github.com/yusing/go-proxy/wi [![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=yusing_go-proxy&metric=sqale_rating)](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy) [![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=yusing_go-proxy&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=yusing_go-proxy) --> - + @@ -33,17 +33,18 @@ For full documentation, check out **[Wiki](https://github.com/yusing/go-proxy/wi - [Prerequisites](#prerequisites) - [How does GoDoxy work](#how-does-godoxy-work) - [Setup](#setup) - - [Manual Setup](#manual-setup) - - [Folder structrue](#folder-structrue) - [Screenshots](#screenshots) - [idlesleeper](#idlesleeper) + - [Metrics and Logs](#metrics-and-logs) + - [Manual Setup](#manual-setup) + - [Folder structrue](#folder-structrue) - [Build it yourself](#build-it-yourself) ## Key Features - Easy to use - Effortless configuration - - Simple multi-node setup + - Simple multi-node setup with GoDoxy agents - 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 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) 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`. ## 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`. -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 - /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) -### Manual Setup +## Screenshots + +### idlesleeper + +![idlesleeper](screenshots/idlesleeper.webp) + +### Metrics and Logs + +_In development, available on nightly builds._ + +
+ + + + + + + + + + + + + + + + + + + +
Uptime MonitorDocker LogsServer Overview
Uptime MonitorDocker LogsServer Overview
System MonitorGraphs
System MonitorGraphs
+
+ +[🔼Back to top](#table-of-content) + +## Manual Setup 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` - `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` - `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 @@ -127,17 +164,9 @@ For example, with the label `proxy.aliases: qbt` you can access your app via `qb └── .env ``` -## Screenshots - -### idlesleeper - -![idlesleeper](screenshots/idlesleeper.webp) - -[🔼Back to top](#table-of-content) - ## 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 diff --git a/screenshots/docker-logs.jpg b/screenshots/docker-logs.jpg new file mode 100644 index 0000000..184acb8 Binary files /dev/null and b/screenshots/docker-logs.jpg differ diff --git a/screenshots/docker.jpg b/screenshots/docker.jpg new file mode 100644 index 0000000..55590dc Binary files /dev/null and b/screenshots/docker.jpg differ diff --git a/screenshots/system-info-graphs.jpg b/screenshots/system-info-graphs.jpg new file mode 100644 index 0000000..f1249ec Binary files /dev/null and b/screenshots/system-info-graphs.jpg differ diff --git a/screenshots/system-monitor.jpg b/screenshots/system-monitor.jpg new file mode 100644 index 0000000..0be9bb2 Binary files /dev/null and b/screenshots/system-monitor.jpg differ diff --git a/screenshots/uptime.png b/screenshots/uptime.png new file mode 100644 index 0000000..47154b5 Binary files /dev/null and b/screenshots/uptime.png differ diff --git a/screenshots/webui.png b/screenshots/webui.png index a67ff9d..78b0be8 100644 Binary files a/screenshots/webui.png and b/screenshots/webui.png differ