Config: Improve CLI flag command help #3132

Signed-off-by: Michael Mayer <michael@photoprism.app>
This commit is contained in:
Michael Mayer 2023-01-20 00:37:51 +01:00
parent 4ccadb91d1
commit c49c5e3b8b
4 changed files with 34 additions and 36 deletions

View file

@ -54,8 +54,8 @@ func showFlagsAction(ctx *cli.Context) error {
{Start: "PHOTOPRISM_READONLY", Title: "Feature Flags"},
{Start: "PHOTOPRISM_DEFAULT_LOCALE", Title: "Customization"},
{Start: "PHOTOPRISM_CDN_URL", Title: "Site Information"},
{Start: "PHOTOPRISM_HTTPS_PROXY", Title: "HTTPS Proxy"},
{Start: "PHOTOPRISM_TRUSTED_PROXY", Title: "Web Server"},
{Start: "PHOTOPRISM_HTTPS_PROXY", Title: "Proxy Servers"},
{Start: "PHOTOPRISM_DISABLE_TLS", Title: "Web Server"},
{Start: "PHOTOPRISM_DATABASE_DRIVER", Title: "Database Connection"},
{Start: "PHOTOPRISM_DARKTABLE_BIN", Title: "File Converters"},
{Start: "PHOTOPRISM_DOWNLOAD_TOKEN", Title: "Security Tokens"},

View file

@ -409,12 +409,12 @@ var Flags = CliFlags{
}, Tags: []string{EnvSponsor}}, {
Flag: cli.StringFlag{
Name: "https-proxy",
Usage: "trusted HTTPS proxy to use for outgoing connections",
Usage: "proxy server `URL` to be used for outgoing connections*optional*",
EnvVar: "PHOTOPRISM_HTTPS_PROXY",
}}, {
Flag: cli.BoolFlag{
Name: "https-proxy-insecure",
Usage: "ignore invalid certificates when using an HTTPS proxy",
Usage: "ignore invalid HTTPS certificates when using a proxy",
EnvVar: "PHOTOPRISM_HTTPS_PROXY_INSECURE",
}}, {
Flag: cli.StringSliceFlag{
@ -435,27 +435,6 @@ var Flags = CliFlags{
Value: &cli.StringSlice{header.ProtoHttps},
EnvVar: "PHOTOPRISM_PROXY_PROTO_HTTPS",
}}, {
Flag: cli.StringFlag{
Name: "http-mode, mode",
Usage: "Web server `MODE` (debug, release, test)",
EnvVar: "PHOTOPRISM_HTTP_MODE",
}}, {
Flag: cli.StringFlag{
Name: "http-compression, z",
Usage: "Web server compression `METHOD` (gzip, none)",
EnvVar: "PHOTOPRISM_HTTP_COMPRESSION",
}}, {
Flag: cli.StringFlag{
Name: "http-host, ip",
Usage: "Web server `IP` address",
EnvVar: "PHOTOPRISM_HTTP_HOST",
}}, {
Flag: cli.IntFlag{
Name: "http-port, port",
Value: 2342,
Usage: "Web server port `NUMBER`",
EnvVar: "PHOTOPRISM_HTTP_PORT",
}}, {
Flag: cli.BoolFlag{
Name: "disable-tls",
Usage: "disable HTTPS even if a certificate is available",
@ -477,6 +456,27 @@ var Flags = CliFlags{
Usage: "private HTTPS key `FILE` (.key)",
EnvVar: "PHOTOPRISM_TLS_KEY",
}}, {
Flag: cli.StringFlag{
Name: "http-mode, mode",
Usage: "Web server `MODE` (debug, release, test)",
EnvVar: "PHOTOPRISM_HTTP_MODE",
}}, {
Flag: cli.StringFlag{
Name: "http-compression, z",
Usage: "Web server compression `METHOD` (gzip, none)",
EnvVar: "PHOTOPRISM_HTTP_COMPRESSION",
}}, {
Flag: cli.StringFlag{
Name: "http-host, ip",
Usage: "Web server `IP` address",
EnvVar: "PHOTOPRISM_HTTP_HOST",
}}, {
Flag: cli.IntFlag{
Name: "http-port, port",
Value: 2342,
Usage: "Web server port `NUMBER`",
EnvVar: "PHOTOPRISM_HTTP_PORT",
}}, {
Flag: cli.StringFlag{
Name: "database-driver, db",
Usage: "database `DRIVER` (sqlite, mysql)",

View file

@ -99,14 +99,14 @@ type Options struct {
TrustedProxies []string `yaml:"TrustedProxies" json:"-" flag:"trusted-proxy"`
ProxyProtoHeaders []string `yaml:"ProxyProtoHeaders" json:"-" flag:"proxy-proto-header"`
ProxyProtoHttps []string `yaml:"ProxyProtoHttps" json:"-" flag:"proxy-proto-https"`
HttpMode string `yaml:"HttpMode" json:"-" flag:"http-mode"`
HttpCompression string `yaml:"HttpCompression" json:"-" flag:"http-compression"`
HttpHost string `yaml:"HttpHost" json:"-" flag:"http-host"`
HttpPort int `yaml:"HttpPort" json:"-" flag:"http-port"`
DisableTLS bool `yaml:"DisableTLS" json:"DisableTLS" flag:"disable-tls"`
TLSEmail string `yaml:"TLSEmail" json:"TLSEmail" flag:"tls-email"`
TLSCert string `yaml:"TLSCert" json:"TLSCert" flag:"tls-cert"`
TLSKey string `yaml:"TLSKey" json:"TLSKey" flag:"tls-key"`
HttpMode string `yaml:"HttpMode" json:"-" flag:"http-mode"`
HttpCompression string `yaml:"HttpCompression" json:"-" flag:"http-compression"`
HttpHost string `yaml:"HttpHost" json:"-" flag:"http-host"`
HttpPort int `yaml:"HttpPort" json:"-" flag:"http-port"`
DatabaseDriver string `yaml:"DatabaseDriver" json:"-" flag:"database-driver"`
DatabaseDsn string `yaml:"DatabaseDsn" json:"-" flag:"database-dsn"`
DatabaseName string `yaml:"DatabaseName" json:"-" flag:"database-name"`

View file

@ -128,24 +128,22 @@ func (c *Config) Report() (rows [][]string, cols []string) {
{"api-uri", c.ApiUri()},
{"base-uri", c.BaseUri("/")},
// HTTPS Proxy.
// Proxy Servers.
{"https-proxy", c.HttpsProxy()},
{"https-proxy-insecure", fmt.Sprintf("%t", c.HttpsProxyInsecure())},
// HTTP(S) Proxy.
{"trusted-proxy", c.TrustedProxy()},
{"proxy-proto-header", strings.Join(c.ProxyProtoHeader(), ", ")},
{"proxy-proto-https", strings.Join(c.ProxyProtoHttps(), ", ")},
// Web Server.
{"http-mode", c.HttpMode()},
{"http-compression", c.HttpCompression()},
{"http-host", c.HttpHost()},
{"http-port", fmt.Sprintf("%d", c.HttpPort())},
{"disable-tls", fmt.Sprintf("%t", c.DisableTLS())},
{"tls-email", c.TLSEmail()},
{"tls-cert", c.TLSCert()},
{"tls-key", c.TLSKey()},
{"http-mode", c.HttpMode()},
{"http-compression", c.HttpCompression()},
{"http-host", c.HttpHost()},
{"http-port", fmt.Sprintf("%d", c.HttpPort())},
// Database.
{"database-driver", c.DatabaseDriver()},