INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: installJRMC - MC install script for Fedora, CentOS, Ubuntu, Debian, and Mint  (Read 4852 times)

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2501

installJRMC

This program will install JRiver Media Center and associated helper services on the latest versions of Fedora, CentOS, *buntu, Debian, and Mint.

You can always find the latest version of installJRMC, changelog, and documentation in my repository.

Notes

1. installJRMC will not point major upgrades (i.e. from v26 to v27) to your old library. You should first perform a library backup, install the new major version, and then restore the library backup in the new version.

2. Typically installJRMC should be executed as your normal user (i.e. don't run it with sudo). Services are installed for the user that executes the script so do not execute as root unless you want to install system-wide services. Doing so may lead to permissions issues. installJRMC will prompt you for your sudo password as necessary to install dependencies and services.

Executing

1. You may need to make installJRMC executable:

Code: [Select]
chmod +x ./installJRMC
2. Execute:

Code: [Select]
./installJRMC [--option [ARGUMENT]]
Running installJRMC without any options will install the latest version of JRiver Media Center from the official JRiver repository (Ubuntu/Debian) or my unofficial repository (Fedora/CentOS) using the system package manager. If any other option is specified then the default install method will need to be specified using --install-repo (or --install-rpmbuild). This makes it possible to install services, containers, repos, etc. independent from Media Center.

Options

Here is a list of additional options that can be passed to the script. You can always find the latest supported options by running installJRMC --help.

Code: [Select]
--install-repo
    Install JRiver Media Center from repository using package manager (Default)
    DEB-based OSes: Official package repository
    RPM-based OSes: BryanC's unofficial repository
--install-rpm
     (RPM-based OSes only) Build RPM from source DEB and install it
--rpmbuild
    Build RPM from source DEB
--outputdir PATH
    Generate rpmbuild output in this directory (Default: $PWD/outputdir)
--mcversion VERSION
    Build or install a specific version (Default: install the latest version)
--restorefile RESTOREFILE
    Restore file location for registration (Default: skip registration)
--betapass PASSWORD
    Enter beta team password for access to beta builds
--service-user USER
    Install systemd services and containers for USER
--service, -s SERVICE
    See SERVICES section below for a list of possible services to install
--container, -c CONTAINER
    See CONTAINERS section below for a list of possible services to install
    TODO: Containers are a work-in-progress
--createrepo
    Build rpm, copy to webroot, and run createrepo
--createrepo-webroot PATH
    The webroot directory to install the repo (Default: /srv/jriver/)
--createrepo-user USER
    The web server user (Default: current user)
--version, -v
    Print this script version and exit
--debug, -d
    Print debug output
--help, -h
    Print help dialog and exit
--uninstall, -u
    Uninstall JRiver MC, cleanup service files, and remove firewall rules (does not remove library files)

Services

When installing systemd services it is important to execute installJRMC as the user you wish to run the services. Typically this is your normal user account but for some server installations it may be necessary to execute the script as root. If so, use --service-user root to override sanity checks.

Code: [Select]
jriver-mediaserver
    Enable and start a mediaserver systemd service (requires an existing X server)
jriver-mediacenter
    Enable and start a mediacenter systemd service (requires an existing X server)
jriver-x11vnc
    Enable and start x11vnc for the local desktop (requires an existing X server, does NOT support Wayland)
    --vncpass and --display are also valid options (see below)
jriver-xvnc-mediacenter
    Enable and start a new Xvnc session running JRiver Media Center
    --vncpass PASSWORD
        Set vnc password for x11vnc/Xvnc access. If no password is set, the script
        will either use existing password stored in ~/.vnc/jrmc_passwd or use no password
    --display DISPLAY
        Display to start x11vnc/Xvnc (Default: The current display (x11vnc) or the
        current display incremented by 1 (Xvnc))
jriver-createrepo
    Install hourly service to build latest MC RPM and run createrepo

It is possible to install multiple services at one time using multiple --service blocks:
Code: [Select]
installJRMC --install-repo --service jriver-x11vnc --service jriver-mediacenter
jriver-x11vnc versus jriver-xvnc-mediacenter
jriver-x11vnc shares your existing X display via vnc and starts a minimized JRiver Media Center service. Conversely, jriver-xvnc-mediacenter creates a new Xvnc display and starts a JRiver Media Center service in the foreground of the new VNC display. The requisite firewall rules will also be added to the system firewall to enable remote access.

Note: If jriver-xvnc-mediacenter finds an existing display it will attempt to increment the display number by 1. This should work fine in most cases, but if you have multiple running X servers on your host machine you should use the --display option to specify a free display.

Firewall Rules

installJRMC will automatically install and enable port forwarding firewall rules to enable remote access to Media Server (52100-52200/tcp, 1900/udp DLNA) and Xvnc/x11vnc (depends on port selection). installJRMC uses firewall-cmd on Fedora/CentOS and ufw on Ubuntu/Debian.

Note: ufw is not installed by default on Debian but will be installed by installJRMC. To prevent user lock-out (i.e. SSH), Debian users that have not already enabled ufw will need to do so (sudo ufw enable) after running installJRMC and inspecting their rules.

Containers

Coming soon!

Examples

Code: [Select]
installJRMCInstalls the latest version of JRiver Media Center from the repository.

Code: [Select]
installJRMC --install-repo --service jriver-mediaserverInstalls JRiver Media Center from the repository and starts/enables the /MediaServer service.

Code: [Select]
installJRMC --install-rpm --restorefile /path/to/license.mjr --mcversion 27.0.55Builds JRiver Media Center version 27.0.55 RPM from the source DEB, installs it (RPM distros only), and activates it using the specified .mjr license file.

Code: [Select]
installJRMC --createrepo --createrepo-webroot /srv/jriver/repo --createrepo-user www-userBuilds the RPM, moves it to the webroot, and runs createrepo as www-user.

Code: [Select]
installJRMC --service jriver-createrepo --createrepo-webroot /srv/jriver/repo --createrepo-user www-userInstalls the jriver-createrepo timer and service to build the RPM, move it to the webroot, and run createrepo as `www-user` hourly.

Code: [Select]
installJRMC --install-repo --service jriver-x11vnc --service jriver-mediacenter --vncpass "letmein"Installs services to share the existing local desktop via VNC and automatically run Media Center on startup.

Code: [Select]
installJRMC --install-repo --service jriver-xvnc-mediacenter --display ":2"Installs a service that starts Xvnc on display ':2' that just runs Media Center.

Code: [Select]
installJRMC --uninstallUninstalls JRiver Media Center and its associated services and firewall rules. This will not remove your media library and database in case you want to reinstall.

Additional information
Source, changelog, and latest documentation
I'd eventually like to get my repo hosted on a VPS with a faster connection and installJRMC working on an RPi, but I currently do not own either.
There's a donation link in my repository README if you'd like to help out.
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 70478
  • where the buffalo roam
Re: installJRMC
« Reply #1 on: September 09, 2020, 02:19:06 pm »

Thanks, Bryan.
Logged

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 330
Re: installJRMC
« Reply #2 on: September 26, 2020, 09:35:28 pm »

It seems when running on wayland your .dektop file does not function. I end up with a blank Window with only a translucent square being drawn. Commenting out StartupNotify=true fixed this. Actually, nvm it's not consistent. I ran mediacenter27 in the terminal and it worked first try. So I assumed it's something with the desktop file. But it still sometimes does not end up opening. On xorg it works, but I prefer to use wayland on my notebook as it makes some touchpad gestures work that otherwise don't.

Once it successfully opened it's fine. Just getting it there... I'll look at it again later maybe gnome not updating the entry fast enough and me being impatient screwed me over and it actually was something else. It's open now I'll leave it at that for the time being.

Thank's for the script though. :)
Logged

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2501
Re: installJRMC
« Reply #3 on: September 27, 2020, 10:31:36 am »

Thanks for the debugging, I'll take a look at this over the next couple days.
Logged

ashiers

  • Recent member
  • *
  • Posts: 13
Re: installJRMC
« Reply #4 on: October 02, 2020, 11:21:08 am »

Hi Bryan,  trying to install new version of MC 27 onto my Linux Mint laptop.  Downloaded the necessary files and ran the following from the terminal:

alan@alan-Latitude-E6530:~/Downloads/installjrmc$ ./installJRMC --install-repo --debug
Debugging on
Debug: Running: _sanityChecks
Debug: Running: _checkServices
Debug: Running: _checkMCInstalled
Debug: Running: _checkUser
Debug: Sanity checks passed!
Debug: Running: _getOS
Platform: linuxmint 19.3
Debug: Running: _buildCommands
Debug: Running: _installPackage rpmfusion-free-release epel-release
Debug: Running: _packageQuirks rpmfusion-free-release
Debug: Running: _packageQuirks epel-release
Debug: Running: _installMCFromRepo
Installing JRiver Media Center from repo...
Updating package list
Error: Package update failed!


I don't know where to go from here.  I currently have MC 26.0.107 on the laptop.  I didn't uninstall it.  I don't know if I should before installing version 27?  Please advise next steps.

Alan Shiers
Logged

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2501
Re: installJRMC
« Reply #5 on: October 02, 2020, 02:51:06 pm »

I'll do some testing on Linux Mint 20. I have not tested installJRMC on Mint so it's not surprising that it is failing as I'm sure the packages are slightly off.
Logged

dskrt

  • Recent member
  • *
  • Posts: 34
Re: installJRMC
« Reply #6 on: October 06, 2020, 10:09:44 am »

Hi tried to use installJRMC on ubuntu server on a Raspi 4 and got following error:
$ ./installJRMC
Installing JRiver Media Center from repo...
E: Unable to locate package mediacenter??
E: Couldn't find any package by glob 'mediacenter??'
E: Couldn't find any package by regex 'mediacenter??'
Error: Could not parse MC package name

Looking into the script it looks like arm64 repo is not (yet) included in the script ?
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7128
  • Autumn shade...
Re: installJRMC
« Reply #7 on: October 06, 2020, 11:29:25 am »

It might need support added for both armhf and arm64. There's an extra step you have to do on the Pi, which as far as I know is still needed, the framebuffer lines in config.txt as mentioned in the tutorial here: https://yabb.jriver.com/interact/index.php/topic,123770.0.html
Logged
I don't work for JRiver... I help keep the forums safe from Viagra and other sources of sketchy pharmaceuticals.

Windows 11 2023 Update (23H2) 64-bit + Ubuntu 23.10 Mantic Minotaur 64-bit | Ubuntu 22.04.3 LTS Jammy Jellyfish 64-bit (Orange Pi 5B 16GB/128GB eMMC)
JRiver Media Center 31 (Windows + Linux) | Topping D50s DAC

dskrt

  • Recent member
  • *
  • Posts: 34
Re: installJRMC
« Reply #8 on: October 06, 2020, 11:49:14 am »

Thanks, thats what I suspected for the script, The tweaks mentioned in your links are for Raspbian OS, I am using ubuntu server... which is a different story for tweaks needed...

Logged

ashiers

  • Recent member
  • *
  • Posts: 13
Re: installJRMC
« Reply #9 on: October 08, 2020, 08:16:41 am »

I'll do some testing on Linux Mint 20. I have not tested installJRMC on Mint so it's not surprising that it is failing as I'm sure the packages are slightly off.
Hi Bryan,  just following up.  How you makin' out with the install process onto Linux Mint?
Logged

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2501
Re: installJRMC
« Reply #10 on: October 08, 2020, 08:55:09 am »

Still working on it, but should be done soon!
Logged

dskrt

  • Recent member
  • *
  • Posts: 34
Re: installJRMC
« Reply #11 on: October 08, 2020, 04:04:47 pm »

When may we expect an integration of armhf and arm24 into installJRMC?

I tried to modify installJRMC by myself, but I have to confess not being that fit in scripting...
Logged

ashiers

  • Recent member
  • *
  • Posts: 13
Re: installJRMC
« Reply #12 on: December 17, 2020, 07:02:40 pm »

Still working on it, but should be done soon!

Hi Bryan,

Still can't load up MC version 27 onto Linux Mint.  Can you give us an ETA?

Alan Shiers
Logged

RemyJ

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1240
Re: installJRMC
« Reply #13 on: January 28, 2021, 08:01:03 am »

@BryanC, 27.0.58 added /usr/bin/mc27 so the SPEC file need to include it in the %files section.

I've attached a patched version of installJRMC for anyone who needs it.
Logged
Fedora 38 x86_64 Xfce

skidmata

  • Recent member
  • *
  • Posts: 12
Re: installJRMC
« Reply #14 on: March 11, 2021, 09:41:00 pm »

@BryanC, 27.0.58 added /usr/bin/mc27 so the SPEC file need to include it in the %files section.

I've attached a patched version of installJRMC for anyone who needs it.

If anyone wanted a patch here's mine:
Code: [Select]
diff --git a/installJRMC b/installJRMC
index 9f204ef..7514f7f 100755
--- a/installJRMC
+++ b/installJRMC
@@ -830,6 +830,7 @@ dpkg -x %{S:0} %{buildroot}
 
 %files
 %{_bindir}/mediacenter$_mversion
+%{_bindir}/mc$_mversion
 %{_libdir}/jriver
 %{_datadir}
 /etc/security/limits.d/*
Logged

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13112
Re: installJRMC
« Reply #15 on: March 18, 2021, 08:38:43 pm »

Just a heads-up, the next build will have a few executable changes.
The launcher mc27 will be removed from the /usr/bin/ dir and moved to the app installation dir (/usr/lib/jriver/Media Center xx).
There will be new binary in the app installation directory called PackageInstaller.
There will be a symlink in the app installation directory to the mediacenter27 executable in /usr/bin/
Logged

RemyJ

  • Regular Member
  • Citizen of the Universe
  • *****
  • Posts: 1240
Re: installJRMC
« Reply #16 on: March 19, 2021, 09:29:58 am »

Thanks for the heads up!
Logged
Fedora 38 x86_64 Xfce

HaWi

  • Citizen of the Universe
  • *****
  • Posts: 865
Re: installJRMC
« Reply #17 on: March 19, 2021, 01:16:39 pm »

Just a heads-up, the next build will have a few executable changes.
The launcher mc27 will be removed from the /usr/bin/ dir and moved to the app installation dir (/usr/lib/jriver/Media Center xx).
There will be new binary in the app installation directory called PackageInstaller.
There will be a symlink in the app installation directory to the mediacenter27 executable in /usr/bin/
Sorry for the noob question, does this mean the new version will have to be completely installed from scratch or does the usual way to update still work?
many thanks
Logged
RPi4/8GB, Bullseye (Plasma) on SSD | JRMark (31.0.80 64 bit): 1583 (OC=2GHz, OV=6)
MacBookPro (2013), 2.6 GHz Quad-Core Intel Core i7, MacOS 11.7.10 | JRMark (version 31.0.80 64 bit): 3692
iMac Retina 5K 27 (2015), Core i7 4GHz, MacOS 13.3, 32GB RAM, AMD Radeon R9 M395X 4096MB; media files on external 4TB SSD
iMac | JRMark (version 31.0.80 64 bit): 3900
Docker Container (shiomax) DS1819+ | JRMark (version 31.0.80 64 bit): 1494
JRemote 3.4b
MO 4Media 1.5.7 | Marantz SR7007 (RSL 5.1) HDMI to MacBookPro

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2501
Re: installJRMC
« Reply #18 on: April 01, 2021, 10:35:51 am »

Haven't been dropping in often, but I added a small update to installJRMC to hide the duplicate PackageInstaller icon (confusing with GNOME).

I had paused the repo while I had time to review the changes that Bob mentioned. It looks like everything is good to go so I flipped on the repo builds again (in case anyone was wondering why they weren't getting updates).

Supporting lots of different esoteric OSes is too much of a pain for me to individually maintain, so I'm going to focus on abstracting the installation procedures to something higher level (Python/Ansible) or containerized instead of extending the shell script. Red Hat's handling of CentOS 8 was the final nail in the coffin (and part of the reason I haven't had time to post much here).

Sorry for the noob question, does this mean the new version will have to be completely installed from scratch or does the usual way to update still work?
many thanks

The RPM will handle the file layout changes for you.

Hi Bryan,

Still can't load up MC version 27 onto Linux Mint.  Can you give us an ETA?

Alan Shiers

Are you still interested in this?
Logged

bush74

  • Recent member
  • *
  • Posts: 10

Good day, BryanC.
I am installing MC on Debian for the first time. I am using vmware for testing. I ask for a hint in which direction to look for the cause of my failure.

Quote
bush@Debian-10-MC:~/temp$ ./installJRMC --install-repo --service jriver-mediacenter --service jriver-xvnc-mediacenter --debug
Debugging on
Debug: Running: _sanityChecks
Debug: Running: _checkServices
Debug: Running: _checkMCInstalled
Debug: Running: _checkUser
Debug: Sanity checks passed!
Debug: Running: _getOS
Platform: debian 10
Debug: Running: _buildCommands
Debug: Running: _installPackage rpmfusion-free-release epel-release
Debug: Running: _packageQuirks rpmfusion-free-release
Debug: Running: _packageQuirks epel-release
Debug: Running: _installMCFromRepo
Installing JRiver Media Center from repo...
Updating package list
Error: Could not parse MC package name
bush@Debian-10-MC:~/temp$
Logged

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2501

Good day, BryanC.
I am installing MC on Debian for the first time. I am using vmware for testing. I ask for a hint in which direction to look for the cause of my failure.

I couldn't replicate your specific issue in a fresh Debian VM, but I did cleanup a few other problems with the Debian installation so let me know if it makes a difference (v0.9.3 in the OP). If not, I can dig further.
Logged

MagerClab

  • Recent member
  • *
  • Posts: 37
Re: installJRMC
« Reply #21 on: May 06, 2021, 12:01:12 pm »


Are you still interested in this?

I'd like to see any hint for a functional installation on Mint 20.1 also.... Mint runs (e.g. ...) flawlessly and relatively speedy on my 11 year old Macbook Air (native mode, kicked the creeping original OS years ago ;)
Logged

BryanC

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2501
Re: installJRMC
« Reply #22 on: May 06, 2021, 04:05:45 pm »

I'd like to see any hint for a functional installation on Mint 20.1 also.... Mint runs (e.g. ...) flawlessly and relatively speedy on my 11 year old Macbook Air (native mode, kicked the creeping original OS years ago ;) )

Hi Bryan,  just following up.  How you makin' out with the install process onto Linux Mint?

I just added Linux Mint support to v0.9.4 in the OP.  8)

Haven't had time to test all of the services, but MC should install OK at the least.
Logged

bush74

  • Recent member
  • *
  • Posts: 10

I couldn't replicate your specific issue in a fresh Debian VM, but I did cleanup a few other problems with the Debian installation so let me know if it makes a difference (v0.9.3 in the OP). If not, I can dig further.

Thank you for attention. I installed jrmc and tigervnc-xorg-extension manually. Everything works well. One issue remained unresolved - auto-launch of jrmc before the user's login. If your script solves this issue, then of course I will try to use it again. Or maybe you know how to solve this without completely reinstalling the entire software suite?
I am training on VmWare & VirtualBox to build a headless PC media center. (offtopic: VirtualBox works better with forwarding hw:USB-audioDac)
Logged

MagerClab

  • Recent member
  • *
  • Posts: 37
Re: installJRMC
« Reply #24 on: May 09, 2021, 02:08:43 pm »

I just added Linux Mint support to v0.9.4 in the OP.  8)

Haven't had time to test all of the services, but MC should install OK at the least.

Thanks! Will check tomorrow or tuesday and post the results.
Logged

MagerClab

  • Recent member
  • *
  • Posts: 37
Re: installJRMC
« Reply #25 on: May 10, 2021, 12:29:31 am »

Thanks! Will check tomorrow or tuesday and post the results.

Works perfectly. Thanks again!
Logged
Pages: [1]   Go Up