diff --git a/api/system/install.go b/api/system/install.go index 1d86c101..533b39ea 100644 --- a/api/system/install.go +++ b/api/system/install.go @@ -48,7 +48,7 @@ func InstallNginxUI(c *gin.Context) { settings.NodeSettings.Secret = uuid.New().String() settings.CertSettings.Email = json.Email if "" != json.Database { - cSettings.DataBaseSettings.Name = json.Database + settings.DatabaseSettings.Name = json.Database } err := settings.Save() diff --git a/docs/.vitepress/config/en.ts b/docs/.vitepress/config/en.ts index bde49db0..4aac1e85 100644 --- a/docs/.vitepress/config/en.ts +++ b/docs/.vitepress/config/en.ts @@ -34,14 +34,20 @@ export const enConfig: LocaleSpecificConfig = { text: 'Configuration', collapsed: false, items: [ + {text: 'App', link: '/guide/config-app'}, {text: 'Server', link: '/guide/config-server'}, - {text: 'Nginx', link: '/guide/config-nginx'}, - {text: 'Open AI', link: '/guide/config-openai'}, - {text: 'Casdoor', link: '/guide/config-casdoor'}, - {text: 'Logrotate', link: '/guide/config-logrotate'}, - {text: 'Cluster', link: '/guide/config-cluster'}, + {text: 'Database', link: '/guide/config-database'}, {text: 'Auth', link: '/guide/config-auth'}, + {text: 'Casdoor', link: '/guide/config-casdoor'}, + {text: 'Cert', link: '/guide/config-cert'}, + {text: 'Cluster', link: '/guide/config-cluster'}, {text: 'Crypto', link: '/guide/config-crypto'}, + {text: 'Http', link: '/guide/config-http'}, + {text: 'Logrotate', link: '/guide/config-logrotate'}, + {text: 'Nginx', link: '/guide/config-nginx'}, + {text: 'Node', link: '/guide/config-node'}, + {text: 'Open AI', link: '/guide/config-openai'}, + {text: 'Terminal', link: '/guide/config-terminal'}, {text: 'Webauthn', link: '/guide/config-webauthn'} ] }, diff --git a/docs/.vitepress/config/zh_CN.ts b/docs/.vitepress/config/zh_CN.ts index 9fb01ebe..392e8772 100644 --- a/docs/.vitepress/config/zh_CN.ts +++ b/docs/.vitepress/config/zh_CN.ts @@ -39,15 +39,21 @@ export const zhCNConfig: LocaleSpecificConfig = { text: '配置', collapsed: false, items: [ - {text: '服务端', link: '/zh_CN/guide/config-server'}, - {text: 'Nginx', link: '/zh_CN/guide/config-nginx'}, - {text: 'Open AI', link: '/zh_CN/guide/config-openai'}, + {text: 'App', link: '/zh_CN/guide/config-app'}, + {text: 'Server', link: '/zh_CN/guide/config-server'}, + {text: 'Database', link: '/zh_CN/guide/config-database'}, + {text: 'Auth', link: '/zh_CN/guide/config-auth'}, {text: 'Casdoor', link: '/zh_CN/guide/config-casdoor'}, + {text: 'Cert', link: '/zh_CN/guide/config-cert'}, + {text: 'Cluster', link: '/zh_CN/guide/config-cluster'}, + {text: 'Crypto', link: '/zh_CN/guide/config-crypto'}, + {text: 'Http', link: '/zh_CN/guide/config-http'}, {text: 'Logrotate', link: '/zh_CN/guide/config-logrotate'}, - {text: '集群', link: '/zh_CN/guide/config-cluster'}, - {text: '认证', link: '/zh_CN/guide/config-auth'}, - {text: '加密', link: '/zh_CN/guide/config-crypto'}, - {text: 'Webauthn', link: '/zh_CN/guide/config-webauthn'}, + {text: 'Nginx', link: '/zh_CN/guide/config-nginx'}, + {text: 'Node', link: '/zh_CN/guide/config-node'}, + {text: 'Open AI', link: '/zh_CN/guide/config-openai'}, + {text: 'Terminal', link: '/zh_CN/guide/config-terminal'}, + {text: 'Webauthn', link: '/zh_CN/guide/config-webauthn'} ] }, { diff --git a/docs/.vitepress/config/zh_TW.ts b/docs/.vitepress/config/zh_TW.ts index 15dc1216..7b44d2b5 100644 --- a/docs/.vitepress/config/zh_TW.ts +++ b/docs/.vitepress/config/zh_TW.ts @@ -39,15 +39,21 @@ export const zhTWConfig: LocaleSpecificConfig = { text: '配置', collapsed: false, items: [ - {text: '服務端', link: '/zh_TW/guide/config-server'}, - {text: 'Nginx', link: '/zh_TW/guide/config-nginx'}, - {text: 'Open AI', link: '/zh_TW/guide/config-openai'}, + {text: 'App', link: '/zh_TW/guide/config-app'}, + {text: 'Server', link: '/zh_TW/guide/config-server'}, + {text: 'Database', link: '/zh_TW/guide/config-database'}, + {text: 'Auth', link: '/zh_TW/guide/config-auth'}, {text: 'Casdoor', link: '/zh_TW/guide/config-casdoor'}, + {text: 'Cert', link: '/zh_TW/guide/config-cert'}, + {text: 'Cluster', link: '/zh_TW/guide/config-cluster'}, + {text: 'Crypto', link: '/zh_TW/guide/config-crypto'}, + {text: 'Http', link: '/zh_TW/guide/config-http'}, {text: 'Logrotate', link: '/zh_TW/guide/config-logrotate'}, - {text: '集群', link: '/zh_TW/guide/config-cluster'}, - {text: '認證', link: '/zh_TW/guide/config-auth'}, - {text: '加密', link: '/zh_TW/guide/config-crypto'}, - {text: 'Webauthn', link: '/zh_TW/guide/config-webauthn'}, + {text: 'Nginx', link: '/zh_TW/guide/config-nginx'}, + {text: 'Node', link: '/zh_TW/guide/config-node'}, + {text: 'Open AI', link: '/zh_TW/guide/config-openai'}, + {text: 'Terminal', link: '/zh_TW/guide/config-terminal'}, + {text: 'Webauthn', link: '/zh_TW/guide/config-webauthn'} ] }, { diff --git a/docs/guide/config-app.md b/docs/guide/config-app.md new file mode 100644 index 00000000..8a2d78c4 --- /dev/null +++ b/docs/guide/config-app.md @@ -0,0 +1,20 @@ +# App + +## PageSize + +- Type: `int` +- Default: 10 +- Version: `>=v2.0.0-beta.37` + +This option is used to set the page size of list pagination in the Nginx UI. Adjusting the page size can help in +managing large amounts of data more effectively, but a too large number can increase the load on the server. + +## JwtSecret +- Type: `string` +- Version: `>=v2.0.0-beta.37` + +This option is used to configure the key used by the Nginx UI server to generate JWT. + +JWT is a standard for verifying user identity. It can generate a token after the user logs in, and then use the token to verify the user's identity in subsequent requests. + +If you use the one-click installation script to deploy Nginx UI, the script will generate a UUID value and set it as the value of this option. diff --git a/docs/guide/config-cert.md b/docs/guide/config-cert.md new file mode 100644 index 00000000..bec0918e --- /dev/null +++ b/docs/guide/config-cert.md @@ -0,0 +1,43 @@ +# Cert + +## CADir +- Type: `string` +- Version:`>= v2.0.0-beta.37` + +When applying for a Let's Encrypt certificate, we use the default CA address of Let's Encrypt. If you need to debug or +obtain certificates from other providers, you can set CADir to their address. + +::: tip +Please note that the address provided by +CADir needs to comply with the `RFC 8555` standard. +::: + +## RecursiveNameservers + +- Version:`>= v2.0.0-beta.37` +- Type: `[]string` +- Example: `8.8.8.8:53,1.1.1.1:53` + +This option is used to set the recursive nameservers used by +Nginx UI in the DNS challenge step of applying for a certificate. +If this option is not configured, Nginx UI will use the nameservers settings of the operating system. + + +## CertRenewalInterval + +- Version:`>= v2.0.0-beta.37` +- Type: `int` +- Default value: `7` + +This option is used to set the automatic renewal interval of the Let's Encrypt certificate. +By default, Nginx UI will automatically renew the certificate every 7 days. + +## HTTPChallengePort + +- Version:`>= v2.0.0-beta.37` +- Type: `int` +- Default: `9180` + +This option is used to set the port for backend listening in the HTTP01 challenge mode when obtaining Let's Encrypt +certificates. The HTTP01 challenge is a domain validation method used by Let's Encrypt to verify that you control the +domain for which you're requesting a certificate. diff --git a/docs/guide/config-database.md b/docs/guide/config-database.md new file mode 100644 index 00000000..7f491ec3 --- /dev/null +++ b/docs/guide/config-database.md @@ -0,0 +1,8 @@ +# Database + +## Name +- Type: `string` +- Default: `database` +- Version: `>=v2.0.0-beta.37` + +This option is used to set the name of the sqlite database used by Nginx UI to store its data. diff --git a/docs/guide/config-http.md b/docs/guide/config-http.md new file mode 100644 index 00000000..cff39d61 --- /dev/null +++ b/docs/guide/config-http.md @@ -0,0 +1,18 @@ +# Http + +## GithubProxy + +- Type: `string` +- Version: `>= v2.0.0-beta.37` +- Suggestion: `https://mirror.ghproxy.com/` + +For users who may experience difficulties downloading resources from GitHub (such as in mainland China), this option +allows them to set a proxy for github.com to improve accessibility. + +## InsecureSkipVerify + +- Version:`>= v2.0.0-beta.37` +- Type: `bool` + +This option is used to skip the verification of the certificate of servers when Nginx UI sends requests to them. + diff --git a/docs/guide/config-node.md b/docs/guide/config-node.md new file mode 100644 index 00000000..2110f863 --- /dev/null +++ b/docs/guide/config-node.md @@ -0,0 +1,16 @@ +# Node + +## Name + +- Version:`>= v2.0.0-beta.37` +- Type: `string` + +Use this option to customize the name of local server to be displayed in the environment indicator. + + +## Secret +- Type: `string` +- Version: `>= v2.0.0-beta.37` + +This secret is used to authenticate the communication between the Nginx UI servers. +Also, you can use this secret to access the Nginx UI API without a password. diff --git a/docs/guide/config-server.md b/docs/guide/config-server.md index 0097f5e9..94e13a86 100644 --- a/docs/guide/config-server.md +++ b/docs/guide/config-server.md @@ -3,19 +3,20 @@ The server section of the Nginx UI configuration deals with various settings that control the behavior and operation of the Nginx UI server. In this section, we will discuss the available options, their default values, and their purpose. -## HttpHost +## Host - Type: `string` +- Version: `>= v2.0.0-beta.37` - Default:`0.0.0.0` The hostname on which the Nginx UI server listens for incoming HTTP requests. Changing the default hostname can be useful for improving the security of Nginx UI. -## HttpPort - -- Type: `int` +## Port +- Type: `uint` +- Version: `>= v2.0.0-beta.37` - Default: `9000` -Nginx UI server listen port. This option is used to configure the port on which the Nginx UI server listens for incoming +This option is used to configure the port on which the Nginx UI server listens for incoming HTTP requests. Changing the default port can be useful for avoiding port conflicts or enhancing security. ## RunMode @@ -32,20 +33,62 @@ When using the `debug` mode, Nginx UI will print SQL and its execution time and When using the `release` mode, Nginx UI will not print the execution time and caller of SQL on the console, and only the log of `Info` level or higher will be printed. +## HttpHost +- Type: `string` +- Default:`0.0.0.0` + +::: warning +Deprecated in `v2.0.0-beta.37`, please use `Host` instead. +::: + +The hostname on which the Nginx UI server listens for incoming HTTP requests. +Changing the default hostname can be useful for improving the security of Nginx UI. + +## HttpPort +- Type: `int` +- Default: `9000` + +::: warning +Deprecated in `v2.0.0-beta.37`, please use `Port` instead. +::: + +This option is used to configure the port on which the Nginx UI server listens for incoming +HTTP requests. Changing the default port can be useful for avoiding port conflicts or enhancing security. + + ## JwtSecret - Type: `string` +::: warning +Deprecated in `v2.0.0-beta.37`, please use `App.JwtSecret` instead. +::: + This option is used to configure the key used by the Nginx UI server to generate JWT. JWT is a standard for verifying user identity. It can generate a token after the user logs in, and then use the token to verify the user's identity in subsequent requests. If you use the one-click installation script to deploy Nginx UI, the script will generate a UUID value and set it as the value of this option. +## NodeSecret +- Type: `string` +- Version: `>= v2.0.0-beta.24, <= 2.0.0-beta.36` + +::: warning +Deprecated in `v2.0.0-beta.37`, please use `Node.Secret` instead. +::: + +This secret is used to authenticate the communication between the Nginx UI servers. +Also, you can use this secret to access the Nginx UI API without a password. + ## HTTPChallengePort - Type: `int` - Default: `9180` +::: warning +Deprecated in `v2.0.0-beta.37`, please use `Cert.HTTPChallengePort` instead. +::: + This option is used to set the port for backend listening in the HTTP01 challenge mode when obtaining Let's Encrypt certificates. The HTTP01 challenge is a domain validation method used by Let's Encrypt to verify that you control the domain for which you're requesting a certificate. @@ -53,6 +96,10 @@ domain for which you're requesting a certificate. ## Email - Type: `string` +::: warning +Deprecated in `v2.0.0-beta.37`, please use `Cert.Email` instead. +::: + When obtaining a Let's Encrypt certificate, this option is used to set your email address. Let's Encrypt will use your email address to notify you of the expiration date of your certificate. @@ -61,6 +108,10 @@ Let's Encrypt will use your email address to notify you of the expiration date o - Type: `string` - Default: `database` +::: warning +Deprecated in `v2.0.0-beta.37`, please use `Database.Name` instead. +::: + This option is used to set the name of the sqlite database used by Nginx UI to store its data. ## StartCmd @@ -68,6 +119,10 @@ This option is used to set the name of the sqlite database used by Nginx UI to s - Type: `string` - Default: `login` +::: warning +Deprecated in `v2.0.0-beta.37`, please use `Terminal.StartCmd` instead. +::: + This option is used to set the start command of the web terminal. ::: warning @@ -81,6 +136,10 @@ terminal, please set it to `bash` or `zsh` (if installed). - Type: `int` - Default: 10 +::: warning +Deprecated in `v2.0.0-beta.37`, please use `App.PageSize` instead. +::: + This option is used to set the page size of list pagination in the Nginx UI. Adjusting the page size can help in managing large amounts of data more effectively, but a too large number can increase the load on the server. @@ -88,6 +147,10 @@ managing large amounts of data more effectively, but a too large number can incr - Type: `string` +::: warning +Deprecated in `v2.0.0-beta.37`, please use `Cert.CADir` instead. +::: + When applying for a Let's Encrypt certificate, we use the default CA address of Let's Encrypt. If you need to debug or obtain certificates from other providers, you can set CADir to their address. @@ -101,37 +164,53 @@ CADir needs to comply with the `RFC 8555` standard. - Type: `string` - Suggestion: `https://mirror.ghproxy.com/` +::: warning +Deprecated in `v2.0.0-beta.37`, please use `Http.GithubProxy` instead. +::: + For users who may experience difficulties downloading resources from GitHub (such as in mainland China), this option allows them to set a proxy for github.com to improve accessibility. ## CertRenewalInterval -- Version:`>= v2.0.0-beta.22` +- Version:`>= v2.0.0-beta.22, <= 2.0.0-beta.36` - Type: `int` - Default value: `7` +::: warning +Deprecated in `v2.0.0-beta.37`, please use `Cert.CertRenewalInterval` instead. +::: + This option is used to set the automatic renewal interval of the Let's Encrypt certificate. By default, Nginx UI will automatically renew the certificate every 7 days. ## RecursiveNameservers -- Version:`>= v2.0.0-beta.22` +- Version:`>= v2.0.0-beta.22, <= 2.0.0-beta.36` - Type: `[]string` - Example: `8.8.8.8:53,1.1.1.1:53` +::: warning +Deprecated in `v2.0.0-beta.37`, please use `Cert.RecursiveNameservers` instead. +::: + This option is used to set the recursive nameservers used by Nginx UI in the DNS challenge step of applying for a certificate. If this option is not configured, Nginx UI will use the nameservers settings of the operating system. ## SkipInstallation -- Version:`>= v2.0.0-beta.23` +- Version:`>= v2.0.0-beta.23, <= 2.0.0-beta.36` - Type: `bool` - Default value: `false` +::: warning +Deprecated in `v2.0.0-beta.37`, please use `Node.SkipInstallation` instead. +::: + You can skip the installation of the Nginx UI server by setting this option to `true`. This is useful when you want to deploy Nginx UI to multiple servers with -a same configuration file or environment variables. +the same configuration file or environment variables. By default, if you enabled the skip installation mode without setting the `JWTSecret` and `NodeSecret` options in the server section, Nginx UI will generate a random UUID value for these two options. @@ -141,14 +220,22 @@ Nginx UI will not create a system initial acme user, this means you can't apply ## Name -- Version:`>= v2.0.0-beta.23` +- Version:`>= v2.0.0-beta.23, <= 2.0.0-beta.36` - Type: `string` +::: warning +Deprecated in `v2.0.0-beta.37`, please use `Http.InsecureSkipVerify` instead. +::: + Use this option to customize the name of local server to be displayed in the environment indicator. ## InsecureSkipVerify -- Version:`>= v2.0.0-beta.30` +- Version:`>= v2.0.0-beta.30, <= 2.0.0-beta.36` - Type: `bool` +::: warning +Deprecated in `v2.0.0-beta.37`, please use `Http.InsecureSkipVerify` instead. +::: + This option is used to skip the verification of the certificate of servers when Nginx UI sends requests to them. diff --git a/docs/guide/config-terminal.md b/docs/guide/config-terminal.md new file mode 100644 index 00000000..6bcd4229 --- /dev/null +++ b/docs/guide/config-terminal.md @@ -0,0 +1,15 @@ +# Terminal + +## StartCmd + +- Type: `string` +- Default: `login` +- Version: `>= v2.0.0-beta.37` + +This option is used to set the start command of the web terminal. + +::: warning +For security reason, we use `login` as the start command, so you have to log in via the default authentication method of +the Linux. If you don't want to enter your username and password for verification every time you access the web +terminal, please set it to `bash` or `zsh` (if installed). +::: diff --git a/docs/guide/env.md b/docs/guide/env.md index 4c177270..8b831ceb 100644 --- a/docs/guide/env.md +++ b/docs/guide/env.md @@ -1,31 +1,77 @@ # Environment Variables -Applicable for version v2.0.0-beta.23 and above. +Applicable for version v2.0.0-beta.37 and above. + +## App +| Configuration Setting | Environment Variable | +|-----------------------|-------------------------| +| PageSize | NGINX_UI_APP_PAGE_SIZE | +| JwtSecret | NGINX_UI_APP_JWT_SECRET | + ## Server - | Configuration Setting | Environment Variable | |-----------------------|---------------------------------------| -| HttpPort | NGINX_UI_SERVER_HTTP_PORT | +| Host | NGINX_UI_SERVER_HOST | +| Port | NGINX_UI_SERVER_PORT | | RunMode | NGINX_UI_SERVER_RUN_MODE | -| JwtSecret | NGINX_UI_SERVER_JWT_SECRET | -| HTTPChallengePort | NGINX_UI_SERVER_HTTP_CHALLENGE_PORT | -| StartCmd | NGINX_UI_SERVER_START_CMD | -| Database | NGINX_UI_SERVER_DATABASE | -| CADir | NGINX_UI_SERVER_CA_DIR | -| GithubProxy | NGINX_UI_SERVER_GITHUB_PROXY | -| NodeSecret | NGINX_UI_SERVER_NODE_SECRET | -| Demo | NGINX_UI_SERVER_DEMO | -| PageSize | NGINX_UI_SERVER_PAGE_SIZE | -| HttpHost | NGINX_UI_SERVER_HTTP_HOST | -| CertRenewalInterval | NGINX_UI_SERVER_CERT_RENEWAL_INTERVAL | -| RecursiveNameservers | NGINX_UI_SERVER_RECURSIVE_NAMESERVERS | -| SkipInstallation | NGINX_UI_SERVER_SKIP_INSTALLATION | -| Name | NGINX_UI_SERVER_NAME | -| InsecureSkipVerify | NGINX_UI_SERVER_INSECURE_SKIP_VERIFY | + +## Database +| Configuration Setting | Environment Variable | +|-----------------------|----------------------| +| Name | NGINX_UI_DB_NAME | + +## Auth +| Configuration Setting | Environment Variable | +|-----------------------|-------------------------------------| +| IPWhiteList | NGINX_UI_AUTH_IP_WHITE_LIST | +| BanThresholdMinutes | NGINX_UI_AUTH_BAN_THRESHOLD_MINUTES | +| MaxAttempts | NGINX_UI_AUTH_MAX_ATTEMPTS | + +## Casdoor +| Configuration Setting | Environment Variable | +|-----------------------|-----------------------------------| +| Endpoint | NGINX_UI_CASDOOR_ENDPOINT | +| ClientId | NGINX_UI_CASDOOR_CLIENT_ID | +| ClientSecret | NGINX_UI_CASDOOR_CLIENT_SECRET | +| CertificatePath | NGINX_UI_CASDOOR_CERTIFICATE_PATH | +| Organization | NGINX_UI_CASDOOR_ORGANIZATION | +| Application | NGINX_UI_CASDOOR_APPLICATION | +| RedirectUri | NGINX_UI_CASDOOR_REDIRECT_URI | + +## Cert +| Configuration Setting | Environment Variable | +|-----------------------|-------------------------------------| +| Email | NGINX_UI_CERT_EMAIL | +| CADir | NGINX_UI_CERT_CA_DIR | +| RenewalInterval | NGINX_UI_CERT_RENEWAL_INTERVAL | +| RecursiveNameservers | NGINX_UI_CERT_RECURSIVE_NAMESERVERS | +| HTTPChallengePort | NGINX_UI_CERT_HTTP_CHALLENGE_PORT | + +## Cluster +| Configuration Setting | Environment Variable | +|-----------------------|-----------------------| +| Node | NGINX_UI_CLUSTER_NODE | + +## Crypto +| Configuration Setting | Environment Variable | +|-----------------------|-------------------------| +| Secret | NGINX_UI_CRYPTO_SECRET | + +## Http +| Configuration Setting | Environment Variable | +|-----------------------|------------------------------------| +| GithubProxy | NGINX_UI_HTTP_GITHUB_PROXY | +| InsecureSkipVerify | NGINX_UI_HTTP_INSECURE_SKIP_VERIFY | + +## Logrotate +| Configuration Setting | Environment Variable | +|-----------------------|-----------------------------| +| Enabled | NGINX_UI_LOGROTATE_ENABLED | +| CMD | NGINX_UI_LOGROTATE_CMD | +| Interval | NGINX_UI_LOGROTATE_INTERVAL | ## Nginx - | Configuration Setting | Environment Variable | |-----------------------|-----------------------------------| | AccessLogPath | NGINX_UI_NGINX_ACCESS_LOG_PATH | @@ -37,8 +83,14 @@ Applicable for version v2.0.0-beta.23 and above. | RestartCmd | NGINX_UI_NGINX_RESTART_CMD | | LogDirWhiteList | NGINX_UI_NGINX_LOG_DIR_WHITE_LIST | -## OpenAI +## Node +| Configuration Setting | Environment Variable | +|-----------------------|---------------------------------| +| Name | NGINX_UI_NODE_NAME | +| Secret | NGINX_UI_NODE_SECRET | +| SkipInstallation | NGINX_UI_NODE_SKIP_INSTALLATION | +## OpenAI | Configuration Setting | Environment Variable | |-----------------------|--------------------------| | Model | NGINX_UI_OPENAI_MODEL | @@ -46,31 +98,10 @@ Applicable for version v2.0.0-beta.23 and above. | Proxy | NGINX_UI_OPENAI_PROXY | | Token | NGINX_UI_OPENAI_TOKEN | -## Casdoor - -| Configuration Setting | Environment Variable | -|-----------------------|-----------------------------------| -| Endpoint | NGINX_UI_CASDOOR_ENDPOINT | -| ClientId | NGINX_UI_CASDOOR_CLIENT_ID | -| ClientSecret | NGINX_UI_CASDOOR_CLIENT_SECRET | -| CertificatePath | NGINX_UI_CASDOOR_CERTIFICATE_PATH | -| Organization | NGINX_UI_CASDOOR_ORGANIZATION | -| Application | NGINX_UI_CASDOOR_APPLICATION | -| RedirectUri | NGINX_UI_CASDOOR_REDIRECT_URI | - -## Logrotate - -| Configuration Setting | Environment Variable | -|-----------------------|-----------------------------| -| Enabled | NGINX_UI_LOGROTATE_ENABLED | -| CMD | NGINX_UI_LOGROTATE_CMD | -| Interval | NGINX_UI_LOGROTATE_INTERVAL | - -## Auth - -| Configuration Setting | Environment Variable | -|-----------------------|---------------------------| -| IPWhiteList | NGINX_UI_AUTH_IPWhiteList | +## Terminal +| Configuration Setting | Environment Variable | +|-----------------------|-------------------------------------| +| StartCmd | NGINX_UI_TERMINAL_START_CMD | ## Webauthn diff --git a/docs/zh_CN/guide/config-app.md b/docs/zh_CN/guide/config-app.md new file mode 100644 index 00000000..b4c86238 --- /dev/null +++ b/docs/zh_CN/guide/config-app.md @@ -0,0 +1,19 @@ +# App + +## PageSize + +- 类型: `int` +- 默认值: 10 +- 版本: `>=v2.0.0-beta.37` + +此选项用于设置 Nginx UI 中列表分页的页面大小。调整页面大小可以更有效地管理大量数据,但过大的数字会增加服务器的负载。 + +## JwtSecret +- 类型: `string` +- 版本: `>=v2.0.0-beta.37` + +此选项用于配置 Nginx UI 服务器生成 JWT 的密钥。 + +JWT 是一种验证用户身份的标准。用户登录后可以生成一个令牌,然后在后续请求中使用该令牌验证用户身份。 + +如果您使用一键安装脚本部署 Nginx UI,脚本将生成一个 UUID 值并将其设置为此选项的值。 diff --git a/docs/zh_CN/guide/config-auth.md b/docs/zh_CN/guide/config-auth.md index 742da0d0..be815cc5 100644 --- a/docs/zh_CN/guide/config-auth.md +++ b/docs/zh_CN/guide/config-auth.md @@ -19,12 +19,12 @@ IPWhiteList = 2001:0000:130F:0000:0000:09C0:876A:130B ## BanThresholdMinutes - Type: `int` -- Default: `10` +- 默认值:`10` 默认情况下,如果用户在 10 分钟内登录失败 10 次,用户将被禁止登录 10 分钟。 ## MaxAttempts - Type: `int` -- Default: `10` +- 默认值:`10` 默认情况下,用户可以在 10 分钟内尝试登录 10 次。 diff --git a/docs/zh_CN/guide/config-cert.md b/docs/zh_CN/guide/config-cert.md new file mode 100644 index 00000000..f0940446 --- /dev/null +++ b/docs/zh_CN/guide/config-cert.md @@ -0,0 +1,37 @@ +# Cert + +## CADir +- 类型: `string` +- 版本:`>= v2.0.0-beta.37` + +在申请 Let's Encrypt 证书时,我们使用 Let's Encrypt 的默认 CA 地址。 +如果您需要调试或从其他提供商获取证书,您可以将 CADir 设置为他们的地址。 + +::: tip 提示 +请注意,CADir 提供的地址需要符合 `RFC 8555` 标准。 +::: + +## RecursiveNameservers + +- 版本:`>= v2.0.0-beta.37` +- 类型: `[]string` +- 示例: `8.8.8.8:53,1.1.1.1:53` + +此选项用于设置 Nginx UI 在申请证书的 DNS 挑战步骤所使用的递归域名服务器。在不配置此项目的情况下,Nginx UI 使用操作系统的域名服务器设置。 + +## CertRenewalInterval + +- 版本:`>= v2.0.0-beta.37` +- 类型: `int` +- 默认值: `7` + +此选项用于设置 Let's Encrypt 证书的自动续签间隔。默认情况下,Nginx UI 每隔 7 天会自动续签证书。 + +## HTTPChallengePort + +- 版本:`>= v2.0.0-beta.37` +- 类型: `int` +- 默认值: `9180` + +在获取 Let's Encrypt 证书时,此选项用于在 HTTP01 挑战模式中设置后端监听端口。 +HTTP01 挑战是 Let's Encrypt 用于验证您控制请求证书的域的域验证方法。 diff --git a/docs/zh_CN/guide/config-crypto.md b/docs/zh_CN/guide/config-crypto.md index 146f61ed..1ad28ae9 100644 --- a/docs/zh_CN/guide/config-crypto.md +++ b/docs/zh_CN/guide/config-crypto.md @@ -1,6 +1,6 @@ # Crypto ## Secret -- Type: `string` +- 类型: `string` 如果这个值为空,Nginx UI 将会自动生成一个随机的密钥。这个密钥用于加密存储在数据库中的敏感数据。 diff --git a/docs/zh_CN/guide/config-database.md b/docs/zh_CN/guide/config-database.md new file mode 100644 index 00000000..381810c4 --- /dev/null +++ b/docs/zh_CN/guide/config-database.md @@ -0,0 +1,8 @@ +# Database + +## Name +- 类型: `string` +- 默认值: `database` +- 版本: `>=v2.0.0-beta.37` + +此选项用于设置 Nginx UI 用于存储其数据的 sqlite 数据库的名称。 diff --git a/docs/zh_CN/guide/config-http.md b/docs/zh_CN/guide/config-http.md new file mode 100644 index 00000000..29763935 --- /dev/null +++ b/docs/zh_CN/guide/config-http.md @@ -0,0 +1,15 @@ +# Http + +## GithubProxy +- 版本: `>= v2.0.0-beta.37` +- 类型:`string` +- 建议:`https://mirror.ghproxy.com/` + +- 对于可能在从 Github 下载资源时遇到困难的用户(如在中国大陆),此选项允许他们为 github.com 设置代理,以提高可访问性。 + +## InsecureSkipVerify + +- 版本:`>= v2.0.0-beta.37` +- 类型: `bool` + +此选项用于配置 Nginx UI 服务器在与其他服务器建立 TLS 连接时是否跳过证书验证。 diff --git a/docs/zh_CN/guide/config-node.md b/docs/zh_CN/guide/config-node.md new file mode 100644 index 00000000..3639244b --- /dev/null +++ b/docs/zh_CN/guide/config-node.md @@ -0,0 +1,16 @@ +# Node + +## Name + +- 版本:`>= v2.0.0-beta.37` +- 类型:`string` + +使用此选项自定义本地服务器的名称,以在环境指示器中显示。 + + +## Secret +- 类型: `string` +- 版本: `>= v2.0.0-beta.37` + +此密钥用于验证 Nginx UI 服务器之间的通信。 +此外,您可以使用此密钥在不使用密码的情况下访问 Nginx UI API。 diff --git a/docs/zh_CN/guide/config-server.md b/docs/zh_CN/guide/config-server.md index 37e5327b..950ff1be 100644 --- a/docs/zh_CN/guide/config-server.md +++ b/docs/zh_CN/guide/config-server.md @@ -1,19 +1,20 @@ -# 服务端 +# Server Nginx UI 配置的服务端部分涉及控制 Nginx UI 服务器的各种设置。在页面中,我们将讨论可用的选项、它们的默认值以及它们的目的。 -## HttpHost +## Host - 类型: `string` -- 默认值:`0.0.0.0` +- 版本: `>= v2.0.0-beta.37` +- Default:`0.0.0.0` Nginx UI 服务器监听的主机名。此选项用于配置 Nginx UI 服务器监听传入 HTTP 请求的主机名。 更改默认主机名可能有助于提升安全性。 -## HttpPort - -- 类型:`int` +## Port +- Type: `uint` +- 版本: `>= v2.0.0-beta.37` - 默认值:`9000` -Nginx UI 服务器监听端口。此选项用于配置 Nginx UI 服务器监听传入 HTTP 请求的端口。更改默认端口对于避免端口冲突或增强安全性可能很有用。 +此选项用于配置 Nginx UI 服务器监听传入 HTTP 请求的端口。更改默认端口对于避免端口冲突或增强安全性可能很有用。 ## RunMode @@ -29,8 +30,32 @@ Nginx UI 的日志分为 6 个级别,分别为 `Debug`、`Info`、`Warn`、`Er 当使用 `release` 模式时,Nginx UI 将不会在控制台打印 SQL 的执行时间和调用者, 只有 `Info` 级别或更高等级的日志才会被打印。 +## HttpHost +- 类型: `string` +- Default:`0.0.0.0` + +::: warning 警告 +已在 `v2.0.0-beta.37` 中废弃,请使用 `Host` 替代。 +::: + +Nginx UI 服务器监听的主机名。此选项用于配置 Nginx UI 服务器监听传入 HTTP 请求的主机名。 更改默认主机名可能有助于提升安全性。 + +## HttpPort +- Type: `int` +- 默认值:`9000` + +::: warning 警告 +已在 `v2.0.0-beta.37` 中废弃,请使用 `Port` 替代。 +::: + +此选项用于配置 Nginx UI 服务器监听传入 HTTP 请求的端口。更改默认端口对于避免端口冲突或增强安全性可能很有用。 + ## JwtSecret -- 类型:`string` +- 类型: `string` + +::: warning 警告 +已在 `v2.0.0-beta.37` 中废弃,请使用 `App.JwtSecret` 替代。 +::: 此选项用于配置 Nginx UI 服务器用于生成 JWT 的密钥。 @@ -38,17 +63,36 @@ JWT 是一种用于验证用户身份的标准,它可以在用户登录后生 如果您使用一键安装脚本来部署 Nginx UI,脚本将会生成一个 UUID 值并将它设置为此选项的值。 +## NodeSecret +- 类型: `string` +- 版本: `>= v2.0.0-beta.24, <= 2.0.0-beta.36` + +::: warning 警告 +已在 `v2.0.0-beta.37` 中废弃,请使用 `Node.Secret` 替代。 +::: + +此密钥用于验证 Nginx UI 服务器之间的通信。 +此外,您可以使用此密钥在不使用密码的情况下访问 Nginx UI API。 + ## HTTPChallengePort - 类型:`int` - 默认值:`9180` +::: warning 警告 +已在 `v2.0.0-beta.37` 中废弃,请使用 `Cert.HTTPChallengePort` 替代。 +::: + 在获取 Let's Encrypt 证书时,此选项用于在 HTTP01 挑战模式中设置后端监听端口。HTTP01 挑战是 Let's Encrypt 用于验证您控制请求证书的域的域验证方法。 ## Email - 类型:`string` +::: warning 警告 +已在 `v2.0.0-beta.37` 中废弃,请使用 `Cert.Email` 替代。 +::: + 在获取 Let's Encrypt 证书时,此选项用于设置您的电子邮件地址。Let's Encrypt 会将您的电子邮件地址用于通知您证书的到期时间。 ## Database @@ -56,6 +100,10 @@ JWT 是一种用于验证用户身份的标准,它可以在用户登录后生 - 类型:`string` - 默认值:`database` +::: warning 警告 +已在 `v2.0.0-beta.37` 中废弃,请使用 `Database.Name` 替代。 +::: + 此选项用于设置 Nginx UI 用于存储其数据的 sqlite 数据库的名称。 ## StartCmd @@ -63,6 +111,10 @@ JWT 是一种用于验证用户身份的标准,它可以在用户登录后生 - 类型:`string` - 默认值:`login` +::: warning 警告 +已在 `v2.0.0-beta.37` 中废弃,请使用 `Terminal.StartCmd` 替代。 +::: + 此选项用于设置 Web 终端的启动命令。 ::: warning 警告 @@ -75,11 +127,19 @@ JWT 是一种用于验证用户身份的标准,它可以在用户登录后生 - 类型:`int` - 默认值:`10` +::: warning 警告 +已在 `v2.0.0-beta.37` 中废弃,请使用 `App.PageSize` 替代。 +::: + 此选项用于设置 Nginx UI 中列表分页的页面大小。调整页面大小有助于更有效地管理大量数据,但是过大的数量可能会增加服务器的压力。 ## CADir -- 类型:`string` +- 类型: `string` + +::: warning 警告 +已在 `v2.0.0-beta.37` 中废弃,请使用 `Cert.CADir` 替代。 +::: 在申请 Let's Encrypt 证书时,我们使用 Let's Encrypt 的默认 CA 地址。如果您需要调试或从其他提供商获取证书,您可以将 CADir 设置为他们的地址。 @@ -93,29 +153,45 @@ JWT 是一种用于验证用户身份的标准,它可以在用户登录后生 - 类型:`string` - 建议:`https://mirror.ghproxy.com/` +::: warning 警告 +已在 `v2.0.0-beta.37` 中废弃,请使用 `Http.GithubProxy` 替代。 +::: + 对于可能在从 Github 下载资源时遇到困难的用户(如在中国大陆),此选项允许他们为 github.com 设置代理,以提高可访问性。 ## CertRenewalInterval -- 版本:`>= v2.0.0-beta.22` +- 版本:`>= v2.0.0-beta.22, <= 2.0.0-beta.36` - 类型:`int` - 默认值: `7` +::: warning 警告 +已在 `v2.0.0-beta.37` 中废弃,请使用 `Cert.CertRenewalInterval` 替代。 +::: + 此选项用于设置 Let's Encrypt 证书的自动续签间隔。默认情况下,Nginx UI 每隔 7 天会自动续签证书。 ## RecursiveNameservers -- 版本:`>= v2.0.0-beta.22` +- 版本:`>= v2.0.0-beta.22, <= 2.0.0-beta.36` - 类型: `[]string` - 示例: `8.8.8.8:53,1.1.1.1:53` +::: warning 警告 +已在 `v2.0.0-beta.37` 中废弃,请使用 `Cert.RecursiveNameservers` 替代。 +::: + 此选项用于设置 Nginx UI 在申请证书的 DNS 挑战步骤所使用的递归域名服务器。在不配置此项目的情况下,Nginx UI 使用操作系统的域名服务器设置。 ## SkipInstallation -- 版本:`>= v2.0.0-beta.23` -- 类型:`bool` -- 默认值:`false` +- 版本:`>= v2.0.0-beta.23, <= 2.0.0-beta.36` +- 类型: `bool` +- 默认值: `false` + +::: warning 警告 +已在 `v2.0.0-beta.37` 中废弃,请使用 `Node.SkipInstallation` 替代。 +::: 通过将此选项设置为 `true`,您可以跳过 Nginx UI 服务器的安装。 当您希望使用相同的配置文件或环境变量将 Nginx UI 部署到多个服务器时,这非常有用。 @@ -128,14 +204,22 @@ Nginx UI 将不会创建系统初始的 acme 用户,这意味着您无法在 ## Name -- 版本:`>= v2.0.0-beta.23` -- 类型:`string` +- 版本:`>= v2.0.0-beta.23, <= 2.0.0-beta.36` +- 类型: `string` + +::: warning 警告 +已在 `v2.0.0-beta.37` 中废弃,请使用 `Http.InsecureSkipVerify` 替代。 +::: 使用此选项自定义本地服务器的名称,以在环境指示器中显示。 ## InsecureSkipVerify -- 版本:`>= v2.0.0-beta.30` +- 版本:`>= v2.0.0-beta.30, <= 2.0.0-beta.36` - 类型: `bool` +::: warning 警告 +已在 `v2.0.0-beta.37` 中废弃,请使用 `Http.InsecureSkipVerify` 替代。 +::: + 此选项用于配置 Nginx UI 服务器在与其他服务器建立 TLS 连接时是否跳过证书验证。 diff --git a/docs/zh_CN/guide/config-terminal.md b/docs/zh_CN/guide/config-terminal.md new file mode 100644 index 00000000..f75cc5ef --- /dev/null +++ b/docs/zh_CN/guide/config-terminal.md @@ -0,0 +1,14 @@ +# Terminal + +## StartCmd + +- 类型: `string` +- 默认值: `login` +- 版本: `>= v2.0.0-beta.37` + +此选项用于设置 Web 终端的启动命令。 + +::: warning 警告 +出于安全原因,我们将启动命令设置为 `login`,因此您必须通过 Linux 的默认身份验证方法登录。 +如果您不想每次访问 Web 终端时都输入用户名和密码进行验证,请将其设置为 `bash` 或 `zsh`(如果已安装)。 +::: diff --git a/docs/zh_CN/guide/env.md b/docs/zh_CN/guide/env.md index 649aed89..93f5bb47 100644 --- a/docs/zh_CN/guide/env.md +++ b/docs/zh_CN/guide/env.md @@ -1,84 +1,128 @@ # 环境变量 -适用于 v2.0.0-beta.23 及以上版本 +适用于 v2.0.0-beta.37 及以上版本。 + +## App + +| 配置 | 环境变量 | +|-----------|-------------------------| +| PageSize | NGINX_UI_APP_PAGE_SIZE | +| JwtSecret | NGINX_UI_APP_JWT_SECRET | ## Server -| Configuration Setting | Environment Variable | -|-----------------------|---------------------------------------| -| HttpPort | NGINX_UI_SERVER_HTTP_PORT | -| RunMode | NGINX_UI_SERVER_RUN_MODE | -| JwtSecret | NGINX_UI_SERVER_JWT_SECRET | -| HTTPChallengePort | NGINX_UI_SERVER_HTTP_CHALLENGE_PORT | -| StartCmd | NGINX_UI_SERVER_START_CMD | -| Database | NGINX_UI_SERVER_DATABASE | -| CADir | NGINX_UI_SERVER_CA_DIR | -| GithubProxy | NGINX_UI_SERVER_GITHUB_PROXY | -| NodeSecret | NGINX_UI_SERVER_NODE_SECRET | -| Demo | NGINX_UI_SERVER_DEMO | -| PageSize | NGINX_UI_SERVER_PAGE_SIZE | -| HttpHost | NGINX_UI_SERVER_HTTP_HOST | -| CertRenewalInterval | NGINX_UI_SERVER_CERT_RENEWAL_INTERVAL | -| RecursiveNameservers | NGINX_UI_SERVER_RECURSIVE_NAMESERVERS | -| SkipInstallation | NGINX_UI_SERVER_SKIP_INSTALLATION | -| Name | NGINX_UI_SERVER_NAME | -| InsecureSkipVerify | NGINX_UI_SERVER_INSECURE_SKIP_VERIFY | +| 配置 | 环境变量 | +|---------|--------------------------| +| Host | NGINX_UI_SERVER_HOST | +| Port | NGINX_UI_SERVER_PORT | +| RunMode | NGINX_UI_SERVER_RUN_MODE | -## Nginx +## Database -| Configuration Setting | Environment Variable | -|-----------------------|-----------------------------------| -| AccessLogPath | NGINX_UI_NGINX_ACCESS_LOG_PATH | -| ErrorLogPath | NGINX_UI_NGINX_ERROR_LOG_PATH | -| ConfigDir | NGINX_UI_NGINX_CONFIG_DIR | -| PIDPath | NGINX_UI_NGINX_PID_PATH | -| TestConfigCmd | NGINX_UI_NGINX_TEST_CONFIG_CMD | -| ReloadCmd | NGINX_UI_NGINX_RELOAD_CMD | -| RestartCmd | NGINX_UI_NGINX_RESTART_CMD | -| LogDirWhiteList | NGINX_UI_NGINX_LOG_DIR_WHITE_LIST | - -## OpenAI - -| Configuration Setting | Environment Variable | -|-----------------------|--------------------------| -| Model | NGINX_UI_OPENAI_MODEL | -| BaseUrl | NGINX_UI_OPENAI_BASE_URL | -| Proxy | NGINX_UI_OPENAI_PROXY | -| Token | NGINX_UI_OPENAI_TOKEN | - -## Casdoor - -| Configuration Setting | Environment Variable | -|-----------------------|-----------------------------------| -| Endpoint | NGINX_UI_CASDOOR_ENDPOINT | -| ClientId | NGINX_UI_CASDOOR_CLIENT_ID | -| ClientSecret | NGINX_UI_CASDOOR_CLIENT_SECRET | -| CertificatePath | NGINX_UI_CASDOOR_CERTIFICATE_PATH | -| Organization | NGINX_UI_CASDOOR_ORGANIZATION | -| Application | NGINX_UI_CASDOOR_APPLICATION | -| RedirectUri | NGINX_UI_CASDOOR_REDIRECT_URI | - -## Logrotate - -| Configuration Setting | Environment Variable | -|-----------------------|-----------------------------| -| Enabled | NGINX_UI_LOGROTATE_ENABLED | -| CMD | NGINX_UI_LOGROTATE_CMD | -| Interval | NGINX_UI_LOGROTATE_INTERVAL | +| 配置 | 环境变量 | +|------|------------------| +| Name | NGINX_UI_DB_NAME | ## Auth -| Configuration Setting | Environment Variable | -|-----------------------|---------------------------| -| IPWhiteList | NGINX_UI_AUTH_IPWhiteList | +| 配置 | 环境变量 | +|---------------------|-------------------------------------| +| IPWhiteList | NGINX_UI_AUTH_IP_WHITE_LIST | +| BanThresholdMinutes | NGINX_UI_AUTH_BAN_THRESHOLD_MINUTES | +| MaxAttempts | NGINX_UI_AUTH_MAX_ATTEMPTS | + +## Casdoor + +| 配置 | 环境变量 | +|-----------------|-----------------------------------| +| Endpoint | NGINX_UI_CASDOOR_ENDPOINT | +| ClientId | NGINX_UI_CASDOOR_CLIENT_ID | +| ClientSecret | NGINX_UI_CASDOOR_CLIENT_SECRET | +| CertificatePath | NGINX_UI_CASDOOR_CERTIFICATE_PATH | +| Organization | NGINX_UI_CASDOOR_ORGANIZATION | +| Application | NGINX_UI_CASDOOR_APPLICATION | +| RedirectUri | NGINX_UI_CASDOOR_REDIRECT_URI | + +## Cert + +| 配置 | 环境变量 | +|----------------------|-------------------------------------| +| Email | NGINX_UI_CERT_EMAIL | +| CADir | NGINX_UI_CERT_CA_DIR | +| RenewalInterval | NGINX_UI_CERT_RENEWAL_INTERVAL | +| RecursiveNameservers | NGINX_UI_CERT_RECURSIVE_NAMESERVERS | +| HTTPChallengePort | NGINX_UI_CERT_HTTP_CHALLENGE_PORT | + +## Cluster + +| 配置 | 环境变量 | +|------|-----------------------| +| Node | NGINX_UI_CLUSTER_NODE | + +## Crypto + +| 配置 | 环境变量 | +|--------|------------------------| +| Secret | NGINX_UI_CRYPTO_SECRET | + +## Http + +| 配置 | 环境变量 | +|--------------------|------------------------------------| +| GithubProxy | NGINX_UI_HTTP_GITHUB_PROXY | +| InsecureSkipVerify | NGINX_UI_HTTP_INSECURE_SKIP_VERIFY | + +## Logrotate + +| 配置 | 环境变量 | +|----------|-----------------------------| +| Enabled | NGINX_UI_LOGROTATE_ENABLED | +| CMD | NGINX_UI_LOGROTATE_CMD | +| Interval | NGINX_UI_LOGROTATE_INTERVAL | + +## Nginx + +| 配置 | 环境变量 | +|-----------------|-----------------------------------| +| AccessLogPath | NGINX_UI_NGINX_ACCESS_LOG_PATH | +| ErrorLogPath | NGINX_UI_NGINX_ERROR_LOG_PATH | +| ConfigDir | NGINX_UI_NGINX_CONFIG_DIR | +| PIDPath | NGINX_UI_NGINX_PID_PATH | +| TestConfigCmd | NGINX_UI_NGINX_TEST_CONFIG_CMD | +| ReloadCmd | NGINX_UI_NGINX_RELOAD_CMD | +| RestartCmd | NGINX_UI_NGINX_RESTART_CMD | +| LogDirWhiteList | NGINX_UI_NGINX_LOG_DIR_WHITE_LIST | + +## Node + +| 配置 | 环境变量 | +|------------------|---------------------------------| +| Name | NGINX_UI_NODE_NAME | +| Secret | NGINX_UI_NODE_SECRET | +| SkipInstallation | NGINX_UI_NODE_SKIP_INSTALLATION | + +## OpenAI + +| 配置 | 环境变量 | +|---------|--------------------------| +| Model | NGINX_UI_OPENAI_MODEL | +| BaseUrl | NGINX_UI_OPENAI_BASE_URL | +| Proxy | NGINX_UI_OPENAI_PROXY | +| Token | NGINX_UI_OPENAI_TOKEN | + +## Terminal + +| 配置 | 环境变量 | +|----------|-----------------------------| +| StartCmd | NGINX_UI_TERMINAL_START_CMD | ## Webauthn -| Configuration Setting | Environment Variable | -|-----------------------|-----------------------------------| -| RPDisplayName | NGINX_UI_WEBAUTHN_RP_DISPLAY_NAME | -| RPID | NGINX_UI_WEBAUTHN_RPID | -| RPOrigins | NGINX_UI_WEBAUTHN_RP_ORIGINS | +| 配置 | 环境变量 | +|---------------|-----------------------------------| +| RPDisplayName | NGINX_UI_WEBAUTHN_RP_DISPLAY_NAME | +| RPID | NGINX_UI_WEBAUTHN_RPID | +| RPOrigins | NGINX_UI_WEBAUTHN_RP_ORIGINS | ## 预定义用户 diff --git a/docs/zh_CN/guide/nginx-ui-template.md b/docs/zh_CN/guide/nginx-ui-template.md index 3e5c5fae..20283d1f 100644 --- a/docs/zh_CN/guide/nginx-ui-template.md +++ b/docs/zh_CN/guide/nginx-ui-template.md @@ -4,7 +4,7 @@ Nginx UI Template 提供了一种开箱即用的配置模板机制。在 NgxConf 在本篇指南中,我们将绍这种配置模板的文件格式和语法规则。 配置模板文件存储在 `template/block` 目录中,我们欢迎并期待您通过提交 [PR](https://github.com/0xJacky/nginx-ui/pulls) 的形式分享您编写的配置模板。 -::: tip +::: tip 提示 请注意,每次修改或添加新的配置文件后,需要重新编译后端以生效。 ::: diff --git a/docs/zh_TW/guide/config-app.md b/docs/zh_TW/guide/config-app.md new file mode 100644 index 00000000..3d28e1b9 --- /dev/null +++ b/docs/zh_TW/guide/config-app.md @@ -0,0 +1,20 @@ +# App + +## PageSize + +- 類型: `int` +- 預設值: 10 +- 版本: `>=v2.0.0-beta.37` + +此選項用於設置 Nginx UI 中列表分頁的頁面大小。調整頁面大小可以更有效地管理大量數據,但過大的數字會增加伺服器的負載。 + +## JwtSecret + +- 類型: `string` +- 版本: `>=v2.0.0-beta.37` + +此選項用於配置 Nginx UI 伺服器生成 JWT 的密鑰。 + +JWT 是一種驗證用戶身份的標準。用戶登錄後可以生成一個令牌,然後在後續請求中使用該令牌驗證用戶身份。 + +如果您使用一鍵安裝腳本部署 Nginx UI,腳本將生成一個 UUID 值並將其設置為此選項的值。 diff --git a/docs/zh_TW/guide/config-cert.md b/docs/zh_TW/guide/config-cert.md new file mode 100644 index 00000000..4e5ff7da --- /dev/null +++ b/docs/zh_TW/guide/config-cert.md @@ -0,0 +1,35 @@ +## CADir +- 類型: `string` +- 版本:`>= v2.0.0-beta.37` + +在申請 Let's Encrypt 證書時,我們使用 Let's Encrypt 的默認 CA 地址。 +如果您需要調試或從其他提供商獲取證書,您可以將 CADir 設置為他們的地址。 + +::: tip 提示 +請注意,CADir 提供的地址需要符合 `RFC 8555` 標準。 +::: + +## RecursiveNameservers + +- 版本:`>= v2.0.0-beta.37` +- 類型: `[]string` +- 示例: `8.8.8.8:53,1.1.1.1:53` + +此選項用於設置 Nginx UI 在申請證書的 DNS 挑戰步驟所使用的遞歸域名伺服器。在不配置此項目的情況下,Nginx UI 使用操作系統的域名伺服器設置。 + +## CertRenewalInterval + +- 版本:`>= v2.0.0-beta.37` +- 類型: `int` +- 默認值: `7` + +此選項用於設置 Let's Encrypt 證書的自動續簽間隔。默認情況下,Nginx UI 每隔 7 天會自動續簽證書。 + +## HTTPChallengePort + +- 版本:`>= v2.0.0-beta.37` +- 類型: `int` +- 默認值: `9180` + +在獲取 Let's Encrypt 證書時,此選項用於在 HTTP01 挑戰模式中設置後端監聽端口。 +HTTP01 挑戰是 Let's Encrypt 用於驗證您控制請求證書的域的域驗證方法。 diff --git a/docs/zh_TW/guide/config-database.md b/docs/zh_TW/guide/config-database.md new file mode 100644 index 00000000..3d696cc2 --- /dev/null +++ b/docs/zh_TW/guide/config-database.md @@ -0,0 +1,8 @@ +# Database + +## Name +- 類型: `string` +- 預設值: `database` +- 版本: `>=v2.0.0-beta.37` + +此選項用於設置 Nginx UI 用於存儲其數據的 sqlite 數據庫的名稱。 diff --git a/docs/zh_TW/guide/config-http.md b/docs/zh_TW/guide/config-http.md new file mode 100644 index 00000000..28170ed2 --- /dev/null +++ b/docs/zh_TW/guide/config-http.md @@ -0,0 +1,20 @@ +# Http + +## GithubProxy +- 版本:`>= v2.0.0-beta.37` +- 類型:`string` +- 建議:`https://mirror.ghproxy.com/` + +對於可能在從 Github 下載資源時遇到困難的用戶(如在中國大陸),此選項允許他們為 github.com 設置代理,以提高可訪問性。 + +## InsecureSkipVerify + +- 版本:`>= v2.0.0-beta.37` +- 類型:`bool` + +此選項用於配置 Nginx UI 伺服器在與其他伺服器建立 TLS 連接時是否跳過證書驗證。 + +- 版本:`>= v2.0.0-beta.37` +- 类型: `bool` + +此选项用于配置 Nginx UI 服务器在与其他服务器建立 TLS 连接时是否跳过证书验证。 diff --git a/docs/zh_TW/guide/config-node.md b/docs/zh_TW/guide/config-node.md new file mode 100644 index 00000000..afbc5726 --- /dev/null +++ b/docs/zh_TW/guide/config-node.md @@ -0,0 +1,16 @@ +# Node + +## Name + +- 版本:`>= v2.0.0-beta.37` +- 類型:`string` + +使用此選項自定義本地伺服器的名稱,以在環境指示器中顯示。 + +## Secret + +- 類型: `string` +- 版本: `>= v2.0.0-beta.37` + +此密鑰用於驗證 Nginx UI 伺服器之間的通信。 +此外,您可以使用此密鑰在不使用密碼的情況下訪問 Nginx UI API。 diff --git a/docs/zh_TW/guide/config-server.md b/docs/zh_TW/guide/config-server.md index bf85b867..2e09d795 100644 --- a/docs/zh_TW/guide/config-server.md +++ b/docs/zh_TW/guide/config-server.md @@ -1,89 +1,145 @@ -# 服務端 +# Server -Nginx UI 配置的服務端部分涉及控制 Nginx UI 服務器的各種設置。在頁面中,我們將討論可用的選項、它們的預設值以及它們的目的。 +Nginx UI 配置的服務端部分涉及控制 Nginx UI 伺服器的各種設定。在頁面中,我們將討論可用的選項、它們的預設值以及它們的目的。 -## HttpHost +## Host - 類型: `string` -- 預設值:`0.0.0.0` +- 版本: `>= v2.0.0-beta.37` +- 預設值: `0.0.0.0` -Nginx UI 服務器監聽的主機名。此選項用於配置 Nginx UI 服務器監聽傳入 HTTP 請求的主機名。 更改預設主機名可能有助於提升安全性。 +Nginx UI 伺服器監聽的主機名稱。此選項用於配置 Nginx UI 伺服器監聽傳入 HTTP 請求的主機名稱。更改預設主機名稱可能有助於提升安全性。 -## HttpPort +## Port +- 類型: `uint` +- 版本: `>= v2.0.0-beta.37` +- 預設值: `9000` -- 類型:`int` -- 預設值:`9000` - -Nginx UI 服務器監聽端口。此選項用於配置 Nginx UI 服務器監聽傳入 HTTP 請求的端口。更改預設端口對於避免端口衝突或增強安全性可能很有用。 +此選項用於配置 Nginx UI 伺服器監聽傳入 HTTP 請求的端口。更改預設端口對於避免端口衝突或增強安全性可能很有用。 ## RunMode -- 類型:`string` -- 支援的值:`release`,`debug` -- 預設值:`debug` +- 類型: `string` +- 支援的值: `release`,`debug` +- 預設值: `debug` -此選項用於配置 Nginx UI 服務器的運行模式,主要影響日誌打印的級別。 +此選項用於配置 Nginx UI 伺服器的運行模式,主要影響日誌輸出的級別。 -Nginx UI 的日誌分為 6 個級別,分別為 `Debug`、`Info`、`Warn`、`Error`、`Panic` 和 `Fatal`,這些日誌級別按照嚴重程度遞增, +Nginx UI 的日誌分為 6 個級別,分別為 `Debug`、`Info`、`Warn`、`Error`、`Panic` 和 `Fatal`,這些日誌級別按照嚴重程度遞增。 -當使用 `debug` 模式時,Nginx UI 將在控制台打印 SQL 及其執行的時間和調用者,`Debug` 級別或更高等級的日誌也會被打印。 +當使用 `debug` 模式時,Nginx UI 將在控制台打印 SQL 及其執行的時間和調用者,`Debug` 級別或更高級別的日誌也會被打印。 -當使用 `release` 模式時,Nginx UI 將不會在控制台打印 SQL 的執行時間和調用者, 只有 `Info` 級別或更高等級的日誌才會被打印。 +當使用 `release` 模式時,Nginx UI 將不會在控制台打印 SQL 的執行時間和調用者,只有 `Info` 級別或更高級別的日誌才會被打印。 + +## HttpHost +- 類型: `string` +- 預設值: `0.0.0.0` + +::: warning 警告 +已在 `v2.0.0-beta.37` 中廢棄,請使用 `Host` 取代。 +::: + +Nginx UI 伺服器監聽的主機名稱。此選項用於配置 Nginx UI 伺服器監聽傳入 HTTP 請求的主機名稱。更改預設主機名稱可能有助於提升安全性。 + +## HttpPort +- 類型: `int` +- 預設值: `9000` + +::: warning 警告 +已在 `v2.0.0-beta.37` 中廢棄,請使用 `Port` 取代。 +::: + +此選項用於配置 Nginx UI 伺服器監聽傳入 HTTP 請求的端口。更改預設端口對於避免端口衝突或增強安全性可能很有用。 ## JwtSecret -- 類型:`string` +- 類型: `string` -此選項用於配置 Nginx UI 服務器用於生成 JWT 的密鑰。 +::: warning 警告 +已在 `v2.0.0-beta.37` 中廢棄,請使用 `App.JwtSecret` 取代。 +::: -JWT 是一種用於驗證用戶身份的標準,它可以在用戶登錄後生成一個 token,然後在後續的請求中使用該 token 來驗證用戶身份。 +此選項用於配置 Nginx UI 伺服器用於生成 JWT 的密鑰。 -如果您使用一鍵安裝腳本來部署 Nginx UI,腳本將會生成一個 UUID 值並將它設置為此選項的值。 +JWT 是一種用於驗證用戶身份的標準,它可以在用戶登入後生成一個 token,然後在後續的請求中使用該 token 來驗證用戶身份。 + +如果您使用一鍵安裝腳本來部署 Nginx UI,腳本將會生成一個 UUID 值並將它設定為此選項的值。 + +## NodeSecret +- 類型: `string` +- 版本: `>= v2.0.0-beta.24, <= 2.0.0-beta.36` + +::: warning 警告 +已在 `v2.0.0-beta.37` 中廢棄,請使用 `Node.Secret` 取代。 +::: + +此密鑰用於驗證 Nginx UI 伺服器之間的通信。 +此外,您可以使用此密鑰在不使用密碼的情況下訪問 Nginx UI API。 ## HTTPChallengePort -- 類型:`int` -- 預設值:`9180` +- 類型: `int` +- 預設值: `9180` -在獲取 Let's Encrypt 證書時,此選項用於在 HTTP01 +::: warning 警告 +已在 `v2.0.0-beta.37` 中廢棄,請使用 `Cert.HTTPChallengePort` 取代。 +::: -挑戰模式中設置後端監聽端口。HTTP01 挑戰是 Let's Encrypt 用於驗證您控制請求證書的域的域驗證方法。 +在獲取 Let's Encrypt 證書時,此選項用於在 HTTP01 挑戰模式中設定後端監聽端口。HTTP01 挑戰是 Let's Encrypt 用於驗證您控制請求證書的域的域驗證方法。 ## Email -- 類型:`string` +- 類型: `string` -在獲取 Let's Encrypt 證書時,此選項用於設置您的電子郵件地址。Let's Encrypt 會將您的電子郵件地址用於通知您證書的到期時間。 +::: warning 警告 +已在 `v2.0.0-beta.37` 中廢棄,請使用 `Cert.Email` 取代。 +::: + +在獲取 Let's Encrypt 證書時,此選項用於設定您的電子郵件地址。Let's Encrypt 會將您的電子郵件地址用於通知您證書的到期時間。 ## Database -- 類型:`string` -- 預設值:`database` +- 類型: `string` +- 預設值: `database` -此選項用於設置 Nginx UI 用於存儲其數據的 sqlite 數據庫的名稱。 +::: warning 警告 +已在 `v2.0.0-beta.37` 中廢棄,請使用 `Database.Name` 取代。 +::: + +此選項用於設定 Nginx UI 用於存儲其數據的 sqlite 數據庫的名稱。 ## StartCmd -- 類型:`string` -- 預設值:`login` - -此選項用於設置 Web 終端的啟動命令。 +- 類型: `string` +- 預設值: `login` ::: warning 警告 -出於安全原因,我們將啟動命令設置為 `login`,因此您必須通過 Linux 的預設身份驗證方法登錄。如果您不想每次訪問 Web -終端時都輸入用戶名和密碼進行驗證,請將其設置為 `bash` 或 `zsh`(如果已安裝)。 +已在 `v2.0.0-beta.37` 中廢棄,請使用 `Terminal.StartCmd` 取代。 +::: + +此選項用於設定 Web 終端的啟動命令。 + +::: warning 警告 +出於安全原因,我們將啟動命令設置為 `login`,因此您必須通過 Linux 的預設身份驗證方法登入。如果您不想每次訪問 Web 終端時都輸入用戶名和密碼進行驗證,請將其設定為 `bash` 或 `zsh`(如果已安裝)。 ::: ## PageSize -- 類型:`int` -- 預設值:`10` +- 類型: `int` +- 預設值: `10` -此選項用於設置 Nginx UI 中列表分頁的頁面大小。調整頁面大小有助於更有效地管理大量數據,但是過大的數量可能會增加服務器的壓力。 +::: warning 警告 +已在 `v2.0.0-beta.37` 中廢棄,請使用 `App.PageSize` 取代。 +::: + +此選項用於設定 Nginx UI 中列表分頁的頁面大小。調整頁面大小有助於更有效地管理大量數據,但是過大的數量可能會增加伺服器的壓力。 ## CADir -- 類型:`string` +- 類型: `string` -在申請 Let's Encrypt 證書時,我們使用 Let's Encrypt 的預設 CA 地址。如果您需要調試或從其他提供商獲取證書,您可以將 CADir -設置為他們的地址。 +::: warning 警告 +已在 `v2.0.0-beta.37` 中廢棄,請使用 `Cert.CADir` 取代。 +::: + +在申請 Let's Encrypt 證書時,我們使用 Let's Encrypt 的預設 CA 地址。如果您需要調試或從其他提供商獲取證書,您可以將 CADir 設定為他們的地址。 ::: tip 提示 請注意,CADir 提供的地址需要符合 `RFC 8555` 標準。 @@ -91,52 +147,76 @@ JWT 是一種用於驗證用戶身份的標準,它可以在用戶登錄後生 ## GithubProxy -- 類型:`string` -- 建議:`https://mirror.ghproxy.com/` +- 類型: `string` +- 建議: `https://mirror.ghproxy.com/` -對於可能在從 Github 下載資源時遇到困難的用戶(如在中國大陸),此選項允許他們為 github.com 設置代理,以提高可訪問性。 +::: warning 警告 +已在 `v2.0.0-beta.37` 中廢棄,請使用 `Http.GithubProxy` 取代。 +::: + +對於可能在從 Github 下載資源時遇到困難的用戶(如在中國大陸),此選項允許他們為 github.com 設定代理,以提高可訪問性。 ## CertRenewalInterval -- 版本:`>= v2.0.0-beta.22` -- 類型:`int` +- 版本: `>= v2.0.0-beta.22, <= 2.0.0-beta.36` +- 類型: `int` - 預設值: `7` +::: warning 警告 +已在 `v2.0.0-beta.37` 中廢棄,請使用 `Cert.CertRenewalInterval` 取代。 +::: + 此選項用於設定 Let's Encrypt 證書的自動續簽間隔。預設情況下,Nginx UI 每隔 7 天會自動續簽證書。 ## RecursiveNameservers -- 版本:`>= v2.0.0-beta.22` +- 版本: `>= v2.0.0-beta.22, <= 2.0.0-beta.36` - 類型: `[]string` -- 範例: `8.8.8.8:53,1.1.1.1:53` +- 示例: `8.8.8.8:53,1.1.1.1:53` -此選項用於設定 Nginx UI 在申請證書的 DNS 挑戰步驟所使用的遞迴域名伺服器。在不配置此項目的情況下,Nginx UI 使用作業系統的域名伺服器設定。 +::: warning 警告 +已在 `v2.0.0-beta.37` 中廢棄,請使用 + +`Cert.RecursiveNameservers` 取代。 +::: + +此選項用於設定 Nginx UI 在申請證書的 DNS 挑戰步驟中所使用的遞歸域名伺服器。在不配置此項目的情況下,Nginx UI 使用操作系統的域名伺服器設置。 ## SkipInstallation -- 版本:`>= v2.0.0-beta.23` -- 類型:`bool` -- 預設值:`false` +- 版本: `>= v2.0.0-beta.23, <= 2.0.0-beta.36` +- 類型: `bool` +- 預設值: `false` -透過將此選項設定為 `true`,您可以跳過 Nginx UI 伺服器的安裝。 -當您希望使用相同的配置文件或環境變數將 Nginx UI 部署到多個伺服器時,這非常有用。 +::: warning 警告 +已在 `v2.0.0-beta.37` 中廢棄,請使用 `Node.SkipInstallation` 取代。 +::: -預設情況下,如果您啟用了跳過安裝模式,而沒有在伺服器部分設定 `JWTSecret` 和 `NodeSecret` 選項, -Nginx UI 將為這兩個選項生成一個隨機的 UUID 值。 +通過將此選項設置為 `true`,您可以跳過 Nginx UI 伺服器的安裝。 +當您希望使用相同的配置文件或環境變量將 Nginx UI 部署到多個伺服器時,這非常有用。 -此外,如果您也沒有在伺服器部分設定 `Email` 選項, -Nginx UI 將不會創建系統初始的 acme 使用者,這意味著您無法在此伺服器上申請 SSL 證書。 +預設情況下,如果您啟用了跳過安裝模式,而沒有在伺服器部分設置 `JWTSecret` 和 `NodeSecret` 選項,Nginx UI 將為這兩個選項生成一個隨機的 UUID 值。 + +此外,如果您也沒有在伺服器部分設置 `Email` 選項,Nginx UI 將不會創建系統初始的 acme 用戶,這意味著您無法在此伺服器上申請 SSL 證書。 ## Name -- 版本:`>= v2.0.0-beta.23` -- 類型:`string` +- 版本: `>= v2.0.0-beta.23, <= 2.0.0-beta.36` +- 類型: `string` + +::: warning 警告 +已在 `v2.0.0-beta.37` 中廢棄,請使用 `Http.InsecureSkipVerify` 取代。 +::: 使用此選項自定義本地伺服器的名稱,以在環境指示器中顯示。 ## InsecureSkipVerify -- 版本:`>= v2.0.0-beta.30` +- 版本: `>= v2.0.0-beta.30, <= 2.0.0-beta.36` - 類型: `bool` +::: warning 警告 +已在 `v2.0.0-beta.37` 中廢棄,請使用 `Http.InsecureSkipVerify` 取代。 +::: + 此選項用於配置 Nginx UI 伺服器在與其他伺服器建立 TLS 連接時是否跳過證書驗證。 diff --git a/docs/zh_TW/guide/config-terminal.md b/docs/zh_TW/guide/config-terminal.md new file mode 100644 index 00000000..6b673591 --- /dev/null +++ b/docs/zh_TW/guide/config-terminal.md @@ -0,0 +1,14 @@ +# Terminal + +## StartCmd + +- 類型: `string` +- 預設值: `login` +- 版本: `>= v2.0.0-beta.37` + +此選項用於設置 Web 終端的啟動命令。 + +::: warning 警告 +出於安全原因,我們將啟動命令設置為 `login`,因此您必須通過 Linux 的預設身份驗證方法登錄。 +如果您不想每次訪問 Web 終端時都輸入用戶名和密碼進行驗證,請將其設置為 `bash` 或 `zsh`(如果已安裝)。 +::: diff --git a/docs/zh_TW/guide/env.md b/docs/zh_TW/guide/env.md index 19bd285d..14585a11 100644 --- a/docs/zh_TW/guide/env.md +++ b/docs/zh_TW/guide/env.md @@ -1,88 +1,132 @@ # 環境變量 -適用於 v2.0.0-beta.23 及以上版本 +適用於 v2.0.0-beta.37 及以上版本。 + +## App + +| 配置 | 環境變量 | +|-----------|-------------------------| +| PageSize | NGINX_UI_APP_PAGE_SIZE | +| JwtSecret | NGINX_UI_APP_JWT_SECRET | ## Server -| Configuration Setting | Environment Variable | -|-----------------------|---------------------------------------| -| HttpPort | NGINX_UI_SERVER_HTTP_PORT | -| RunMode | NGINX_UI_SERVER_RUN_MODE | -| JwtSecret | NGINX_UI_SERVER_JWT_SECRET | -| HTTPChallengePort | NGINX_UI_SERVER_HTTP_CHALLENGE_PORT | -| StartCmd | NGINX_UI_SERVER_START_CMD | -| Database | NGINX_UI_SERVER_DATABASE | -| CADir | NGINX_UI_SERVER_CA_DIR | -| GithubProxy | NGINX_UI_SERVER_GITHUB_PROXY | -| NodeSecret | NGINX_UI_SERVER_NODE_SECRET | -| Demo | NGINX_UI_SERVER_DEMO | -| PageSize | NGINX_UI_SERVER_PAGE_SIZE | -| HttpHost | NGINX_UI_SERVER_HTTP_HOST | -| CertRenewalInterval | NGINX_UI_SERVER_CERT_RENEWAL_INTERVAL | -| RecursiveNameservers | NGINX_UI_SERVER_RECURSIVE_NAMESERVERS | -| SkipInstallation | NGINX_UI_SERVER_SKIP_INSTALLATION | -| Name | NGINX_UI_SERVER_NAME | -| InsecureSkipVerify | NGINX_UI_SERVER_INSECURE_SKIP_VERIFY | +| 配置 | 環境變量 | +|---------|--------------------------| +| Host | NGINX_UI_SERVER_HOST | +| Port | NGINX_UI_SERVER_PORT | +| RunMode | NGINX_UI_SERVER_RUN_MODE | -## Nginx +## Database -| Configuration Setting | Environment Variable | -|-----------------------|-----------------------------------| -| AccessLogPath | NGINX_UI_NGINX_ACCESS_LOG_PATH | -| ErrorLogPath | NGINX_UI_NGINX_ERROR_LOG_PATH | -| ConfigDir | NGINX_UI_NGINX_CONFIG_DIR | -| PIDPath | NGINX_UI_NGINX_PID_PATH | -| TestConfigCmd | NGINX_UI_NGINX_TEST_CONFIG_CMD | -| ReloadCmd | NGINX_UI_NGINX_RELOAD_CMD | -| RestartCmd | NGINX_UI_NGINX_RESTART_CMD | -| LogDirWhiteList | NGINX_UI_NGINX_LOG_DIR_WHITE_LIST | - -## OpenAI - -| Configuration Setting | Environment Variable | -|-----------------------|--------------------------| -| Model | NGINX_UI_OPENAI_MODEL | -| BaseUrl | NGINX_UI_OPENAI_BASE_URL | -| Proxy | NGINX_UI_OPENAI_PROXY | -| Token | NGINX_UI_OPENAI_TOKEN | - -## Casdoor - -| Configuration Setting | Environment Variable | -|-----------------------|-----------------------------------| -| Endpoint | NGINX_UI_CASDOOR_ENDPOINT | -| ClientId | NGINX_UI_CASDOOR_CLIENT_ID | -| ClientSecret | NGINX_UI_CASDOOR_CLIENT_SECRET | -| CertificatePath | NGINX_UI_CASDOOR_CERTIFICATE_PATH | -| Organization | NGINX_UI_CASDOOR_ORGANIZATION | -| Application | NGINX_UI_CASDOOR_APPLICATION | -| RedirectUri | NGINX_UI_CASDOOR_REDIRECT_URI | - -## Logrotate - -| Configuration Setting | Environment Variable | -|-----------------------|-----------------------------| -| Enabled | NGINX_UI_LOGROTATE_ENABLED | -| CMD | NGINX_UI_LOGROTATE_CMD | -| Interval | NGINX_UI_LOGROTATE_INTERVAL | +| 配置 | 環境變量 | +|------|------------------| +| Name | NGINX_UI_DB_NAME | ## Auth -| Configuration Setting | Environment Variable | -|-----------------------|---------------------------| -| IPWhiteList | NGINX_UI_AUTH_IPWhiteList | +| 配置 | 環境變量 | +|---------------------|-------------------------------------| +| IPWhiteList | NGINX_UI_AUTH_IP_WHITE_LIST | +| BanThresholdMinutes | NGINX_UI_AUTH_BAN_THRESHOLD_MINUTES | +| MaxAttempts | NGINX_UI_AUTH_MAX_ATTEMPTS | + +## Casdoor + +| 配置 | 環境變量 | +|-----------------|-----------------------------------| +| Endpoint | NGINX_UI_CASDOOR_ENDPOINT | +| ClientId | NGINX_UI_CASDOOR_CLIENT_ID | +| ClientSecret | NGINX_UI_CASDOOR_CLIENT_SECRET | +| CertificatePath | NGINX_UI_CASDOOR_CERTIFICATE_PATH | +| Organization | NGINX_UI_CASDOOR_ORGANIZATION | +| Application | NGINX_UI_CASDOOR_APPLICATION | +| RedirectUri | NGINX_UI_CASDOOR_REDIRECT_URI | + +## Cert + +| 配置 | 環境變量 | +|----------------------|-------------------------------------| +| Email | NGINX_UI_CERT_EMAIL | +| CADir | NGINX_UI_CERT_CA_DIR | +| RenewalInterval | NGINX_UI_CERT_RENEWAL_INTERVAL | +| RecursiveNameservers | NGINX_UI_CERT_RECURSIVE_NAMESERVERS | +| HTTPChallengePort | NGINX_UI_CERT_HTTP_CHALLENGE_PORT | + +## Cluster + +| 配置 | 環境變量 | +|------|-----------------------| +| Node | NGINX_UI_CLUSTER_NODE | + +## Crypto + +| 配置 | 環境變量 | +|--------|------------------------| +| Secret | NGINX_UI_CRYPTO_SECRET | + +## Http + +| 配置 | 環境變量 | +|--------------------|------------------------------------| +| GithubProxy | NGINX_UI_HTTP_GITHUB_PROXY | +| InsecureSkipVerify | NGINX_UI_HTTP_INSECURE_SKIP_VERIFY | + +## Logrotate + +| 配置 | 環境變量 | +|----------|-----------------------------| +| Enabled | NGINX_UI_LOGROTATE_ENABLED | +| CMD | NGINX_UI_LOGROTATE_CMD | +| Interval | NGINX_UI_LOGROTATE_INTERVAL | + +## Nginx + +| 配置 | 環境變量 | +|-----------------|-----------------------------------| +| AccessLogPath | NGINX_UI_NGINX_ACCESS_LOG_PATH | +| ErrorLogPath | NGINX_UI_NGINX_ERROR_LOG_PATH | +| ConfigDir | NGINX_UI_NGINX_CONFIG_DIR | +| PIDPath | NGINX_UI_NGINX_PID_PATH | +| TestConfigCmd | NGINX_UI_NGINX_TEST_CONFIG_CMD | +| ReloadCmd | NGINX_UI_NGINX_RELOAD_CMD | +| RestartCmd | NGINX_UI_NGINX_RESTART_CMD | +| LogDirWhiteList | NGINX_UI_NGINX_LOG_DIR_WHITE_LIST | + +## Node + +| 配置 | 環境變量 | +|------------------|---------------------------------| +| Name | NGINX_UI_NODE_NAME | +| Secret | NGINX_UI_NODE_SECRET | +| SkipInstallation | NGINX_UI_NODE_SKIP_INSTALLATION | + +## OpenAI + +| 配置 | 環境變量 | +|---------|--------------------------| +| Model | NGINX_UI_OPENAI_MODEL | +| BaseUrl | NGINX_UI_OPENAI_BASE_URL | +| Proxy | NGINX_UI_OPENAI_PROXY | +| Token | NGINX_UI_OPENAI_TOKEN | + +## Terminal + +| 配置 | 環境變量 | +|----------|-----------------------------| +| StartCmd | NGINX_UI_TERMINAL_START_CMD | ## Webauthn -| Configuration Setting | Environment Variable | -|-----------------------|-----------------------------------| -| RPDisplayName | NGINX_UI_WEBAUTHN_RP_DISPLAY_NAME | -| RPID | NGINX_UI_WEBAUTHN_RPID | -| RPOrigins | NGINX_UI_WEBAUTHN_RP_ORIGINS | +| 配置 | 環境變量 | +|---------------|-----------------------------------| +| RPDisplayName | NGINX_UI_WEBAUTHN_RP_DISPLAY_NAME | +| RPID | NGINX_UI_WEBAUTHN_RPID | +| RPOrigins | NGINX_UI_WEBAUTHN_RP_ORIGINS | -## 預定義使用者 +## 預定義用戶 -在跳過安裝模式下,您可以設置以下環境變量以創建預定義使用者: +在跳過安裝模式下,您可以設定以下環境變量以創建預定義用戶: - NGINX_UI_PREDEFINED_USER_NAME - NGINX_UI_PREDEFINED_USER_PASSWORD diff --git a/go.mod b/go.mod index 4ac64e22..f232b436 100644 --- a/go.mod +++ b/go.mod @@ -11,7 +11,7 @@ require ( github.com/dgraph-io/ristretto v1.0.0 github.com/dustin/go-humanize v1.0.1 github.com/elliotchance/orderedmap/v2 v2.4.0 - github.com/fatih/color v1.17.0 + github.com/fatih/color v1.18.0 github.com/gin-contrib/static v1.1.2 github.com/gin-gonic/gin v1.10.0 github.com/go-acme/lego/v4 v4.19.2 @@ -29,7 +29,7 @@ require ( github.com/pquerna/otp v1.4.0 github.com/pretty66/websocketproxy v0.0.0-20220507015215-930b3a686308 github.com/samber/lo v1.47.0 - github.com/sashabaranov/go-openai v1.32.2 + github.com/sashabaranov/go-openai v1.32.3 github.com/shirou/gopsutil/v3 v3.24.5 github.com/spf13/cast v1.7.0 github.com/stretchr/testify v1.9.0 @@ -72,7 +72,7 @@ require ( github.com/OpenDNS/vegadns2client v0.0.0-20180418235048-a3fa4a771d87 // indirect github.com/StackExchange/wmi v1.2.1 // indirect github.com/akamai/AkamaiOPEN-edgegrid-golang v1.2.2 // indirect - github.com/aliyun/alibaba-cloud-sdk-go v1.63.32 // indirect + github.com/aliyun/alibaba-cloud-sdk-go v1.63.34 // indirect github.com/aws/aws-sdk-go-v2 v1.32.2 // indirect github.com/aws/aws-sdk-go-v2/config v1.28.0 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.17.41 // indirect @@ -221,8 +221,8 @@ require ( github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/viper v1.19.0 // indirect github.com/subosito/gotenv v1.6.0 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1026 // indirect - github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1026 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1028 // indirect + github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1028 // indirect github.com/tjfoc/gmsm v1.4.1 // indirect github.com/tklauser/go-sysconf v0.3.14 // indirect github.com/tklauser/numcpus v0.9.0 // indirect @@ -233,8 +233,8 @@ require ( github.com/vinyldns/go-vinyldns v0.9.16 // indirect github.com/vultr/govultr/v3 v3.10.0 // indirect github.com/x448/float16 v0.8.4 // indirect - github.com/yandex-cloud/go-genproto v0.0.0-20241018072940-69706eaae3be // indirect - github.com/yandex-cloud/go-sdk v0.0.0-20241018073342-0142f4806660 // indirect + github.com/yandex-cloud/go-genproto v0.0.0-20241021132621-28bb61d00c2f // indirect + github.com/yandex-cloud/go-sdk v0.0.0-20241021153520-213d4c625eca // indirect github.com/yusufpapurcu/wmi v1.2.4 // indirect go.mongodb.org/mongo-driver v1.17.1 // indirect go.opencensus.io v0.24.0 // indirect @@ -256,9 +256,9 @@ require ( golang.org/x/time v0.7.0 // indirect golang.org/x/tools v0.26.0 // indirect google.golang.org/api v0.201.0 // indirect - google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20241015192408-796eee8c2d53 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 // indirect + google.golang.org/genproto v0.0.0-20241021214115-324edc3d5d38 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38 // indirect google.golang.org/grpc v1.67.1 // indirect google.golang.org/protobuf v1.35.1 // indirect gopkg.in/fsnotify.v1 v1.4.7 // indirect diff --git a/go.sum b/go.sum index 9a17ffe0..9c642ea8 100644 --- a/go.sum +++ b/go.sum @@ -39,6 +39,7 @@ cloud.google.com/go v0.104.0/go.mod h1:OO6xxXdJyvuJPcEPBLN9BJPD+jep5G1+2U5B5gkRY cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= cloud.google.com/go v0.107.0/go.mod h1:wpc2eNrD7hXUTy8EKS10jkxpZBjASrORK7goS+3YX2I= cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go v0.116.0 h1:B3fRrSDkLRt5qSHWe40ERJvhvnQwdZiHu0bJOpldweE= cloud.google.com/go/accessapproval v1.4.0/go.mod h1:zybIuC3KpDOvotz59lFe5qxRZx6C75OtwbisN56xYB4= cloud.google.com/go/accessapproval v1.5.0/go.mod h1:HFy3tuiGvMdcd/u+Cu5b9NkO1pEICJ46IR82PoUdplw= cloud.google.com/go/accessapproval v1.6.0/go.mod h1:R0EiYnwV5fsRFiKZkPHr6mwyk2wxUJ30nL4j2pcFY2E= @@ -178,6 +179,7 @@ cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvj cloud.google.com/go/compute v1.15.1/go.mod h1:bjjoF/NtFUrkD/urWfdHaKuOPDR5nWIs63rR+SXhcpA= cloud.google.com/go/compute v1.18.0/go.mod h1:1X7yHxec2Ga+Ss6jPyjxRxpu2uu7PLgsOVXvgU0yacs= cloud.google.com/go/compute v1.19.0/go.mod h1:rikpw2y+UMidAe9tISo04EHNOIf42RLYF/q8Bs93scU= +cloud.google.com/go/compute v1.28.1 h1:XwPcZjgMCnU2tkwY10VleUjSAfpTj9RDn+kGrbYsi8o= cloud.google.com/go/compute/metadata v0.1.0/go.mod h1:Z1VN+bulIf6bt4P/C37K4DyZYZEXYonfTBHHFPO/4UU= cloud.google.com/go/compute/metadata v0.2.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/compute/metadata v0.2.1/go.mod h1:jgHgmJd2RKBGzXqF5LR2EZMGxBkeanZ9wwa75XHJgOM= @@ -685,6 +687,8 @@ github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRF github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= github.com/aliyun/alibaba-cloud-sdk-go v1.63.32 h1:aBtZr6N7HXVpJCMybTSBuinHauehf/R0LNMB03TkrE0= github.com/aliyun/alibaba-cloud-sdk-go v1.63.32/go.mod h1:SOSDHfe1kX91v3W5QiBsWSLqeLxImobbMX1mxrFHsVQ= +github.com/aliyun/alibaba-cloud-sdk-go v1.63.34 h1:eZM2MHY/p4TFO1pGf9O5HiuYE59hwrrkf3HvCtkL5Ok= +github.com/aliyun/alibaba-cloud-sdk-go v1.63.34/go.mod h1:SOSDHfe1kX91v3W5QiBsWSLqeLxImobbMX1mxrFHsVQ= github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/apache/arrow/go/v10 v10.0.1/go.mod h1:YvhnlEePVnBS4+0z3fhPfUy7W1Ikj0Ih0vcRo/gZ1M0= @@ -760,6 +764,7 @@ github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyY github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -852,6 +857,8 @@ github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fatih/color v1.17.0 h1:GlRw1BRJxkpqUCBKzKOw098ed57fEsKeNjpTe3cSjK4= github.com/fatih/color v1.17.0/go.mod h1:YZ7TlrGPkiz6ku9fK3TLD/pl3CpsiFyu8N92HLgmosI= +github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= +github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/fatih/structs v1.1.0 h1:Q7juDM0QtcnhCpeyLGQKyg4TOIghuNXrkL32pHAUMxo= github.com/fatih/structs v1.1.0/go.mod h1:9NiDSp5zOcgEDl+j00MP/WkGVPOlPRLejGD8Ga6PJ7M= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= @@ -1554,6 +1561,8 @@ github.com/samber/lo v1.47.0 h1:z7RynLwP5nbyRscyvcD043DWYoOcYRv3mV8lBeqOCLc= github.com/samber/lo v1.47.0/go.mod h1:RmDH9Ct32Qy3gduHQuKJ3gW1fMHAnE/fAzQuf6He5cU= github.com/sashabaranov/go-openai v1.32.2 h1:8z9PfYaLPbRzmJIYpwcWu6z3XU8F+RwVMF1QRSeSF2M= github.com/sashabaranov/go-openai v1.32.2/go.mod h1:lj5b/K+zjTSFxVLijLSTDZuP7adOgerWeFyZLUhAKRg= +github.com/sashabaranov/go-openai v1.32.3 h1:6xZ393PbZFoJrgwveBXVZggmyH7zdp4joUdnCy7FFD8= +github.com/sashabaranov/go-openai v1.32.3/go.mod h1:lj5b/K+zjTSFxVLijLSTDZuP7adOgerWeFyZLUhAKRg= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.30 h1:yoKAVkEVwAqbGbR8n87rHQ1dulL25rKloGadb3vm770= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.30/go.mod h1:sH0u6fq6x4R5M7WxkoQFY/o7UaiItec0o1LinLCJNq8= @@ -1653,8 +1662,12 @@ github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8 github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1026 h1:6iBtl1CunsfWcT6IyCuRdgefJ/Zmsp5MTDujnolyuQs= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1026/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1028 h1:3rMKraYsxf5bQ4KglyzQ91vXZUXpUhn2Cdz9HkL125o= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common v1.0.1028/go.mod h1:r5r4xbfxSaeR04b166HGsBa/R4U3SueirEUpXGuw+Q0= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1026 h1:W6wPKS41uNKs7RBcJP5iB0HrcglXNSFUmnQaBEorVpg= github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1026/go.mod h1:aqLJU0aRU1k7l+TPyYCao+KQHrFEF6lNQqK04FIiLJw= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1028 h1:brTlgS0nWHFzw8aI67OEqEwpXhyeT781FDXV3bIEj/w= +github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/dnspod v1.0.1028/go.mod h1:7dV6qKKfZ+x2iNcq4Drb5Pb1P/gNHg12R4xPy6+bo0M= github.com/tjfoc/gmsm v1.4.1 h1:aMe1GlZb+0bLjn+cKTPEvvn9oUEBlJitaZiiBwsbgho= github.com/tjfoc/gmsm v1.4.1/go.mod h1:j4INPkHWMrhJb38G+J6W4Tw0AbuN8Thu3PbdVYhVcTE= github.com/tklauser/go-sysconf v0.3.14 h1:g5vzr9iPFFz24v2KZXs/pvpvh8/V9Fw6vQK5ZZb78yU= @@ -1700,8 +1713,12 @@ github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQ github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/yandex-cloud/go-genproto v0.0.0-20241018072940-69706eaae3be h1:jGNL9PedKrHWl1WCRdlBEFo7nDl589LKvkulZRf7ZTA= github.com/yandex-cloud/go-genproto v0.0.0-20241018072940-69706eaae3be/go.mod h1:0LDD/IZLIUIV4iPH+YcF+jysO3jkSvADFGm4dCAuwQo= +github.com/yandex-cloud/go-genproto v0.0.0-20241021132621-28bb61d00c2f h1:u7ETK40lM4ygnDzYtGFLk36fWARftvU+I0zwTYrOVwE= +github.com/yandex-cloud/go-genproto v0.0.0-20241021132621-28bb61d00c2f/go.mod h1:0LDD/IZLIUIV4iPH+YcF+jysO3jkSvADFGm4dCAuwQo= github.com/yandex-cloud/go-sdk v0.0.0-20241018073342-0142f4806660 h1:/XDcP3XiGxwW6GGYzjHtQ82ZEEdpCuDQlmmsmx6Zyuc= github.com/yandex-cloud/go-sdk v0.0.0-20241018073342-0142f4806660/go.mod h1:7Ru6CfLQ1pfa5WcWdzdr8UY7xRsvVTykxBh5dzjx+Ic= +github.com/yandex-cloud/go-sdk v0.0.0-20241021153520-213d4c625eca h1:m3Hne9w8jnfiPPDw9KqSLtRa7Et+gzCIub2ky5uUGGM= +github.com/yandex-cloud/go-sdk v0.0.0-20241021153520-213d4c625eca/go.mod h1:id1/mPjMDlqamdsay74AJLVVLGCRTnjMIKuXpNzVN08= github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= @@ -2457,10 +2474,16 @@ google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOl google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53 h1:Df6WuGvthPzc+JiQ/G+m+sNX24kc0aTBqoDN/0yyykE= google.golang.org/genproto v0.0.0-20241015192408-796eee8c2d53/go.mod h1:fheguH3Am2dGp1LfXkrvwqC/KlFq8F0nLq3LryOMrrE= +google.golang.org/genproto v0.0.0-20241021214115-324edc3d5d38 h1:Q3nlH8iSQSRUwOskjbcSMcF2jiYMNiQYZ0c2KEJLKKU= +google.golang.org/genproto v0.0.0-20241021214115-324edc3d5d38/go.mod h1:xBI+tzfqGGN2JBeSebfKXFSdBpWVQ7sLW40PTupVRm4= google.golang.org/genproto/googleapis/api v0.0.0-20241015192408-796eee8c2d53 h1:fVoAXEKA4+yufmbdVYv+SE73+cPZbbbe8paLsHfkK+U= google.golang.org/genproto/googleapis/api v0.0.0-20241015192408-796eee8c2d53/go.mod h1:riSXTwQ4+nqmPGtobMFyW5FqVAmIs0St6VPp4Ug7CE4= +google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38 h1:2oV8dfuIkM1Ti7DwXc0BJfnwr9csz4TDXI9EmiI+Rbw= +google.golang.org/genproto/googleapis/api v0.0.0-20241021214115-324edc3d5d38/go.mod h1:vuAjtvlwkDKF6L1GQ0SokiRLCGFfeBUXWr/aFFkHACc= google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53 h1:X58yt85/IXCx0Y3ZwN6sEIKZzQtDEYaBWrDvErdXrRE= google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38 h1:zciRKQ4kBpFgpfC5QQCVtnnNAcLIqweL7plyZRQHVpI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= diff --git a/install.sh b/install.sh index 715a5738..7a9e72a3 100644 --- a/install.sh +++ b/install.sh @@ -290,12 +290,15 @@ install_config() { if [[ ! -f "$DataPath/app.ini" ]]; then cat > "$DataPath/app.ini" << EOF [server] -HOST = 127.0.0.1 +HOST = 0.0.0.0 PORT = 9000 RunMode = release [cert] -HTTPChallengePort = 9180 +HTTPChallengePort = 9180 + +[terminal] +StartCmd = login EOF echo "info: The default configuration file was installed to '$DataPath/app.ini' successfully!" fi diff --git a/internal/kernal/boot.go b/internal/kernal/boot.go index a2256a82..8cb59659 100644 --- a/internal/kernal/boot.go +++ b/internal/kernal/boot.go @@ -80,7 +80,7 @@ func InitDatabase() { } if "" != cSettings.AppSettings.JwtSecret { - db := cosy.InitDB(sqlite.Open(path.Dir(cSettings.ConfPath), cSettings.DataBaseSettings)) + db := cosy.InitDB(sqlite.Open(path.Dir(cSettings.ConfPath), settings.DatabaseSettings)) model.Use(db) query.Init(db) diff --git a/model/model.go b/model/model.go index bf5392e6..6c76186e 100644 --- a/model/model.go +++ b/model/model.go @@ -55,14 +55,6 @@ type DataList struct { Pagination Pagination `json:"pagination,omitempty"` } -func TotalPage(total int64, pageSize int) int64 { - n := total / int64(pageSize) - if total%int64(pageSize) > 0 { - n++ - } - return n -} - type Method interface { // FirstByID Where("id=@id") FirstByID(id int) (*gen.T, error) diff --git a/settings/database.go b/settings/database.go new file mode 100644 index 00000000..7e35f1c8 --- /dev/null +++ b/settings/database.go @@ -0,0 +1,11 @@ +package settings + +type Database struct { + Name string +} + +var DatabaseSettings = &Database{} + +func (d *Database) GetName() string { + return d.Name +} diff --git a/settings/server_v1.go b/settings/server_v1.go index 3f1118b7..7f54d066 100644 --- a/settings/server_v1.go +++ b/settings/server_v1.go @@ -37,7 +37,7 @@ type settingsV2 struct { // Cosy App settings.App Server settings.Server - DataBase settings.DataBase + DataBase Database // Nginx UI Auth Auth Casdoor Casdoor @@ -121,7 +121,7 @@ func Migrate(confPath string) { // Cosy app := &settings.App{} server := &settings.Server{} - database := &settings.DataBase{} + database := &Database{} // Nginx UI auth := &Auth{} casdoor := &Casdoor{} diff --git a/settings/settings.go b/settings/settings.go index 099a9b18..e763ecdc 100644 --- a/settings/settings.go +++ b/settings/settings.go @@ -23,8 +23,8 @@ var envPrefixMap = map[string]interface{}{ // Cosy "APP": settings.AppSettings, "SERVER": settings.ServerSettings, - "DB": settings.DataBaseSettings, // Nginx UI + "DB": DatabaseSettings, "AUTH": AuthSettings, "CASDOOR": CasdoorSettings, "CERT": CertSettings,