From a732d7265ecf76d223b805324528cccb44b81946 Mon Sep 17 00:00:00 2001 From: Hintay Date: Tue, 22 Feb 2022 02:56:53 +0800 Subject: [PATCH] Updated README.md --- README.md | 204 ++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 159 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index 7783795f..689e71c2 100644 --- a/README.md +++ b/README.md @@ -1,78 +1,179 @@ -# Nginx UI +
+ Nginx UI Logo +
-Yet another Nginx Web UI +# Nginx UI -Version: 1.2.0 +Yet another Nginx Web UI, developed by [0xJacky](https://jackyu.cn/) and [Hintay](https://blog.kugeek.com/). +[![Build and Publish](https://github.com/0xJacky/nginx-ui/actions/workflows/build.yml/badge.svg)](https://github.com/0xJacky/nginx-ui/actions/workflows/build.yml) [简体中文说明](README-zh_CN.md) -## Features +
+ Table of Contents +
    +
  1. + About The Project + +
  2. +
  3. + Getting Started + +
  4. +
  5. + Manual Build + +
  6. +
  7. + Scripts for Linux + +
  8. +
  9. Example of Nginx Reverse Proxy Configuration
  10. +
  11. Contributing
  12. +
  13. License
  14. +
+
-1. Online view of server CPU, Memory, Load Average, Disk Usage and other indicators. -2. One-click deployment and automatic renewal Let's Encrypt certificates. -3. Online editing websites configuration files, online editor support highlight nginx configuration syntax. -4. Written in Go and Vue, distribution is a single executable binary. -5. Support English and Simplified Chinese. +## About The Project -## Screenshots +[![Dashboard](resources/screenshots/dashboard.png)]() -### Dashboard +### Features -![](resources/screenshots/dashboard.png) +- Online view of server CPU, Memory, Load Average, Disk Usage and other indicators. +- One-click deployment and automatic renewal Let's Encrypt certificates. +- Online editing websites configuration files, the editor support highlight nginx configuration syntax. +- Written in Go and Vue, distribution is a single executable binary. -### Users Management +### Internationalization -![](resources/screenshots/user-list.png) +- English +- Simplified Chinese +- Traditional Chinese -### Domains Management +We welcome translations into any language. -![](resources/screenshots/domain-list.png) +### Built With -### Domain Editor +- [The Go Programming Language](https://go.dev/) +- [Gin Web Framework](https://gin-gonic.com) +- [GORM](http://gorm.io/index.html) +- [Vue 2](https://vuejs.org) +- [vue-gettext](https://github.com/Polyconseil/vue-gettext) -![](resources/screenshots/domain-edit.png) +## Getting Started -### Configurations Management - -![](resources/screenshots/config-list.png) - -### Configuration Editor - -![](resources/screenshots/config-edit.png) - -## Note Before Use +### Before Use The Nginx UI follows the Nginx standard of creating site configuration files in the `sites-available` directory under the Nginx configuration directory (auto-detected). The configuration files for an enabled site will create a soft link to the `sites-enabled` directory. Therefore, you may need to adjust the way the configuration files are organised. -## Install +### Installation Nginx UI is available on the following platforms: -- Mac OS X 10.10 Yosemite and later(amd64 / arm64); -- Linux 2.6.23 and later(x86 / amd64 / arm64); - - Including but not limited to Debian 7 / 8、Ubuntu 12.04 / 14.04 and later、CentOS 6 / 7、Arch Linux; -- FreeBSD (x86 / amd64); -- OpenBSD (x86 / amd64); -- Dragonfly BSD (amd64); -You can visit [latest release](https://github.com/0xJacky/nginx-ui/releases/latest) to download the latest distribution. +- Mac OS X 10.10 Yosemite and later (amd64 / arm64) +- Linux 2.6.23 and later (x86 / amd64 / arm64) + - Including but not limited to Debian 7 / 8, Ubuntu 12.04 / 14.04 and later, CentOS 6 / 7, Arch Linux +- FreeBSD (x86 / amd64) +- OpenBSD (x86 / amd64) +- Dragonfly BSD (amd64) + +You can visit [latest release](https://github.com/0xJacky/nginx-ui/releases/latest) to download the latest distribution, or just use [installation scripts for Linux](#scripts-for-linux). + +### Usage + +**Manually Install** -### One-click installation shell for Linux ```shell -bash <(curl -L -s https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) +nginx-ui -config app.ini ``` -The default listing port set by one-click install shell is `9000` -while HTTP challenge port is `9180`, -If a port conflict occurs, please modify `/usr/local/etc/nginx-ui/app.ini` manually, -and use `systemctl restart nginx-ui` to reload the Nginx UI service. +**Installed by script** -Once the service start successfully, please visit `http://:9000/install` +```shell +systemctl start nginx-ui +``` + +Once the nginx-ui is running, please visit `http://:/install` in your browser to complete the follow-up configurations. -### Example of Nginx reverse proxy configuration +## Manual Build + +On platforms where installation scripts are not supported, they can be built manually. + +### Prerequisites + +- Make + +- Golang 1.17+ + +- node.js 14+ + + ```shell + npx browserslist@latest --update-db + ``` + +### Build Frontend + +Please execute the following command in `frontend` directory. + +```shell +yarn install +make translations +yarn build ``` + +### Build Backend + +Please build the frontend first, and then execute the following command in the project root directory. + +```shell +go build -o nginx-ui -v main.go +``` + +## Scripts for Linux + +### Basic Usage + +**Install and Upgrade** + +```shell +bash <(curl -L -s https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) @ install +``` +The default listening port is 9000, and the default HTTP Challenge port is 9180. If there is a port conflict, please modify `/usr/local/etc/nginx-ui/app.ini` manually, then use `systemctl restart nginx-ui` to reload the Nginx UI service. + +**Remove Nginx UI, except configuration and database files** + +```shell +bash <(curl -L -s https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) @ remove +``` + +### More Usage + +````shell +bash <(curl -L -s https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) @ help +```` + +## Example of Nginx Reverse Proxy Configuration + +```nginx server { listen 80; listen [::]:80; @@ -103,5 +204,18 @@ server { } ``` -## About -Nginx UI developed by [0xJacky](https://jackyu.cn/) and [Hintay](https://blog.kugeek.com/). +## Contributing + +Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are **greatly appreciated**. + +If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again! + +1. Fork the Project +2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`) +3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`) +4. Push to the Branch (`git push origin feature/AmazingFeature`) +5. Open a Pull Request + +## License + +This project is provided under a GNU Affero General Public License v3.0 license that can be found in the [LICENSE](LICENSE) file. By using, distributing, or contributing to this project, you agree to the terms and conditions of this license.