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 to0.0.0.0will 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 is49152. 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 namedconfig.xmlin the~/.config/gerberadirectory. 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/gerberadirectory in users home. if.config/gerberawas 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-cto 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 fromconfig.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 inconfig.xmlor with this command line option. β¨-f,--magicβ the magic file is set/overwritten. by default it is read from environment variablesGERBERA_MAGIC_FILEorMEDIATOMB_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 inconfig.xml. this overwrites values fromconfig.xml. see--print-optionsfor 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 tostdout, but redirect everything to a specified file. π-l,--rotatelogβ do not output log messages tostdout, but redirect everything to a specified rotating file. it will rotate10files at5MB. very main character energy, very organized πΈ-l,--syslogβ do not output log messages tostdout, but redirect everything to syslog. the optional argument contains the syslog facility. if no argument is givenLOG_USERis 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 tostdoutand exit. copy the output to yourconfig.xmland 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 onapiKeyandapiSecretin config. requires Gerbera to be build with support for Last.FM API2.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
- arch rolling: gerbera 3.3.0-1 Β· GPL-2.0-or-later
- fedora 43: gerbera 3.3.0-1.fc43 Β· GPL-2.0-only AND MIT AND OFL-1.1
- fedora 44: gerbera 3.3.0-1.fc44 Β· GPL-2.0-only AND MIT AND OFL-1.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms