diff --git a/README-ja_JP.md b/README-ja_JP.md new file mode 100644 index 00000000..767ca563 --- /dev/null +++ b/README-ja_JP.md @@ -0,0 +1,390 @@ +
+ Nginx UI Logo +
+ +# Nginx UI + +Yet another Nginx Web UI, developed by [0xJacky](https://jackyu.cn/), [Hintay](https://blog.kugeek.com/) and [Akino](https://github.com/akinoccc). + +[![DeepWiki](https://img.shields.io/badge/DeepWiki-0xJacky%2Fnginx--ui-blue.svg?logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAyCAYAAAAnWDnqAAAAAXNSR0IArs4c6QAAA05JREFUaEPtmUtyEzEQhtWTQyQLHNak2AB7ZnyXZMEjXMGeK/AIi+QuHrMnbChYY7MIh8g01fJoopFb0uhhEqqcbWTp06/uv1saEDv4O3n3dV60RfP947Mm9/SQc0ICFQgzfc4CYZoTPAswgSJCCUJUnAAoRHOAUOcATwbmVLWdGoH//PB8mnKqScAhsD0kYP3j/Yt5LPQe2KvcXmGvRHcDnpxfL2zOYJ1mFwrryWTz0advv1Ut4CJgf5uhDuDj5eUcAUoahrdY/56ebRWeraTjMt/00Sh3UDtjgHtQNHwcRGOC98BJEAEymycmYcWwOprTgcB6VZ5JK5TAJ+fXGLBm3FDAmn6oPPjR4rKCAoJCal2eAiQp2x0vxTPB3ALO2CRkwmDy5WohzBDwSEFKRwPbknEggCPB/imwrycgxX2NzoMCHhPkDwqYMr9tRcP5qNrMZHkVnOjRMWwLCcr8ohBVb1OMjxLwGCvjTikrsBOiA6fNyCrm8V1rP93iVPpwaE+gO0SsWmPiXB+jikdf6SizrT5qKasx5j8ABbHpFTx+vFXp9EnYQmLx02h1QTTrl6eDqxLnGjporxl3NL3agEvXdT0WmEost648sQOYAeJS9Q7bfUVoMGnjo4AZdUMQku50McDcMWcBPvr0SzbTAFDfvJqwLzgxwATnCgnp4wDl6Aa+Ax283gghmj+vj7feE2KBBRMW3FzOpLOADl0Isb5587h/U4gGvkt5v60Z1VLG8BhYjbzRwyQZemwAd6cCR5/XFWLYZRIMpX39AR0tjaGGiGzLVyhse5C9RKC6ai42ppWPKiBagOvaYk8lO7DajerabOZP46Lby5wKjw1HCRx7p9sVMOWGzb/vA1hwiWc6jm3MvQDTogQkiqIhJV0nBQBTU+3okKCFDy9WwferkHjtxib7t3xIUQtHxnIwtx4mpg26/HfwVNVDb4oI9RHmx5WGelRVlrtiw43zboCLaxv46AZeB3IlTkwouebTr1y2NjSpHz68WNFjHvupy3q8TFn3Hos2IAk4Ju5dCo8B3wP7VPr/FGaKiG+T+v+TQqIrOqMTL1VdWV1DdmcbO8KXBz6esmYWYKPwDL5b5FA1a0hwapHiom0r/cKaoqr+27/XcrS5UwSMbQAAAABJRU5ErkJggg==)](https://deepwiki.com/0xJacky/nginx-ui) + +[![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) +[![GitHub license](https://img.shields.io/github/license/0xJacky/nginx-ui?label=License&logo=github)](https://github.com/0xJacky/nginx-ui "Click to view the repo on Github") +[![Release Version](https://img.shields.io/github/release/0xJacky/nginx-ui?include_prereleases&label=Release&logo=github)](https://github.com/0xJacky/nginx-ui/releases/latest "Click to view the repo on Github") +[![GitHub Star](https://img.shields.io/github/stars/0xJacky/nginx-ui?label=Stars&logo=github)](https://github.com/0xJacky/nginx-ui "Click to view the repo on Github") +[![GitHub Fork](https://img.shields.io/github/forks/0xJacky/nginx-ui?label=Forks&logo=github)](https://github.com/0xJacky/nginx-ui "Click to view the repo on Github") +[![Repo Size](https://img.shields.io/github/repo-size/0xJacky/nginx-ui?label=Size&logo=github)](https://github.com/0xJacky/nginx-ui "Click to view the repo on Github") +[![GitHub Fork](https://img.shields.io/github/issues-closed-raw/0xJacky/nginx-ui?label=Closed%20Issue&logo=github)](https://github.com/0xJacky/nginx-ui/issue "Click to view the repo on Github") + +[![Docker Stars](https://img.shields.io/docker/stars/uozi/nginx-ui?label=Stars&logo=docker)](https://hub.docker.com/r/uozi/nginx-ui "Click to view the image on Docker Hub") +[![Docker Pulls](https://img.shields.io/docker/pulls/uozi/nginx-ui?label=Pulls&logo=docker)](https://hub.docker.com/r/uozi/nginx-ui "Click to view the image on Docker Hub") +[![Image Size](https://img.shields.io/docker/image-size/uozi/nginx-ui/latest?label=Image%20Size&logo=docker)](https://hub.docker.com/r/uozi/nginx-ui "Click to view the image on Docker Hub") + +[![Translated Status](https://weblate.nginxui.com/widget/nginx-ui/frontend/svg-badge.svg)](https://weblate.nginxui.com/engage/nginx-ui/) +[![Featured|HelloGitHub](https://abroad.hellogithub.com/v1/widgets/recommend.svg?rid=86f3a8f779934748a34fe6f1b5cd442f&claim_uid=MOFqadzAShCBeQj&theme=small)](https://hellogithub.com/repository/86f3a8f779934748a34fe6f1b5cd442f) + +## Documentation +To check out docs, visit [nginxui.com](https://nginxui.com). + +## Stargazers over time + +[![Stargazers over time](https://starchart.cc/0xJacky/nginx-ui.svg)](https://starchart.cc/0xJacky/nginx-ui) + +English | [Español](README-es.md) | [简体中文](README-zh_CN.md) | [繁體中文](README-zh_TW.md) | [Tiếng Việt](README-vi_VN.md) | [日本語](README-ja_JP.md) + +
+ Table of Contents +
    +
  1. + About The Project + +
  2. +
  3. + Getting Started + +
  4. +
  5. + Manual Build + +
  6. +
  7. + Script for Linux + +
  8. +
  9. Example of Nginx Reverse Proxy Configuration
  10. +
  11. Contributing
  12. +
  13. License
  14. +
+
+ +## About The Project + +![Dashboard](resources/screenshots/dashboard_en.png) + +### Demo +URL:[https://demo.nginxui.com](https://demo.nginxui.com) +- Username:admin +- Password:admin + +### Features + +- Online statistics for server indicators such as CPU usage, memory usage, load average, and disk usage. +- Automatic configuration backup after changes, with version comparison and restore capabilities +- Cluster management supporting mirroring operations to multiple nodes, making multi-server environments easy to manage +- Export encrypted Nginx / Nginx UI configurations for quick deployment and recovery to new environments +- Enhanced online ChatGPT assistant supporting multiple models, including Deepseek-R1's chain-of-thought display to help you better understand and optimize configurations +- MCP (Model Context Protocol) provides special interfaces for AI agents to interact with Nginx UI, enabling automated configuration management and service control. +- One-click deployment and automatic renewal Let's Encrypt certificates. +- Online editing websites configurations with our self-designed **NgxConfigEditor** which is a user-friendly block editor for nginx configurations or **Ace Code Editor** which supports **LLM Code Completion** and highlighting nginx configuration syntax. +- Online view Nginx logs +- Written in Go and Vue, distribution is a single executable binary. +- Automatically test configuration file and reload nginx after saving configuration. +- Web Terminal +- Dark Mode +- Responsive Web Design + +### Internationalization + +We proudly offer official support for: + +- English +- Simplified Chinese +- Traditional Chinese + +As non-native English speakers, we strive for accuracy, but we know there's always room for improvement. If you spot any issues, we'd love your feedback! + +Thanks to our amazing community, additional languages are also available! Explore and contribute to translations on [Weblate](https://weblate.nginxui.com). + +### Built With + +- [The Go Programming Language](https://go.dev) +- [Gin Web Framework](https://gin-gonic.com) +- [GORM](http://gorm.io) +- [Vue 3](https://v3.vuejs.org) +- [Vite](https://vitejs.dev) +- [TypeScript](https://www.typescriptlang.org/) +- [Ant Design Vue](https://antdv.com) +- [vue3-gettext](https://github.com/jshmrtn/vue3-gettext) +- [vue3-ace-editor](https://github.com/CarterLi/vue3-ace-editor) +- [Gonginx](https://github.com/tufanbarisyildirim/gonginx) +- [lego](https://github.com/go-acme/lego) + +## Getting Started + +### Before Use + +The Nginx UI follows the Debian web server configuration file standard. Created site configuration files will be placed in the `sites-available` folder that under the Nginx configuration folder (auto-detected). The configuration files for an enabled site will create a soft link to the `sites-enabled` folder. You may need to adjust the way the configuration files are organised. + +For non-Debian (and Ubuntu) systems, you may need to change the contents of the `nginx.conf` configuration file to the Debian style as shown below. + +```nginx +http { + # ... + include /etc/nginx/conf.d/*.conf; + include /etc/nginx/sites-enabled/*; +} +``` + +For more information: [debian/conf/nginx.conf](https://salsa.debian.org/nginx-team/nginx/-/blob/master/debian/conf/nginx.conf#L59-L60) + +### Installation + +Nginx UI is available on the following platforms: + +- macOS 11 Big Sur and later (amd64 / arm64) +- Windows 10 and later (amd64 / arm64) +- Linux 2.6.23 and later (x86 / amd64 / arm64 / armv5 / armv6 / armv7 / mips32 / mips64 / riscv64 / loongarch64) + - Including but not limited to Debian 7 / 8, Ubuntu 12.04 / 14.04 and later, CentOS 6 / 7, Arch Linux +- FreeBSD +- OpenBSD +- Dragonfly BSD +- Openwrt + +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](#script-for-linux). + +### Usage + +In the first runtime of Nginx UI, please visit `http://:` +in your browser to complete the follow-up configurations. + +#### From Executable +**Run Nginx UI in Terminal** + +```shell +nginx-ui -config app.ini +``` +Press `Control+C` in the terminal to exit Nginx UI. + +**Run Nginx UI in Background** + +```shell +nohup ./nginx-ui -config app.ini & +``` +Stop Nginx UI with the follow command. + +```shell +kill -9 $(ps -aux | grep nginx-ui | grep -v grep | awk '{print $2}') +``` + +#### With Systemd +If you are using the [installation script for Linux](#script-for-linux), the Nginx UI will be installed as `nginx-ui` service in systemd. Please use the `systemctl` command to control it. + +**Start Nginx UI** + +```shell +systemctl start nginx-ui +``` +**Stop Nginx UI** + +```shell +systemctl stop nginx-ui +``` +**Restart Nginx UI** + +```shell +systemctl restart nginx-ui +``` + +#### With Docker +Our docker image [uozi/nginx-ui:latest](https://hub.docker.com/r/uozi/nginx-ui) is based on the latest nginx image and +can be used to replace the Nginx on the host. By publishing the container's port 80 and 443 to the host, +you can easily make the switch. + +##### Note +1. When using this container for the first time, ensure that the volume mapped to /etc/nginx is empty. +2. If you want to host static files, you can map directories to container. + +
+Deploy with Docker + +1. [Install Docker.](https://docs.docker.com/install/) + +2. Then deploy nginx-ui like this: + +```bash +docker run -dit \ + --name=nginx-ui \ + --restart=always \ + -e TZ=Asia/Shanghai \ + -v /mnt/user/appdata/nginx:/etc/nginx \ + -v /mnt/user/appdata/nginx-ui:/etc/nginx-ui \ + -v /var/run/docker.sock:/var/run/docker.sock \ + -p 8080:80 -p 8443:443 \ + uozi/nginx-ui:latest +``` + +3. When your docker container is running, Log in to nginx-ui panel with `http://:8080/install`. +
+ +
+Deploy with Docker-Compose + +1. [Install Docker-Compose.](https://docs.docker.com/compose/install/) + +2. Create a docker-compose.yml file like this: + +```yml +services: + nginx-ui: + stdin_open: true + tty: true + container_name: nginx-ui + restart: always + environment: + - TZ=Asia/Shanghai + volumes: + - '/mnt/user/appdata/nginx:/etc/nginx' + - '/mnt/user/appdata/nginx-ui:/etc/nginx-ui' + - '/var/www:/var/www' + - '/var/run/docker.sock:/var/run/docker.sock' + ports: + - 8080:80 + - 8443:443 + image: 'uozi/nginx-ui:latest' +``` + +3. Then creat your container by: +```bash +docker compose up -d +``` + +4. When your docker container is running, Log in to nginx-ui panel with `http://:8080/install`. + +
+ +## Manual Build + +On platforms that do not have an official build version, they can be built manually. + +### Prerequisites + +- Make + +- Golang 1.23+ + +- node.js 21+ + + ```shell + npx browserslist@latest --update-db + ``` + +### Build Frontend + +Please execute the following command in `app` directory. + +```shell +pnpm install +pnpm build +``` + +### Build Backend + +Please build the app first, and then execute the following command in the project root directory. + +```shell +go generate +go build -tags=jsoniter -ldflags "$LD_FLAGS -X 'github.com/0xJacky/Nginx-UI/settings.buildTime=$(date +%s)'" -o nginx-ui -v main.go +``` + +## Script for Linux + +### Basic Usage + +**Install and Upgrade** + +```shell +bash -c "$(curl -L https://raw.githubusercontent.com/0xJacky/nginx-ui/main/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 -c "$(curl -L https://raw.githubusercontent.com/0xJacky/nginx-ui/main/install.sh)" @ remove +``` + +### More Usage + +````shell +bash -c "$(curl -L https://raw.githubusercontent.com/0xJacky/nginx-ui/main/install.sh)" @ help +```` + +## Example of Nginx Reverse Proxy Configuration + +```nginx +server { + listen 80; + listen [::]:80; + + server_name ; + rewrite ^(.*)$ https://$host$1 permanent; +} + +map $http_upgrade $connection_upgrade { + default upgrade; + '' close; +} + +server { + listen 443 ssl; + listen [::]:443 ssl; + http2 on; + + server_name ; + + ssl_certificate /path/to/ssl_cert; + ssl_certificate_key /path/to/ssl_cert_key; + + location / { + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_http_version 1.1; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $connection_upgrade; + proxy_pass http://127.0.0.1:9000/; + } +} +``` + +## 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.