{"id":15176498,"url":"https://github.com/0xjacky/nginx-ui","last_synced_at":"2025-05-14T22:05:56.550Z","repository":{"id":37833107,"uuid":"340339997","full_name":"0xJacky/nginx-ui","owner":"0xJacky","description":"Yet another WebUI for Nginx","archived":false,"fork":false,"pushed_at":"2025-05-07T20:08:04.000Z","size":93982,"stargazers_count":8354,"open_issues_count":40,"forks_count":596,"subscribers_count":37,"default_branch":"dev","last_synced_at":"2025-05-07T21:59:23.144Z","etag":null,"topics":["chatgpt-app","code-completion","copilot","cron","deepseek-r1","docker","go","letsencrypt","linux","macos","mcp","mcp-server","nginx","self-hosted","vue","webui","windows"],"latest_commit_sha":null,"homepage":"https://nginxui.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0xJacky.png","metadata":{"files":{"readme":"README-es.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"nginxui"}},"created_at":"2021-02-19T10:51:04.000Z","updated_at":"2025-05-07T20:55:40.000Z","dependencies_parsed_at":"2022-06-23T03:05:16.351Z","dependency_job_id":"a9fd7208-e860-4706-8fe8-d852168e462d","html_url":"https://github.com/0xJacky/nginx-ui","commit_stats":null,"previous_names":[],"tags_count":148,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xJacky%2Fnginx-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xJacky%2Fnginx-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xJacky%2Fnginx-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xJacky%2Fnginx-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xJacky","download_url":"https://codeload.github.com/0xJacky/nginx-ui/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254235693,"owners_count":22036963,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chatgpt-app","code-completion","copilot","cron","deepseek-r1","docker","go","letsencrypt","linux","macos","mcp","mcp-server","nginx","self-hosted","vue","webui","windows"],"created_at":"2024-09-27T13:20:31.599Z","updated_at":"2025-05-14T22:05:56.476Z","avatar_url":"https://github.com/0xJacky.png","language":"Go","funding_links":["https://github.com/sponsors/nginxui"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n      \u003cimg src=\"resources/logo.png\" alt=\"Logotipo de la interfaz de usuario de Nginx\"\u003e\n\u003c/div\u003e\n\n# Interfaz de usuario (UI) de Nginx\n\nOtra UI web de Nginx, desarrollada por [0xJacky](https://jackyu.cn/), [Hintay](https://blog.kugeek.com/) y [Akino](https://github.com/akinoccc).\n\n[![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)\n\n## Documentación\nPara consultar la documentación, visite [nginxui.com](https://nginxui.com).\n\n## Stargazers en el tiempo\n\n[![Stargazers over time](https://starchart.cc/0xJacky/nginx-ui.svg)](https://starchart.cc/0xJacky/nginx-ui)\n\n\n[English](README.md) | Español | [简体中文](README-zh_CN.md) | [繁體中文](README-zh_TW.md)\n\n\u003cdetails\u003e\n  \u003csummary\u003eTabla de Contenidos\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eSobre el proyecto\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#demo\"\u003eDemostración\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#features\"\u003eCaracterísticas\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#internationalization\"\u003eInternacionalización\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eDesarrollado con\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eCómo empezar\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#before-use\"\u003eAntes de usar\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstalación\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\n          \u003ca href=\"#usage\"\u003eUso\u003c/a\u003e\n          \u003cul\u003e\n            \u003cli\u003e\u003ca href=\"#from-executable\"\u003eDesde el ejecutable\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#with-systemd\"\u003eCon Systemd\u003c/a\u003e\u003c/li\u003e\n            \u003cli\u003e\u003ca href=\"#with-docker\"\u003eCon Docker\u003c/a\u003e\u003c/li\u003e\n          \u003c/ul\u003e\n        \u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#manual-build\"\u003eCompilación manual\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisitos\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#build-app\"\u003eCompilación del Frontend\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#build-backend\"\u003eCompilación del Backend\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#script-for-linux\"\u003eScript para Linux\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#basic-usage\"\u003eUso Básico\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#more-usage\"\u003eUso Avanzado\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#example-of-nginx-reverse-proxy-configuration\"\u003eEjemplo de configuración de proxy reverso de Nginx\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContribuir\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicencia\u003c/a\u003e\u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n## Sobre el proyecto\n\n![Dashboard](resources/screenshots/dashboard_es.png)\n\n### Demostración\nURL：[https://demo.nginxui.com](https://demo.nginxui.com)\n- Nombre de usuario: admin\n- Contraseña: admin\n\n### Características\n\n- Estadísticas en línea para los indicadores del servidor, como el uso de la CPU, el uso de la memoria, el promedio de carga y el uso del disco.\n- Asistente de ChatGPT en línea\n- Despliegue con un solo clic y renovación automática de certificados Let's Encrypt.\n- Edición de las configuraciones de sitios web con nuestro **NgxConfigEditor** de diseño propio, que es un editor de bloques fácil de usar para configuraciones de nginx o con el **Editor de código Ace** que admite resaltar la sintaxis de configuración de nginx.\n- Visualización en línea los registros de Nginx\n- Escrito en Go y Vue, distribuído en un único binario ejecutable.\n- Prueba automática del archivo de configuración y recarga de nginx después de guardar la configuración.\n- Terminal Web\n- Modo oscuro\n- Diseño web adaptable\n\n### Internacionalización\n\n- Inglés\n- Chino Simplificado\n- Chino Tradicional\n\nAceptamos traducciones a cualquier idioma.\n\n### Desarrollado con\n\n- [El lenguaje de programación Go](https://go.dev)\n- [Gin Web Framework](https://gin-gonic.com)\n- [GORM](http://gorm.io)\n- [Vue 3](https://v3.vuejs.org)\n- [Vite](https://vitejs.dev)\n- [TypeScript](https://www.typescriptlang.org/)\n- [Ant Design Vue](https://antdv.com)\n- [vue3-gettext](https://github.com/jshmrtn/vue3-gettext)\n- [vue3-ace-editor](https://github.com/CarterLi/vue3-ace-editor)\n- [Gonginx](https://github.com/tufanbarisyildirim/gonginx)\n- [lego](https://github.com/go-acme/lego)\n\n## Cómo empezar\n\n### Antes de usar\n\nLa UI de Nginx sigue la configuración estándar de archivos de un servidor web de Debian. Los archivos de configuración del sitio creados se colocarán en la carpeta `sites-available` que se encuentra dentro de la carpeta de configuración de Nginx (detectada automáticamente). Los archivos de configuración para un sitio habilitado crearán un soft link en la carpeta `sites-enabled`. Es posible que deba ajustar la forma en que se organizan los archivos de configuración.\n\nPara sistemas que no sean Debian (y Ubuntu), es posible que deba cambiar el contenido del archivo de configuración `nginx.conf` al estilo Debian como se muestra a continuación.\n\n```nginx\nhttp {\n\t# ...\n\tinclude /etc/nginx/conf.d/*.conf;\n\tinclude /etc/nginx/sites-enabled/*;\n}\n```\n\nPara más información: [debian/conf/nginx.conf](https://salsa.debian.org/nginx-team/nginx/-/blob/master/debian/conf/nginx.conf#L59-L60)\n\n### Instalación\n\nLa UI de Nginx está disponible en las siguientes plataformas:\n\n- macOS 11 Big Sur y posterior (amd64 / arm64)\n- Windows 10 y posterior (x86 /amd64 / arm64)\n- Linux 2.6.23 y posterior (x86 / amd64 / arm64 / armv5 / armv6 / armv7 / mips32 / mips64 / riscv64 / loongarch64)\n  - Incluyendo pero no limitado a Debian 7 / 8, Ubuntu 12.04 / 14.04 y posterior, CentOS 6 / 7, Arch Linux\n- FreeBSD\n- OpenBSD\n- Dragonfly BSD\n- Openwrt\n\nPuede visitar [latest release](https://github.com/0xJacky/nginx-ui/releases/latest) para descargar la última distribución, o simplemente usar los [scripts de instalación para Linux](#script-for-linux).\n\n### Uso\n\nAl ejecutar por primera vez la UI de Nginx, visite en su navegador `http://\u003cyour_server_ip\u003e:\u003clisten_port\u003e` para completar las configuraciones posteriores.\n\n#### Desde el ejecutable\n**Ejecutar UI Nginx en la terminal**\n\n```shell\nnginx-ui -config app.ini\n```\nPresione `Control+C` en la terminal para salir de la UI de Nginx.\n\n**Ejecutar UI Nginx en Segundo plano**\n\n```shell\nnohup ./nginx-ui -config app.ini \u0026\n```\nDetenga la UI de Nginx con el siguiente comando.\n\n```shell\nkill -9 $(ps -aux | grep nginx-ui | grep -v grep | awk '{print $2}')\n```\n#### Con Systemd\nSi está utilizando el [script de instalación para Linux](#script-for-linux), la UI de Nginx se instalará como el servicio `nginx-ui` en systemd. Utilice el comando `systemctl` para controlarlo.\n\n**Iniciar UI Nginx**\n\n```shell\nsystemctl start nginx-ui\n```\n**Detener UI Nginx**\n\n```shell\nsystemctl stop nginx-ui\n```\n**Reiniciar UI Nginx**\n\n```shell\nsystemctl restart nginx-ui\n```\n\n#### Con Docker\nNuestra imagen dpcker [uozi/nginx-ui:latest](https://hub.docker.com/r/uozi/nginx-ui) se basa en la última imagen nginx y se puede usar para reemplazar Nginx en el host. Puede realizar el cambio fácilmente publicando los puertos 80 y 443 del contenedor en el host.\n\n\n##### Nota\n1. Cuando utilice este contenedor por primera vez, asegúrese de que el volumen mapeado a /etc/nginx esté vacío.\n2. Si desea incluir archivos estáticos, puede mapear directorios al contenedor.\n\n**Ejemplo de desplegado Docker**\n\n```bash\ndocker run -dit \\\n  --name=nginx-ui \\\n  --restart=always \\\n  -e TZ=Asia/Shanghai \\\n  -v /mnt/user/appdata/nginx:/etc/nginx \\\n  -v /mnt/user/appdata/nginx-ui:/etc/nginx-ui \\\n  -v /var/www:/var/www \\\n  -v /var/run/docker.sock:/var/run/docker.sock \\\n  -p 8080:80 -p 8443:443 \\\n  uozi/nginx-ui:latest\n```\n\n## Compilación manual\n\nEn plataformas que no tienen una versión de compilación oficial, pueden compilarse manualmente.\n\n### Prerequisitos\n\n- Make\n\n- Golang 1.23+\n\n- node.js 21+\n\n  ```shell\n  npx browserslist@latest --update-db\n  ```\n\n### Compilación del Frontend\n\nEjecute el siguiente comando en el directorio `app`.\n\n```shell\npnpm install\npnpm build\n```\n\n### Compilación del Backend\n\nPrimero compile la interfaz y luego ejecute el siguiente comando en el directorio raíz del proyecto.\n\n```shell\ngo generate\ngo build -tags=jsoniter -ldflags \"$LD_FLAGS -X 'github.com/0xJacky/Nginx-UI/settings.buildTime=$(date +%s)'\" -o nginx-ui -v main.go\n```\n\n## Script para Linux\n\n### Uso básico\n\n**Instalar and Actualizar**\n\n```shell\nbash -c \"$(curl -L https://raw.githubusercontent.com/0xJacky/nginx-ui/main/install.sh)\" @ install\n```\nEl puerto de escucha predeterminado es `9000` y el puerto de Desafío HTTP predeterminado es `9180`.\nSi hay un conflicto de puertos, modifique manualmente `/usr/local/etc/nginx-ui/app.ini`,\nluego use `systemctl restart nginx-ui` para recargar el servicio de UI de Nginx.\n\n**Eliminar UI Nginx UI, excepto los archivos de configuración y la base de datos**\n\n```shell\nbash -c \"$(curl -L https://raw.githubusercontent.com/0xJacky/nginx-ui/main/install.sh)\" @ remove\n```\n\n### Uso avanzado\n\n````shell\nbash -c \"$(curl -L https://raw.githubusercontent.com/0xJacky/nginx-ui/main/install.sh)\" @ help\n````\n\n## Ejemplo de configuración de proxy reverso de Nginx\n\n```nginx\nserver {\n    listen          80;\n    listen          [::]:80;\n\n    server_name     \u003cyour_server_name\u003e;\n    rewrite ^(.*)$  https://$host$1 permanent;\n}\n\nmap $http_upgrade $connection_upgrade {\n    default upgrade;\n    ''      close;\n}\n\nserver {\n    listen  443       ssl;\n    listen  [::]:443  ssl;\n    http2   on;\n\n    server_name         \u003cyour_server_name\u003e;\n\n    ssl_certificate     /path/to/ssl_cert;\n    ssl_certificate_key /path/to/ssl_cert_key;\n\n    location / {\n        proxy_set_header    Host                $host;\n        proxy_set_header    X-Real-IP           $remote_addr;\n        proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;\n        proxy_set_header    X-Forwarded-Proto   $scheme;\n        proxy_http_version  1.1;\n        proxy_set_header    Upgrade             $http_upgrade;\n        proxy_set_header    Connection          $connection_upgrade;\n        proxy_pass          http://127.0.0.1:9000/;\n    }\n}\n```\n\n## Contribuir\n\nLas contribuciones son lo que hace que la comunidad de código abierto sea un lugar increíble para aprender, inspirar y crear. Cualquier contribución que hagas es **muy apreciada**.\n\nSi tiene una sugerencia que mejoraría este proyecto, bifurque el repositorio y cree un pull request. También puede simplemente abrir un issue con la etiqueta \"enhancement\". ¡No olvides darle una estrella al proyecto! ¡Gracias de nuevo!\n\n1. Bifurcar el proyecto\n2. Crea un branch de mejora (`git checkout -b feature/AmazingFeature`)\n3. Commit de tus cambios (`git commit -m 'Add some AmazingFeature'`)\n4. Push al branch (`git push origin feature/AmazingFeature`)\n5. Abrir un Pull Request\n\n## Licencia\n\nEste proyecto se proporciona bajo una licencia GNU Affero General Public License v3.0 que se puede encontrar en el archivo [LICENCIA](LICENSE). Al usar, distribuir o contribuir a este proyecto, acepta los términos y condiciones de esta licencia.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xjacky%2Fnginx-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xjacky%2Fnginx-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xjacky%2Fnginx-ui/lists"}