gerbera(1)

πŸ’– gerbera(1) β€” bestie edition πŸ’–

okay so. you found the man page for gerbera, aka the UPnP MediaServer, and honestly? you're in the right place. this is the whole tour, no skips, no "we'll get to that later" energy. let's go 🫢


✨ NAME ✨

gerbera β€” UPnP MediaServer. that's the whole vibe. it serves your media over UPnP and it does it iconically. πŸ’…


🌈 SYNOPSIS 🌈

gerbera [ -h|--help ] [ -D|--debug ] [ -v|--version ] [ --compile-info ]
        [ --create-config=Sections ] [ --create-example-config=Sections ]
        [ --create-advanced-config=Sections ] [ --check-config ]
        [ --print-options ] [ --offline ] [ --drop-tables ] [ --init-lastfm ]
        [ -d|-daemon ] [ -u|--user username ] [ -P|--pidfile pid file ]
        [ -c|--config config file ] [ -f|--cfgdir config dir ]
        [ -l|--logfile logfile ] [ --rotatelog logfile ] [ --syslog LOG ]
        [ --add-file file ] [ --set-option opt=val ] [ -p|--port port ]
        [ -i|--ip IP address ] [ -e|--interface interface ]
        [ -m|--home home dir ] [ --magic magic ] [ --import-mode mt|grb ]
        [ --database sqlite|mysql|postgres ] [ -l|--debug-mode facilities ]

like. look at that. a whole buffet of flags. take what you need, bestie πŸ“


πŸ¦‹ DESCRIPTION πŸ¦‹

This manual page describes the command line parameters for Gerbera. no cap, that's literally its job.

For a detailed documentation please see the README file which is distributed with Gerbera, or visit https://gerbera.io. the README is giving ✨deep lore✨, this page is giving ✨quick hits✨.


πŸ‘‘ OPTIONS πŸ‘‘

one bullet per flag, no gatekeeping, we're going in order. periodt.

  • -i, --ip β€” the server will bind to the given IP address. currently we can not bind to multiple interfaces, so binding to 0.0.0.0 will not be possible. it's giving "one at a time, babe" 😭
  • -e, --interface β€” the server will bind to the given network interface. currently we can only bind to one interface at a time. yes, one. singular. πŸ’€
  • -p, --port β€” specify the server port that will be used for the web user interface, for serving media and for UPnP requests. minimum allowed value is 49152. if this option is omitted a default port will be chosen, however, in this case it is possible that the port will change upon server restart. so like… it might just move on you. πŸ™ˆ
  • -u, --user β€” drop privs to user on startup. make sure all mediafiles are readable by this user. also make sure that home directory is writable for this user. genuinely important, don't skip the permissions check, bestie.
  • -c, --config β€” by default Gerbera will search for a file named config.xml in the ~/.config/gerbera directory. this option allows you to specify a config file by the name and location of your choice. the file name must be absolute. absolute. no relative paths, iykyk.
  • -m, --home β€” specify an alternative home directory. by default Gerbera will try to retrieve the users home directory from the environment (HOME), then it will look for the .config/gerbera directory in users home. if .config/gerbera was found we will try to find the default configuration file (config.xml). This option is useful in two cases: when the home directory cannot be retrieved from the environment (in this case you could also use -c to point Gerbera to your configuration file) or when you want to test a new configuration in a non standard location (for example, when setting up daemon mode). in the latter case you can combine this parameter with the parameter described in "Config Directory". two-for-one situation, obsessed.
  • -s, --database β€” override the storage selection from config.xml. the option sets the respective database to enabled and disables the remaining databases. the configuration section of the selected database must be complete and gerbera must be compiled with support for the database. compile support is not optional, fr fr.
  • -f, --cfgdir β€” the default configuration directory is combined by the users home and the default that equals to .config/gerbera. this option allows you to override the default directory naming. this is useful when you want to set up the server in a nonstandard location. πŸ’…
  • --scripts β€” the directory for custom javascript files can be either set in config.xml or with this command line option. ✨
  • -f, --magic β€” the magic file is set/overwritten. by default it is read from environment variables GERBERA_MAGIC_FILE or MEDIATOMB_MAGIC_FILE. πŸͺ„
  • --add-file β€” add the specified file name to the database without UI interaction. the path must be absolute, if path is a directory then it will be added recursively. if path is a file, then only the given file will be imported. recursive mode goes brrr.
  • --print-options β€” print all option numbers available for use with --set-option. your little cheat sheet, bestie πŸ“
  • --set-option β€” set the specified option number to its proper value like in config.xml. this overwrites values from config.xml. see --print-options for valid options. multiple options can either be specified sperated by commas or with another use of --set-option. overwrites! it will not ask twice!
  • -l, --logfile β€” do not output log messages to stdout, but redirect everything to a specified file. πŸ“„
  • -l, --rotatelog β€” do not output log messages to stdout, but redirect everything to a specified rotating file. it will rotate 10 files at 5MB. very main character energy, very organized 🌸
  • -l, --syslog β€” do not output log messages to stdout, but redirect everything to syslog. the optional argument contains the syslog facility. if no argument is given LOG_USER is used. default behavior, iconic.
  • -D, --debug β€” enable debug log output. πŸ›πŸ”
  • -d, --daemon β€” daemonize after startup. bye bestie, you're on your own now πŸ‘‹
  • --compile-info β€” print the compilation configuration (defaults for used libraries and enabled features) and exit. receipts, printed. 🧾
  • --create-config=Section β€” πŸ’–
  • --create-example-config=Section β€” πŸ’–
  • --create-advanced-config=Section β€” output the default/example/advanced example configuration to stdout and exit. copy the output to your config.xml and adjust to your needs. you can provide the names of sections separated by | to get the section only. pick your section, slay 🌈
  • --modules=Module β€” activate generation of from-file attributes in Module. you can provide the names of modules separated by | to load multiple sections as modules. 🧩
  • --check-config β€” check the current configuration before running the service and exit. helpful in conjunction with --debug. vibe check but for your config ⭐
  • --offline β€” do not answer UPnP requests like browse. this is helpful when running a large scan to initialize the database so no client can slow down the import by accessing the database. do not disturb mode, basically. 🚫
  • --drop-tables β€” drop all database tables and exit. this one is a menace. it drops. everything. tables. gone. πŸ’€ handle with care, bestie.
  • --init-lastfm β€” get Last.FM session key based on apiKey and apiSecret in config. requires Gerbera to be build with support for Last.FM API 2.0. 🎡
  • --version β€” print version information and exit. 🏷️
  • -h, --help β€” print a summary about the available command line options. when in doubt, ask for help. always valid, no shame 🫢

quick reminder that the SYNOPSIS up top also lists -P|--pidfile pid file, --import-mode mt|grb, and -l|--debug-mode facilities, so if you saw those and went "wait, where's the bullet" β€” they're right up there in the synopsis, exactly as written. no details dropped, promise πŸ’–

and that's the whole page, bestie! this was gerbera(1) from the gerbera source, dated 2025-10-17 β€” go forth and serve some media, you absolute icon πŸ‘‘βœ¨πŸ¦‹

πŸ“¦ where this page comes from