jose 73 Posted October 12, 2014 Share Posted October 12, 2014 (edited) Updated instructions can now be found on our website: http://emby.media/ This should work on rpm distributions that use systemd. Such as CentOS 7 and Fedora 19+, I have tested it on CentOS 7 and Fedora 21 Beta Seperate repos for Dev and Beta releases Added systray icon that behaves like the one for windows. Added MediaBrowserServer file to /etc/sudoers,d to allow admin users to start, stop restart the server without entering their password, (allow the systray icon to works) and allows the server to mount unmount isos. Move repo to an automated online one. A repo with all the dependencies has been included in the repo file. Installing the server should install all the dependencies.If your mono can't be found by the script then go to /etc/opt/MediaBrowser/MediaBrowserServer/MediaBrowserServer.cfg and add the following line mono_path="/your/path/to/mono" in the case of the mono provided by my repo that is: mono_path="/opt/mono" Also you may need to wait a while after the install for it to download ffmpeg. You can also specify a path to ffmpeg and ffprobe and the server wont try to download them, for fedora you can install the rpmfusion repositories and then use yum to install ffmpeg, the package wont install it by itself as it is not set as a dependency, but it will look by default in /bin for them before trying to download it. Install the repositories:https://github.com/MediaBrowser/MediaBrowser.Releases/raw/master/Repository/MediaBrowserServer-repositories.noarch.rpm #UPDATE the repo package sudo yum update MediaBrowserServer-repositories #To enable dependencies repo sudo yum-config-manager --enable MediaBrowserServer-Dependancies #For the server sudo yum install MediaBrowserServer #For the system Tray Icon sudo yum install MediaBrowserServer-sysTray #When installing the systray icon you may need to reload the gnome shell for it to appear this can be done by pressing [alt]+[f2] typing [r] into the prompt that appears and then [enter]. This happens because the topicons gnome extension needs to be loaded onto gnome for tray icons to appear in gnome3, you may notice some other icons for applications (chrome, dropbox, hangouts, etc)you already had may appear now that system/notifications icons are enabled. #TopIcons is included in the package and I obtained it from https://extensions.gnome.org/extension/495/topicons/ To start the service type: sudo systemctl start MediaBrowserServer OR sudo service MediaBrowserServer start or launch the system tray icon from the applications window. To enable the server so that it starts every time you boot up the server type: sudo systemctl enable MediaBrowserServer To stop the service sudo systemctl stop MediaBrowserServer OR sudo service MediaBrowserServer stop Clicking the exit button of the system tray icon also stops the server, mimicking the behavior of the windows server. To enable Beta or Dev releases: sudo yum-config-manager --enable MediaBrowserServer-Beta sudo yum-config-manager --enable MediaBrowserServer-Dev if you enable beta releases and do a yum update MediaBrowserServer it will install the latest of either the Stable or Beta releases, this doesn't work with dev/master releases at the momment as I dont know the version before build time and their version instead of a number is "master". remove any old repos from /etc/yum.repos.d such as:mbserver.repo, home:jose-pr.repo , or any oher of my old repos Directories where files are located: /opt/MediaBrowser/MediaBrowserServer /var/opt/MediaBrowser/MediaBrowserServer /etc/systemd/system/MediaBrowserServer.service /etc/opt/MediaBrowser/MediaBrowserServer/MediaBrowserServer.cfg A system user is created named MediaBrowserServer under which the MediaBrowserServer service runs.A group is created called media and MediaBrowserServer is part of it.All files create by the server have read/write privileges by media group.Any path where the server is going to write anything such as if you select to download metadata to the media folder has to read/write access by the media group, everyone, or be owned by MediaBrowserServer Systrat icon: Edited September 23, 2015 by Luke 2 Link to comment Share on other sites More sharing options...
Abobader 2942 Posted October 12, 2014 Share Posted October 12, 2014 Thanks for sharing, well done. Link to comment Share on other sites More sharing options...
jose 73 Posted October 13, 2014 Author Share Posted October 13, 2014 I created a rpm for the server only (no libgdiplus or mono). Here is a summary of what it is supposed to do: create a user called MediaBrowserServer under which the server is run as a systemd service. also creates a group called media which MediaBrowserServer is put under, the permissions for the program data directory are set so that any member of the group can modify its content. Also media folders that the server needs to put file in such as metadata should either allow the group write privileges or give write privileges to everyone. puts the server at /opt/MediaBrowser/MediaBrowserServer/ the program data is at /var/opt/MediaBrowser/MediaBrowserServer/ to start the server type: sudo systemctl start MediaBrowserServer to stop the server: sudo systemctl stop MediaBrowserServer to see the status: systemctl status MediaBrowserServer you can also start the server as the current user with:/opt//opt/MediaBrowser/MediaBrowserServer/start.sh but be sure your current user is part of the media group so that it can access the program data file. At the moment it works with mono installed directly into /bin/ (no mono-opt for now) and libgdiplus needs to be installed in the standard lib path. Here are the file i have the m at a public folder in dropbpox so they should work. if not the any other place i can host them on? RPM SRPM Link to comment Share on other sites More sharing options...
jose 73 Posted October 15, 2014 Author Share Posted October 15, 2014 RPMs build from the latest stable and master as of Oct 14 2014 https://www.dropbox.com/sh/udnkcwofnb0br03/AADP_IgrvNPj_l-KrO0VjWrma?dl=0 Should work with any rpm distribution that uses systemd 1 Link to comment Share on other sites More sharing options...
Luke 37060 Posted October 15, 2014 Share Posted October 15, 2014 Well done. I have updated the first post here with dependencies: http://mediabrowser.tv/community/index.php?/topic/3634-linux-setup/ Link to comment Share on other sites More sharing options...
jose 73 Posted October 16, 2014 Author Share Posted October 16, 2014 Working on some desktop icons and a better presentationin the software center.. ver early stage 2 Link to comment Share on other sites More sharing options...
jose 73 Posted October 24, 2014 Author Share Posted October 24, 2014 Added a package with libgdiplus 3.8 compiled Link to comment Share on other sites More sharing options...
jose 73 Posted November 3, 2014 Author Share Posted November 3, 2014 New: Added systray icon that behaves like the one for windows. Added MediaBrowserServer file to /etc/sudoers,d to allow admin users to start, stop restart the server without entering their password, (allow the systray icon to works) and allows the server to mount unmount isos. Move repo to an automated online one. Link to comment Share on other sites More sharing options...
Luke 37060 Posted November 3, 2014 Share Posted November 3, 2014 Well done! How did you do the system tray icon? Is it something that can be merged in so that it will work with other distros? Link to comment Share on other sites More sharing options...
jose 73 Posted November 3, 2014 Author Share Posted November 3, 2014 Well done! How did you do the system tray icon? Is it something that can be merged in so that it will work with other distros? It is a python script with a config.txt file "MediaServer":{ "address": "localhost", "web-port": "8096", "program-path": "/var/opt/MediaBrowser/MediaBrowserServer", "start-command":"sudo systemctl start MediaBrowserServer", "restart-command":"sudo systemctl restart MediaBrowserServer", "stop-command":"sudo systemctl stop MediaBrowserServer" }, they need to put the commands to start, restart and stop the server . if the commands need sudo they should create a file in ./etc/sudoers.d which will allow a group of users such as wheel to these commands without a password. I am working on adding some remote capabilities so that it can also be controlled from another machine in cases the server is headless or a vm. Link to comment Share on other sites More sharing options...
jose 73 Posted November 3, 2014 Author Share Posted November 3, 2014 The python file and the sudoers file can be found here: https://build.opensuse.org/source/home:jose-pr/MediaBrowserServer/MBServer_scripts.zip the sudoers file in /etc/sudoers.d and the systray icon in /opt/MediaBrowser/MediaBrowserServer/TrayIcon Also it has the .desktop file and appdata files in /usr/ Link to comment Share on other sites More sharing options...
jose 73 Posted November 8, 2014 Author Share Posted November 8, 2014 Updated to latest release 3.0.5424.1 to update if you already have the repo installed type sudo yum update MediaBrowserServer or follow the instructions in the first post 1 Link to comment Share on other sites More sharing options...
jose 73 Posted November 9, 2014 Author Share Posted November 9, 2014 Three repos for Stable, Beta and Dev releases all contained in the same MediaBrowserServer.repo file sudo wget https://raw.githubusercontent.com/jose-pr/extras/master/MediaBrowserServer.repo -O /etc/yum.repos.d/MediaBrowserServer.repo To enable beta releases: sudo yum-config-manager --enable MediaBrowserServer-Beta To enable dev releases: sudo yum-config-manager --enable MediaBrowserServer-Dev if you enable beta releases and do a yum update MediaBrowserServer it will install the latest of either the Stable or Beta releases, this doesn't work with dev/master releases at the momment as I dont know the version before build time and their version instead of a number is "master". remove any old repos from /etc/yum.repos.d such as: mbserver.repo, home:jose-pr.repo , or any oher of my old repos Link to comment Share on other sites More sharing options...
Luke 37060 Posted November 9, 2014 Share Posted November 9, 2014 great stuff, although i would just suggest doing beta/stable. it will be much less hectic. Link to comment Share on other sites More sharing options...
Luke 37060 Posted November 9, 2014 Share Posted November 9, 2014 fyi - i am going to look at a unified tray icon that will work with all of our operating systems. i have not yet decided between c# and python. any source code you can share would be helpful as it would save me some time. thanks. Link to comment Share on other sites More sharing options...
jose 73 Posted November 9, 2014 Author Share Posted November 9, 2014 fyi - i am going to look at a unified tray icon that will work with all of our operating systems. i have not yet decided between c# and python. any source code you can share would be helpful as it would save me some time. thanks. All the systray icon code can be found here https://build.opensuse.org/source/home:jose-pr:MediaBrowserServer/MediaBrowserServer/MBServer_scripts.zip under /opt/MediaBrowser/MediaBrowserServer/TrayIcon those are python files and you can open them with a text editor. Link to comment Share on other sites More sharing options...
jose 73 Posted November 9, 2014 Author Share Posted November 9, 2014 @Luke Also here is an executable that run on windows withoutt he need to install python. https://www.dropbox.com/s/14zfh7zlymi6kxm/TrayIcon.zip?dl=0 For it to control you linux server you need enable ssh on you server and edit the config.txt file with the hostname/ip, your user and password and the commands to start, restart, stop the server, plus those commands need to be available without password to the user. The log windows wont show any text at the momment as i need to have access to the logfile and i am still thinking the best way to do that remotely. Link to comment Share on other sites More sharing options...
Luke 37060 Posted November 10, 2014 Share Posted November 10, 2014 thanks. don't worry about the log window. i've removed that feature until it can be rebuilt in a universal fashion. the only thing i need to figure out is how the shutdown commands will be issued to MBS in a platform-independant way. Right now using the api makes sense. as far as reading the config file, for whatever i end up doing my plan is just to have it read the actual server config file. the tray icon included with the server only needs to control that specific server, so it's fine and we can assume that file system access. If you or someone wants to do a more robust separate icon that can control any MBS instance from any machine, that's different. Link to comment Share on other sites More sharing options...
jose 73 Posted November 10, 2014 Author Share Posted November 10, 2014 for local commands the one i supply in the rpm is set as a local type and you dont need to supply user, password or address (you can assume is localhost), You would just need the commands, api calls. I added the remote features as a bonus to control my server from my windows machine. The local commands work well in windows to so if you have the windows commands to start the windows server and stop it it should be easy to adapt, i havent check those yet. Link to comment Share on other sites More sharing options...
rjenkins 1 Posted November 13, 2014 Share Posted November 13, 2014 (edited) Hi, for info, I've just tried the Mediabrowser rpm from Jose's repository on a Centos 7 system. Unfortunately there are a few dependencies that cannot be resolved, even with the fedora "epel" repository enabled: Error: Package: MediaBrowserServer-3.0.5424.1-Stable.8.1.noarch (MediaBrowserServer) Requires: sqlite >= 3.8.2 Installed: sqlite-3.7.17-4.el7.x86_64 (@anaconda) sqlite = 3.7.17-4.el7 Error: Package: libgdiplus-3.8-11.1.x86_64 (MediaBrowserServer) Requires: libpng16.so.16()(64bit) Error: Package: MediaBrowserServer-3.0.5424.1-Stable.8.1.noarch (MediaBrowserServer) Requires: mono-devel > 3.2.7 Available: mono-devel-2.10.8-8.el7.x86_64 (epel) mono-devel = 2.10.8-8.el7 Error: Package: MediaBrowserServer-3.0.5424.1-Stable.8.1.noarch (MediaBrowserServer) Requires: libwebp >= 0.4.1 Available: libwebp-0.3.0-3.el7.i686 (base) libwebp = 0.3.0-3.el7 Error: Package: libgdiplus-3.8-11.1.x86_64 (MediaBrowserServer) Requires: libpng16.so.16(PNG16_0)(64bit) Any attempts at installing later libgdiplus or libpng give many errors. Edited November 12, 2014 by rjenkins Link to comment Share on other sites More sharing options...
jose 73 Posted November 13, 2014 Author Share Posted November 13, 2014 (edited) I was able to build libwebp, sqlite and libgdiplus for Centos 7, still waiting for mono to build, I will have a new repo called MediaBrowserServer-Dependancies so that you can enable it with: sudo yum-config-manager --enable MediaBrowserServer-Dependancies That way if your system doesn't provide the dependancies yo can obtain them from there. Edited November 13, 2014 by jose 1 Link to comment Share on other sites More sharing options...
rjenkins 1 Posted November 14, 2014 Share Posted November 14, 2014 That,'s great news, thanks! RJ. Link to comment Share on other sites More sharing options...
jose 73 Posted November 14, 2014 Author Share Posted November 14, 2014 That,'s great news, thanks! RJ. Can you try installing this: http://download.opensuse.org/repositories/home:/jose-pr:/MediaBrowserServer/Fedora_20/noarch/MediaBrowserServer-repositories-1-Stable.7.1.noarch.rpm This should install the repositories and assign you the correct repo for the dependancies in your case look in /etc/yum.repos.d/MediaBrowserServer.repo that you have CentOS_7. [MediaBrowserServer-Dependancies] name=MediaBrowserServer-Dependancies (CentOS_7) type=rpm-md baseurl=http://download.opensuse.org/repositories/home:/jose-pr:/MediaBrowserServer-Dependancies/CentOS_7/ gpgcheck=1 gpgkey=http://download.opensuse.org/repositories/home:/jose-pr:/MediaBrowserServer-Dependancies/CentOS_7/repodata/repomd.xml.key enabled=1 then install the server it should install all dependencies while doing so. sudo yum install MediaBrowserServer if you want the system tray icon to then: sudo yum install MediaBrowserServer-sysTray Link to comment Share on other sites More sharing options...
jose 73 Posted November 15, 2014 Author Share Posted November 15, 2014 (edited) Tested on CentOS 7 and Fedora 20 it worked fine in both all missing dependencies supplied https://raw.githubus...epositories.rpm . Intalled the repo rpm and the do: yum install MediaBrowserServer Please comment if it worked to know if it is okay to go ahead and release. for centos need to enable epel repo Edited November 15, 2014 by jose Link to comment Share on other sites More sharing options...
jupiter 0 Posted September 22, 2015 Share Posted September 22, 2015 Hello, I'm trying to get Emby running in fedora 22 server. I've followed the instructions at the start of this post. I have attempted the install using both dnf and yum. When attempting to install the MediaBrowserServer I recieve the following. I have RPM fusion repositories installed. sudo yum-config-manager --enable MediaBrowserServer-Dependancies processed correctly. sudo dnf config-manager -enable MediaBrowserServer-Dependancies processed correctly. The repo list shows the media browser repo available for DNF. sudo dnf repolist |grep MediaBrowserServerFailed to synchronize cache for repo 'MediaBrowserServer-Dependancies' from 'http://download.opensuse.org/repositories/home:/jose-pr:/MediaBrowserServer-Dependancies/Fedora_22/': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried, disabling. MediaBrowserServer Media Browser Server is a home media server built 6 When I attempt install in either yum or dnf I receive the following errors. sudo yum install MediaBrowserServerYum command has been deprecated, redirecting to '/usr/bin/dnf install MediaBrowserServer'.See 'man dnf' and 'man yum2dnf' for more information.To transfer transaction metadata from yum to DNF, run:'dnf install python-dnf-plugins-extras-migrate && dnf-2 migrate'Failed to synchronize cache for repo 'MediaBrowserServer-Dependancies' from 'http://download.opensuse.org/repositories/home:/jose-pr:/MediaBrowserServer-Dependancies/Fedora_22/': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried, disabling. Last metadata expiration check performed 0:06:30 ago on Tue Sep 22 13:58:03 2015.Error: nothing provides mono-opt-devel > 3.2.7 needed by MediaBrowserServer-3.0.5607.2-Stable.67.1.noarch(try to add '--allowerasing' to command line to replace conflicting packages) when using DNF (all other steps worked normally prior to running the dnf command) sudo dnf install MediaBrowserServerFailed to synchronize cache for repo 'MediaBrowserServer-Dependancies' from 'http://download.opensuse.org/repositories/home:/jose-pr:/MediaBrowserServer-Dependancies/Fedora_22/': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried, disabling. Last metadata expiration check performed 0:14:48 ago on Tue Sep 22 13:58:03 2015.Error: nothing provides mono-opt-devel > 3.2.7 needed by MediaBrowserServer-3.0.5607.2-Stable.67.1.noarch(try to add '--allowerasing' to command line to replace conflicting packages) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now