photoprism/internal/config/flags.go
Michael Mayer 7940786ce9 UX: Refactor config options to be more intuitive
Make sure to update your local config files when upgrading as
the name of some config values has changed. The default
config path has changed from "settings" to "config".
2020-12-18 09:11:42 +01:00

332 lines
8.7 KiB
Go

package config
import (
"github.com/urfave/cli"
)
// PhotoPrism command-line parameters and flags.
var GlobalFlags = []cli.Flag{
cli.BoolFlag{
Name: "debug",
Usage: "run in debug mode (shows additional log messages)",
EnvVar: "PHOTOPRISM_DEBUG",
},
cli.BoolFlag{
Name: "public, p",
Usage: "no authentication required (disables password protection)",
EnvVar: "PHOTOPRISM_PUBLIC",
},
cli.BoolFlag{
Name: "read-only, r",
Usage: "don't modify originals directory (import and upload disabled)",
EnvVar: "PHOTOPRISM_READONLY",
},
cli.BoolFlag{
Name: "experimental, e",
Usage: "enable experimental features",
EnvVar: "PHOTOPRISM_EXPERIMENTAL",
},
cli.StringFlag{
Name: "config-path",
Usage: "config `PATH`",
EnvVar: "PHOTOPRISM_CONFIG_PATH",
},
cli.StringFlag{
Name: "config-file, c",
Usage: "main config `FILENAME`",
EnvVar: "PHOTOPRISM_CONFIG_FILE",
},
cli.StringFlag{
Name: "originals-path",
Usage: "originals `PATH` for your photo and video collection",
EnvVar: "PHOTOPRISM_ORIGINALS_PATH",
},
cli.IntFlag{
Name: "originals-limit",
Value: 1000,
Usage: "file size limit for originals in `MEGABYTE`",
EnvVar: "PHOTOPRISM_ORIGINALS_LIMIT",
},
cli.StringFlag{
Name: "import-path",
Usage: "optional `PATH` for importing files to originals",
EnvVar: "PHOTOPRISM_IMPORT_PATH",
},
cli.StringFlag{
Name: "storage-path",
Usage: "storage `PATH` for cache, database and sidecar files",
EnvVar: "PHOTOPRISM_STORAGE_PATH",
},
cli.StringFlag{
Name: "sidecar-path",
Usage: "relative or absolute storage `PATH` for sidecar files",
EnvVar: "PHOTOPRISM_SIDECAR_PATH",
},
cli.StringFlag{
Name: "cache-path",
Usage: "cache storage `PATH` for sessions and thumbnails",
EnvVar: "PHOTOPRISM_CACHE_PATH",
},
cli.StringFlag{
Name: "temp-path",
Usage: "temporary `PATH` for uploads and downloads",
EnvVar: "PHOTOPRISM_TEMP_PATH",
},
cli.StringFlag{
Name: "backup-path",
Usage: "backup storage `PATH`",
EnvVar: "PHOTOPRISM_BACKUP_PATH",
},
cli.StringFlag{
Name: "assets-path",
Usage: "assets `PATH` for static resources like models and templates",
EnvVar: "PHOTOPRISM_ASSETS_PATH",
},
cli.IntFlag{
Name: "workers, w",
Usage: "`LIMIT` the number of indexing workers to reduce system load",
EnvVar: "PHOTOPRISM_WORKERS",
},
cli.IntFlag{
Name: "wakeup-interval",
Usage: "background worker wakeup interval in `SECONDS`",
EnvVar: "PHOTOPRISM_WAKEUP_INTERVAL",
},
cli.BoolFlag{
Name: "disable-backups",
Usage: "don't backup photo and album metadata to YAML files",
EnvVar: "PHOTOPRISM_DISABLE_BACKUPS",
},
cli.BoolFlag{
Name: "disable-settings",
Usage: "users can not view or change settings",
EnvVar: "PHOTOPRISM_DISABLE_SETTINGS",
},
cli.BoolFlag{
Name: "disable-places",
Usage: "disables reverse geocoding and maps",
EnvVar: "PHOTOPRISM_DISABLE_PLACES",
},
cli.BoolFlag{
Name: "disable-exiftool",
Usage: "don't create ExifTool JSON files for improved metadata extraction",
EnvVar: "PHOTOPRISM_DISABLE_EXIFTOOL",
},
cli.BoolFlag{
Name: "disable-tensorflow",
Usage: "don't use TensorFlow for image classification",
EnvVar: "PHOTOPRISM_DISABLE_TENSORFLOW",
},
cli.BoolFlag{
Name: "detect-nsfw",
Usage: "flag photos as private that may be offensive (requires TensorFlow)",
EnvVar: "PHOTOPRISM_DETECT_NSFW",
},
cli.BoolFlag{
Name: "upload-nsfw",
Usage: "allow uploads that may be offensive",
EnvVar: "PHOTOPRISM_UPLOAD_NSFW",
},
cli.StringFlag{
Name: "log-level, l",
Usage: "trace, debug, info, warning, error, fatal or panic",
Value: "info",
EnvVar: "PHOTOPRISM_LOG_LEVEL",
},
cli.StringFlag{
Name: "log-filename",
Usage: "server log `FILENAME`",
EnvVar: "PHOTOPRISM_LOG_FILENAME",
Value: "",
},
cli.StringFlag{
Name: "pid-filename",
Usage: "server process id `FILENAME`",
EnvVar: "PHOTOPRISM_PID_FILENAME",
},
cli.StringFlag{
Name: "site-url",
Usage: "public site `URL`",
Value: "http://localhost:2342/",
EnvVar: "PHOTOPRISM_SITE_URL",
},
cli.StringFlag{
Name: "site-preview",
Usage: "public preview image `URL`",
EnvVar: "PHOTOPRISM_SITE_PREVIEW",
},
cli.StringFlag{
Name: "site-title",
Usage: "site title",
Value: "PhotoPrism",
EnvVar: "PHOTOPRISM_SITE_TITLE",
},
cli.StringFlag{
Name: "site-caption",
Usage: "short site caption",
Value: "Browse Your Life",
EnvVar: "PHOTOPRISM_SITE_CAPTION",
},
cli.StringFlag{
Name: "site-description",
Usage: "long site description",
EnvVar: "PHOTOPRISM_SITE_DESCRIPTION",
},
cli.StringFlag{
Name: "site-author",
Usage: "site artist or copyright",
EnvVar: "PHOTOPRISM_SITE_AUTHOR",
},
cli.IntFlag{
Name: "http-port",
Value: 2342,
Usage: "http server port `NUMBER``",
EnvVar: "PHOTOPRISM_HTTP_PORT",
},
cli.StringFlag{
Name: "http-host",
Usage: "http server `IP` address",
EnvVar: "PHOTOPRISM_HTTP_HOST",
},
cli.StringFlag{
Name: "http-mode, m",
Usage: "debug, release or test",
EnvVar: "PHOTOPRISM_HTTP_MODE",
},
cli.StringFlag{
Name: "admin-password",
Usage: "initial admin `PASSWORD`",
EnvVar: "PHOTOPRISM_ADMIN_PASSWORD",
},
cli.StringFlag{
Name: "database-driver",
Usage: "database driver `NAME` (sqlite or mysql)",
Value: "sqlite",
EnvVar: "PHOTOPRISM_DATABASE_DRIVER",
},
cli.StringFlag{
Name: "database-dsn",
Usage: "sqlite file name, `DSN` is optional for mysql",
EnvVar: "PHOTOPRISM_DATABASE_DSN",
},
cli.StringFlag{
Name: "database-server",
Usage: "database server `HOST`, port is optional",
EnvVar: "PHOTOPRISM_DATABASE_SERVER",
},
cli.StringFlag{
Name: "database-name",
Value: "photoprism",
Usage: "database `NAME`",
EnvVar: "PHOTOPRISM_DATABASE_NAME",
},
cli.StringFlag{
Name: "database-user",
Value: "photoprism",
Usage: "database user `NAME`",
EnvVar: "PHOTOPRISM_DATABASE_USER",
},
cli.StringFlag{
Name: "database-password",
Usage: "database user `PASSWORD``",
EnvVar: "PHOTOPRISM_DATABASE_PASSWORD",
},
cli.IntFlag{
Name: "database-conns",
Usage: "`LIMIT` the number of open database connections",
EnvVar: "PHOTOPRISM_DATABASE_CONNS",
},
cli.IntFlag{
Name: "database-conns-idle",
Usage: "`LIMIT` the number of idle database connections",
EnvVar: "PHOTOPRISM_DATABASE_CONNS_IDLE",
},
cli.StringFlag{
Name: "rawtherapee-bin",
Usage: "RawTherapee CLI `COMMAND` for raw image conversion",
Value: "rawtherapee-cli",
EnvVar: "PHOTOPRISM_RAWTHERAPEE_BIN",
},
cli.StringFlag{
Name: "darktable-bin",
Usage: "Darktable CLI `COMMAND` for raw image conversion",
Value: "darktable-cli",
EnvVar: "PHOTOPRISM_DARKTABLE_BIN",
},
cli.BoolFlag{
Name: "darktable-presets",
Usage: "use Darktable presets (disables concurrent raw image conversion)",
EnvVar: "PHOTOPRISM_DARKTABLE_PRESETS",
},
cli.StringFlag{
Name: "sips-bin",
Usage: "Scriptable Image Processing System `COMMAND`",
Value: "sips",
EnvVar: "PHOTOPRISM_SIPS_BIN",
},
cli.StringFlag{
Name: "heifconvert-bin",
Usage: "HEIC/HEIF image convert `COMMAND`",
Value: "heif-convert",
EnvVar: "PHOTOPRISM_HEIFCONVERT_BIN",
},
cli.StringFlag{
Name: "ffmpeg-bin",
Usage: "FFmpeg `COMMAND` for video transcoding and cover images",
Value: "ffmpeg",
EnvVar: "PHOTOPRISM_FFMPEG_BIN",
},
cli.StringFlag{
Name: "exiftool-bin",
Usage: "ExifTool `COMMAND` for metadata extraction",
Value: "exiftool",
EnvVar: "PHOTOPRISM_EXIFTOOL_BIN",
},
cli.StringFlag{
Name: "download-token",
Usage: "`SECRET` url token for file downloads",
EnvVar: "PHOTOPRISM_DOWNLOAD_TOKEN",
},
cli.StringFlag{
Name: "preview-token",
Usage: "`SECRET` url token for preview images and video streaming",
Value: "public",
EnvVar: "PHOTOPRISM_PREVIEW_TOKEN",
},
cli.StringFlag{
Name: "thumb-filter, f",
Usage: "resample filter `NAME` (best to worst: blackman, lanczos, cubic, linear)",
Value: "lanczos",
EnvVar: "PHOTOPRISM_THUMB_FILTER",
},
cli.BoolFlag{
Name: "thumb-uncached, u",
Usage: "enable on-demand thumbnail rendering (high memory and cpu usage)",
EnvVar: "PHOTOPRISM_THUMB_UNCACHED",
},
cli.IntFlag{
Name: "thumb-size, s",
Usage: "pre-rendered thumbnail size limit in `PIXELS` (720-7680)",
Value: 2048,
EnvVar: "PHOTOPRISM_THUMB_SIZE",
},
cli.IntFlag{
Name: "thumb-size-uncached, x",
Usage: "on-demand rendering size limit in `PIXELS` (720-7680)",
Value: 7680,
EnvVar: "PHOTOPRISM_THUMB_SIZE_UNCACHED",
},
cli.IntFlag{
Name: "jpeg-size",
Usage: "size limit for converted image files in `PIXELS` (720-30000)",
Value: 7680,
EnvVar: "PHOTOPRISM_JPEG_SIZE",
},
cli.IntFlag{
Name: "jpeg-quality, q",
Usage: "choose 95 for high-quality thumbnails (25-100)",
Value: 92,
EnvVar: "PHOTOPRISM_JPEG_QUALITY",
},
}