How to configure?

All the parameters described below can and should be used to fine-tune your LimboMedia setup and make it match your environment. Configure these settings in 2 places: In the main configuration file or as LimboMedia startup command line parameter, which wins if both are specified.

Configuration file

The configuration file is located at

INSTALL_DIR/data/limbomedia.cfg

Commandline startup parameters

Parameters can be specified in java system property style before -jar: -D[PARAMTER_NAME]=[PARAMETER_VALUE], as classic command line parameter: [PARAMETER_NAME]=[PARAMETER_VALUE] or mixed up like that:

java -Dlm.http.port=8000 -jar limbomedia.jar lm.http.contextPath=/

HTTP (Webserver)

Port

LimboMedia supports http and https, so there are 2 ports to configure.The default ports are 8000(http) and 8001(https) cause systems like linux/bsd requires you to be root for ports < 1024. If you want to use the default HTTP and HTTPS ports use:

lm.http.port=80
lm.https.port=443

Context path

Set the contextpath to reach your server somewhere below the root path. This may be usefull if you want to access your server through a reverse (ssl-)proxy beside other applications. Use the following example to access your server on http://[YOUR_ADDRESS]/limbomedia/. Default is /

lm.http.contextPath=/limbomedia

Anonymous local access (Important!)

Allow anonymous access from your local network to "USERS"-Level shared elements. This is required for DLNA/UPnP but should be disabled(set to false) when running LimboMedia outside you local (home-)network. Default: true

lm.http.anonymousAllowed=true

Local Network netmask

This parameter specifies what you local network is. Anonymous requests (see above) are limited to this subnet. The default settings should fit most home-network configurations. Default: 255.255.255.0

lm.http.anonymousNetmask=255.255.255.0

Session and Cookie max age

The server stores user sessions and the browser stores cookies for this period. The time is specified in seconds. Default: 2592000 (about 30 days)

lm.http.cookieMaxAge=2592000

DLNA, UPnP

Enable/Disable DLNA/UPnP

Enable(true) or disable(false) the DLNA/UPnP service. Requires allowed anonymous access and a properly configured netmask (see above). Default: true

lm.upnp.enabled=true

Data storage

Data path

LimboMedia stores metadata, uploaded, extracted, resized and encoded files in a path in your filesystem. You may choose to store the data some else which is usefull to separate application and storage data and to make updates easier. This can only be used as startup parameter, because the configuration file itself is placed in this directory. Default: INSTALLATION_PATH/data

lm.dir.data=/opt/yourCustomDataDirectory

Database

LimboMedia uses an embedded H2-Database stored in your data-path. If you're experienced in java/database/hibernate you may try a different database by putting the driver into the libs folder and specify the following parameters as needed.

lm.db.driver=org.h2.Driver
lm.db.url=jdbc:h2:${lm.dir.data}/db/db;MVCC=TRUE
lm.db.user=test
lm.db.pw=test
lm.db.dialect=org.hibernate.dialect.H2Dialect

Security

SSL (https)

SSL is supported and by default configured with a build-in self-signed certificate. For real security you have to use your own certificate (either self-signed or with real CA).
Since this software is java-based, ssl is configured via java keystores. Check this link for a quick and easy setup of a self-signed keystore. If you want to use existing certificates (other formats) or real CA-signed certificates i recommend to google on how to put/convert them into a java keystore.
Use the following parameters to specify your own keystore location and password.

lm.https.keystore=/path/to/my/keystore.jks
lm.https.keystorepass=KeyStorePassword
lm.https.keypass=KeyPassword

Salt

User passwords are stored salted and hashed. Feel free to choose your custom salt. Default: 7CpswESA4zJVT0nZ

lm.sec.salt=7CpswESA4zJVT0nZ

Logging

System

System logging is everything you see in the console or log/system.log file. It covers startup messages, general system information, external tool (ffmpeg, imageMagick) messages and information about incoming http request. The debug mode might be interesting for troubleshooting, especially for problems with external tools. Developers may choose trace to log incoming http-requests.
Options: error,warn,info,debug,trace
Default: info

lm.log.system=info

Auth

Auth logging covers user logins, logouts and authentication and is written to log/auth.log file. The default level warn logs unsuccessful login attempts while info level logs every login- and logout-event for paranoid users.
Options: warn,info
Default: warn

lm.log.auth=warn

Misc

Image scanning

Read EXIF image metadata (capture date, orientation, gps) on image upload and filescan. Default is false because scans are about 10 times slower, but information might be useful for future LimboMedia updates when it comes to map view.

lm.image.readExif=true

Show GUI vs. headless mode

Chosse between false for the console/no-GUI/headless mode (default for java -jar ... startup) or true for a small GUI window containing logs and a shutdown button (default for windows limbomedia.exe startup).

lm.gui=true