When managing user accounts you can set some attributes and assign different rights. Here's a little more explaination on what theses attributes and rights are used for.
|ROLE_WRITE||Create and manipulate data.||Create/Upload folders and files, Create labels, notes, tasks, bookmarks, sensors, controls, ...|
|ROLE_EDIT_USER_DETAILS||Change own user details.||Change password, Change language|
|ROLE_ACCESS_FILESYSTEM||Allows operations accessing the local filesystem.|
Note that access is performed under the user that runs the LimboMedia server.
|Bind/Scan filesystem folder.|
|ROLE_NETWORK||Perform custom network requests (HTTP/UDP)||IoT Control actions, IoT Data pull|
|ROLE_ADMINISTRATION||Administrative tasks||User management, System shutdown, System settings, Logfile access, Console|
|Active||Allow a user to login. Usually used to temporarily "deactive" a user without deleting all it's data, shares, etc..|
|System||System users are "virtual" users created and required by LimboMedia itself to handle system-internal tasks or anonymous requests. The LAN user for example is used whenever local DLNA/UPnP devices access limbomedia. The guest user is used for token-based authentication scenarios like whenever someone access limbomedia through a share-link. These users cannot be deleted but deactivated if not required for your setup scenario.|
LimboMedia comes with an internal (quartz) scheduler managing different kinds of periodically running background jobs like the file scanner, media converter or IoT data pull. To define when and how often to run these jobs, there's a well known mechanism called cron expressions. Such an expression might look like this:
0 30 3 * * ?
This expressions says: Run the job every night at 3:30am.
We don't want to explain things others already did quite good, so here are our 2 favorite links when it comes to cron expressions:Quartz tutorial - Cron expression syntax explanation and examples.
In the old days things were easy: Windows used its own system services and linux SysVInit to manage system services. Nowadays windows is still the same but on linux there's SysVInit, Upstart, Systemd, docker and custom startup scripts.
Since our first goal is to keep things clean, easy and portable, we don't want to provide and support so many different kinds of installers placing files all around your system directories. If you'd like to have a system service it's up to you to configure one on your own. Here're some recommendations:
On windows we recommend two variants:
Systemd gets more and more popular and is already used by most mainstream distributions. We like it because it's easy as hell to create custom services, so here's how it done:
Create the systemd service file
/usr/lib/systemd/system/limbomedia.service with the following content. For sure paths needs to be adjusted to your environment.
[Unit] Description=LimboMedia After=network.target [Service] ExecStart=/usr/bin/java -jar /opt/limbomedia-VERSION/limbomedia.jar KillMode=mixed [Install] WantedBy=multi-user.target
That's it! Now you can manually start and stop limbomedia as a service or enable and disable to start on system boot:
#Start/stop manually systemctl start limbomedia systemctl stop limbomedia #Enable/disable autostart on bboot systemctl enable limbomedia systemctl disable limbomedia #Check status systemctl status limbomedia
A really nice little tool for running linux things in background is screen which basically creates and manages virtual terminals you can always hook on and off while they're running in background. If you don't know it yet, give it a try. Even if you're not using limbomedia you should know this tool as linux user! Here's a small introduction: HowToForge - Linux screen.
If you see strange characters or character combinations like Ã¶,0xF6 or � in your webinterface or if you have problems with special characters like ü,ö,ä,é,&,ß,æ in texts and filenames or if shown times and dates seems to be wrong, you most likely have a missing or wrong configured so called system locale. The locale is managed by the OS and must be set before starting limbomedia. When running limbomedia as a normal user this is usually no problem since locales are set for user sessions on login. When running limbomedia as system service there's a chance that noone set the locale before your system service is started.
On limbomedia startup charset, file encoding and timezone are logged in one of the very first lines. This might look like this:
#Typical linux output: OS environment: Charset: UTF-8, File encoding: UTF-8, Timezone: Europe/Berlin - Mitteleuropäische Zeit #Typical windows output: OS environment: Charset: windows-1252, File encoding: Cp1252, Timezone: Europe/Berlin - Mitteleuropäische Zeit
Timezone: If the printed timezone doesn't match your actual timezone you very likely see wrong date- and timestamps. Most obviously in logfiles and the webinterface as 'Added on' date. Time will differ as much as the printed timezone differs from the real one.
Charset/Encoding: Here's no right or wrong, but depending on your OS and what characters you want to support, another charset might fit better. Here's a general guideline:
On windows you should configure the timezone in your system control center or users language settings. The charset and file encoding cannot be set to UTF-8 by windows itself, so you need to start limbomedia using the following command:
java -Dfile.encoding=UTF-8 -jar limbomedia.jar
On linux the locale is configured through the system environment, so you need to make sure some variables are set before starting limbomedia. Here are some useful commands:
#Print current locale locale #Print available locales locale -a #Generate locale if the required one is not available yet. #On ubuntu it'll work like this: locale-gen en_US.UTF-8 #On arch linux you need to edit /etc/local.gen and then run locale-gen #Set locale (Before starting limbomedia if default locale isn't set or doesn't fit) export LANG=en_US.UTF-8 export LC_ALL=en_US.UTF-8