137 Commits

Author SHA1 Message Date
e360bacd23 Standardize repo file 2025-12-14 18:22:19 -05:00
b62ba38c49 1.35.5 release 2025-11-25 10:44:24 -05:00
37d3f643a5 Bump final MC34 version 2025-11-25 10:43:40 -05:00
be9f594b25 Update docs for new repo location 2025-11-22 13:16:37 -05:00
5bcbc9a935 1.35.4 release 2025-11-22 04:06:23 -05:00
1f61ec4888 Change SCRIPT_URL for gitea path 2025-11-22 04:06:05 -05:00
3c8ed002bb 1.35.3 release 2025-11-22 03:29:19 -05:00
7ef9669dec Update spec file for RPM 6.0 2025-11-21 21:25:15 -05:00
eb62392da7 Add RPM 6.0 support to rpmbuild 2025-11-21 16:07:49 -05:00
60961f8415 Add RPM 6.0 support to rpmbuild 2025-11-21 16:02:22 -05:00
e087248165 Add RPM 6.0 support to rpmbuild 2025-11-21 15:57:18 -05:00
90ea1e0fa4 Add RPM 6.0 support to rpmbuild 2025-11-21 15:49:36 -05:00
bafd812074 Add RPM 6.0 support to rpmbuild 2025-11-21 15:44:55 -05:00
75881d5ac1 Add RPM 6.0 support to rpmbuild 2025-11-21 15:38:07 -05:00
fd6d4d872f Add RPM 6.0 support to rpmbuild 2025-11-21 15:22:08 -05:00
c96ff1ed4b Use SHA256 checksums in rpmbuild 2025-11-21 15:00:11 -05:00
a37ae0b5f5 Run postbuild RPM routines 2025-11-21 14:49:47 -05:00
b8f64b3f0c Add rpm checksums 2025-11-21 14:41:28 -05:00
bcde2c252b 1.35.2 release 2025-11-21 13:20:46 -05:00
1f8f276258 Fix last MC34 version 2025-11-21 13:19:29 -05:00
ce46f50cd1 1.35.1 release 2025-11-21 13:10:54 -05:00
07878d97ce Update for MC35 2025-11-21 13:10:11 -05:00
d015f70ec2 Always install, don't reinstall MC RPMs 2025-11-13 09:23:22 -05:00
b4a80f5ba1 1.34.11 release 2025-11-07 23:24:58 -05:00
6dcf224b8e Remove unused var 2025-11-07 22:55:49 -05:00
5fb8e0e75f Workaround weird buildah FD 2025-11-07 22:20:56 -05:00
20e09ea15c Still print buildah rm debug 2025-11-07 22:13:16 -05:00
2ac055e827 Make buildah rm quiet 2025-11-07 22:11:30 -05:00
0ee91075fb Download deb to /tmp in container 2025-11-07 21:59:31 -05:00
3c7ef14aac Mounting container in buildah unshare 2025-11-07 21:52:16 -05:00
71ce48626f Make package manager operations noisier by default 2025-11-07 21:22:32 -05:00
f564980ec6 Temp debug 2025-11-07 20:36:34 -05:00
e040a94504 Temp debug 2025-11-07 20:34:42 -05:00
e913d57e17 Remove rootful buildah for cmd execution 2025-11-07 20:28:11 -05:00
61d9e2f98c Remove rootful buildah for deb download 2025-11-07 20:24:22 -05:00
148e821fa9 Remove rootful buildah for buildah checking 2025-11-07 20:20:01 -05:00
622e5d9295 Remove rootful buildah 2025-11-07 20:18:40 -05:00
71defe9672 Pass vars to working container instead of heredoc 2025-11-07 20:11:46 -05:00
60cfe6a19c Fix quoted repo names in containerized pm 2025-11-07 20:09:03 -05:00
c6eed2a89a Allow future full versions for --mcversion 2025-11-07 18:22:48 -05:00
f2c8865216 Print helper for future beta versions instead of scraping 2025-11-07 18:17:38 -05:00
fc1956dc04 Skip containerized version lookup for beta versions 2025-11-07 18:01:22 -05:00
533106cbd7 Allow future major beta versions 2025-11-07 17:54:51 -05:00
89499ddac8 Allow empty --install flag, default to repo method 2025-10-22 20:45:26 -04:00
e19422257d 1.34.10 release 2025-10-21 18:58:32 -04:00
4683ed4c0e Optionally rerun installJRMC on repo failure 2025-10-21 18:56:56 -04:00
8a38cbef41 Optionally rerun installJRMC on repo failure 2025-10-21 18:55:15 -04:00
d86b454be4 Optionally rerun installJRMC on repo failure 2025-10-21 18:53:15 -04:00
98a10f2539 1.34.9 release 2025-10-21 17:56:29 -04:00
373ec80694 Don't unset recommends namerefs 2025-10-21 17:55:01 -04:00
f7ddf6830e Remove buildah force flag 2025-10-21 17:49:08 -04:00
29ade7e11c Set MC_VERSION in all cases 2025-10-21 17:23:43 -04:00
c9ac0c94b0 Streamline user version handling 2025-10-21 17:04:12 -04:00
eda302ac11 Update default version 2025-10-21 15:06:03 -04:00
a975749b26 Remove explicit version check 2025-10-21 15:04:55 -04:00
da199b1278 Silence erroneous shellcheck warnings and update docs 2025-08-06 21:29:18 -04:00
c6429d563c Fix linting 2025-08-02 20:05:17 -04:00
a2de08da42 1.34.8 release 2025-08-02 10:58:05 -04:00
633938eb4d Fix python dependency on SUSE 2025-08-02 10:52:37 -04:00
3bbd846a3f 1.34.7 release 2025-08-01 21:02:06 -04:00
e6b51568f9 Re-add .bbcode 2025-08-01 20:49:43 -04:00
9b9b82d1af Tighten up output 2025-08-01 20:43:15 -04:00
f2016b6b50 install fakeroot on Arch 2025-08-01 20:22:54 -04:00
94e2bfa848 FIx one variable reassignment 2025-08-01 20:16:16 -04:00
cfc21cda14 Debug array 2025-08-01 19:57:49 -04:00
8ae3ae5915 Debug array 2025-08-01 19:55:58 -04:00
7bbe16b6a2 Try rough re-split 2025-08-01 19:54:18 -04:00
2ee1fd5b9c Improve array filtering for PKGBUILD 2025-08-01 19:50:49 -04:00
45be120254 Strip rpm array modifications 2025-08-01 19:40:59 -04:00
62f0b862c3 Install dpkg for Arch for consistency 2025-08-01 19:29:34 -04:00
c42f0a6dd3 Fix circular namerefs 2025-08-01 19:26:15 -04:00
e3777f0dec Remove colons from Arch recommends 2025-08-01 19:19:49 -04:00
9bae3a42c7 Fix derp 2025-08-01 19:16:54 -04:00
3587ac8db2 Refactor package translations on behalf of Arch 2025-08-01 18:14:39 -04:00
e390f36d84 Normailize CachyOS as Arch 2025-07-30 09:21:57 -04:00
de38073978 1.34.5 release 2025-07-28 17:19:58 -04:00
a0d6707d1c Ignore bbcode since gogs clobbers 2025-07-28 17:16:57 -04:00
61f5b2c19d Update .gitignore and add new README 2025-07-28 17:14:29 -04:00
54923fd212 Rename README for gogs precedence 2025-07-28 17:12:47 -04:00
df9c1ccbea Keep /home/bryan consistent 2025-07-11 20:56:24 -04:00
d62f844371 Fix bad .jriver permissions more gracefully 2025-07-11 20:55:24 -04:00
f2d08bc3e6 Add debug output 2025-07-11 20:43:10 -04:00
ce2b1e70c6 Clobber repo files (more automatic) 2025-07-11 20:38:12 -04:00
1e1e7e3792 Make package update less noisy 2025-07-11 20:35:50 -04:00
c44bfe8aa3 Format and test 2025-07-11 20:12:10 -04:00
10d9e9e213 Remove uncessary warnings 2025-07-11 20:09:02 -04:00
f80f9ccd08 Add testing debug output 2025-07-11 19:52:38 -04:00
175c6deb5a Make package scrape prettier 2025-07-11 19:51:18 -04:00
9d8e338872 Make package scrape prettier 2025-07-11 19:50:01 -04:00
558c7a059c More explicitly fix .jriver dir permissions 2025-07-11 19:44:12 -04:00
f92a89c99c Quiet containerized package manager warning 2025-07-11 19:32:29 -04:00
68c03ab186 Make sure we pop commits after git update 2025-07-11 19:28:17 -04:00
9587308d84 Improve verbiage 2025-07-11 19:12:35 -04:00
3848e880ed Simplify build_rpm() 2025-07-11 19:09:52 -04:00
dc16e06ea8 Use --install=local by default on Mandriva 2025-07-11 18:59:26 -04:00
c5921c33cc Tighten up Mandriva support 2025-07-11 18:54:14 -04:00
0795491d61 Add Mandriva support 2025-07-11 17:55:26 -04:00
eb8664d7e5 1.34.3 release 2025-06-18 13:32:55 -04:00
c0c25cbea3 Remove sdbus requires 2025-06-18 12:05:15 -04:00
1d41d6377f chown ~/.jriver as USER 2025-06-17 18:42:16 -04:00
a82ae73303 Add more SUSE recommends 2025-06-17 17:59:24 -04:00
a2785cec43 1.34.2 release 2025-06-16 22:52:06 -04:00
a6499ee5b8 Fix sdbus package name 2025-06-16 22:41:24 -04:00
8b70653b63 Add new sdbus package support 2025-06-16 22:27:08 -04:00
8aa01958ff 1.34.1 release 2025-06-02 20:12:18 -04:00
dc0eaed0f6 Use internal package name 2025-06-02 20:06:51 -04:00
f227050f6c Fix rpm --query lookup for --reinstall 2025-06-02 20:04:20 -04:00
d3c049818a Make install_mesa_freeworld fedora-specific 2025-06-02 19:56:54 -04:00
17512a2c00 Improve recommends for freeworld packages on fedora 2025-06-02 19:49:00 -04:00
444ebbfa25 Improve recommends for freeworld packages on fedora 2025-06-02 19:46:54 -04:00
8de1608a77 Also remove /usr/lib/jriver 2025-06-02 19:25:24 -04:00
361dcb8ce3 Return successfully 2025-06-02 19:17:39 -04:00
8af309488d Re-enable dnf reinstalls 2025-06-02 19:13:46 -04:00
d5aecc6902 Disable CoW recursively in ~/.jriver 2025-06-02 18:51:40 -04:00
82b31361d4 Only disable CoW for ~/.jriver 2025-06-02 18:50:05 -04:00
96d6044c85 Make temp repos more prolific 2025-06-02 18:18:08 -04:00
71c21bf084 Simplify legacy checks 2025-06-02 17:28:26 -04:00
8388a3ab26 Streamline version check 2025-06-02 17:12:21 -04:00
9b978e43b7 Clobber repo file 2025-06-02 17:09:10 -04:00
4b166fd025 use a single suite 2025-06-02 17:03:12 -04:00
de2032d389 Add temp debug 2025-06-02 16:57:58 -04:00
f21e162177 Selectively remove repo files for --uninstall 2025-06-02 16:41:32 -04:00
768e00dff3 Ask to backup and reset library on --uninstall 2025-06-02 16:36:34 -04:00
5e890900f2 Ask to backup and reset library on --uninstall 2025-06-02 16:33:35 -04:00
18a3ae02fa Narrow --uninstall output 2025-06-02 16:20:56 -04:00
c729f1fb9b Allow --uninstall to be used seamlessly before other operations 2025-06-02 16:16:12 -04:00
cc7c1d4c5f Also uninstall installJRMC output 2025-06-02 15:56:27 -04:00
36548581d3 Return on successful license restore 2025-06-02 15:33:10 -04:00
605dc78cf8 Cleanup documentation 2025-06-02 15:26:30 -04:00
8b464fffc7 Add README.bbcode 2025-06-02 13:45:28 -04:00
eb9c9fbf9d Rollup for new minor version, may be buggy 2025-06-02 13:43:23 -04:00
afb9ff6ed5 Make createrepo noisier 2025-05-06 14:55:06 -04:00
dfac619e9d Append dev to version name 2025-04-28 21:21:29 -04:00
005fe17298 Pass --mcrepo to createrepo service 2025-04-28 21:15:25 -04:00
190a6e7b10 Move UID check after parse 2025-04-28 21:07:11 -04:00
9d0c484aa0 1.6.5 release 2025-04-28 20:14:10 -04:00
ca5e1ef2f6 Update defaults for MC34 2025-04-28 19:19:20 -04:00
4 changed files with 908 additions and 553 deletions

148
.README.bbcode Normal file
View File

@@ -0,0 +1,148 @@
[size=20pt]installJRMC[/size]
This program installs [url=https://www.jriver.com/]JRiver Media Center[/url] and associated services on most Linux distributions.
You can find the latest version of installJRMC, changelog, and documentation in [url=https://git.bryanroessler.com/bryan/installJRMC]my repository[/url].
[size=18pt]tl;dr (One-line MC install)[/size]
[code]curl https://git.bryanroessler.com/bryan/installJRMC/raw/branch/master/installJRMC|bash[/code]
[size=18pt]Instructions[/size]
Download and unzip installJRMC from the attachment below or grab the latest stable version directly:
[code]curl -O https://git.bryanroessler.com/bryan/installJRMC/raw/branch/master/installJRMC &&
chmod +x ./installJRMC &&
./installJRMC [--option [ARGUMENT]]
[/code]
[tt]installJRMC[/tt] defaults to [tt]--install=repo[/tt] on distros with MC repositories and [tt]--install=local[/tt] on all others.
Specifying [tt]--build[/tt], [tt]--createrepo[/tt], [tt]--service[/tt], or [tt]--uninstall[/tt] disables the default install method.
[size=18pt]Options[/size]
[code]
$ installJRMC --help
--install, -i repo|local
repo: Install MC from repository, future updates will be handled by the system package manager.
local: Build and install MC package from official source package.
--build[=suse|fedora|centos]
Build RPM from source DEB but do not install.
Optionally, specify a target distro for cross-building (ex. --build=suse, note the '=').
--compat
Build/install MC without minimum dependency version requirements.
--mcversion VERSION
Specify the MC version, ex. "33", "35.0.24", or "35.0.24-1" (default: latest).
--arch ARCH
Specify the target MC architecture, ex. "amd64", "arm64", etc (default: host architecture).
--mcrepo REPO
Specify the MC repository, ex. "bullseye", "bookworm", "noble", etc (default: host or official).
--outputdir PATH
Generate reusable installJRMC output in this PATH (default: ./output).
--restorefile RESTOREFILE
Restore file location for automatic license registration.
--betapass PASSWORD
Enter beta team password for access to beta builds.
--service, -s SERVICE
See SERVICES section below for the list of services to deploy.
--service-type user|system
Starts services at boot (system) or user login (user) (default: per-service, see SERVICES).
--container, -c CONTAINER (TODO: Under construction)
See CONTAINERS section below for a list of containers to deploy.
--createrepo[=suse|fedora|centos]
Build rpm, copy to webroot, and run createrepo.
Optionally, specify a target distro for non-native repo (ex. --createrepo=fedora, note the '=').
--createrepo-webroot PATH
The webroot directory to install the repo (default: /var/www/jriver/).
--createrepo-user USER
The web server user if different from the current user.
--no-update
Disable the installJRMC update check.
--yes, -y, --auto
Always assumes yes for questions.
--version, -v
Print installJRMC version and exit.
--debug, -d
Print debug output.
--help, -h
Print help dialog and exit.
--uninstall, -u
Uninstall JRiver MC, service files, firewall rules, etc.
[/code]
[size=18pt]Services[/size]
[code]jriver-mediaserver (user)
Enable and start a mediaserver systemd service (requires an existing X server).
jriver-mediacenter (user)
Enable and start a mediacenter systemd service (requires an existing X server).
jriver-x11vnc (user)
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 (system)
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 else no password.
--display DISPLAY
Manually specify display to use for x11vnc/Xvnc (ex. ':1').
jriver-createrepo (system)
Install hourly service to build latest MC RPM and run createrepo.
[/code]
Services use a sane default [tt]--service-type[/tt] listed next to the service name in the Services description.
User services can be manipulated as an unprivileged user, for example: [tt]systemctl --user stop jriver-mediacenter[/tt] and begin at user login.
System services are manipulable as root, for example: [tt]sudo systemctl stop jriver-servicename@username.service[/tt] and begin at system boot.
Note that it is possible to run all services of a particular user at boot using [tt][url=https://www.freedesktop.org/software/systemd/man/loginctl.html]sudo loginctl enable-linger username[/url][/tt].
Multiple services (but not [tt]--service-types[/tt]) can be installed at one time using multiple [tt]--service[/tt] blocks:
[code]installJRMC --install repo --service jriver-x11vnc --service jriver-mediacenter[/code]
[size=14pt][tt]jriver-x11vnc[/tt] versus [tt]jriver-xvnc[/tt][/size]
[url=http://www.karlrunge.com/x11vnc/]jriver-x11vnc[/url] shares your existing X display via VNC and can be combined with additional services to start Media Center or Media Server. Conversely, [url=https://tigervnc.org/doc/Xvnc.html]jriver-xvnc[/url] creates a new Xvnc display and starts a JRiver Media Center service in the foreground of the new VNC display.
[size=18pt]Containers[/size]
[b]Coming soon![/b]
[size=18pt]Firewall[/size]
installJRMC automatically creates port forwarding firewall rules for remote access to Media Network (52100-52200/tcp, 1900/udp DLNA) and Xvnc/x11vnc (if selected), using firewall-cmd or ufw (if available).
[size=18pt]Other Nicities[/size]
[list]
[*]Automatically updates [tt]installJRMC[/tt] to the latest release.
[*]Activates external third-party repositories for improved media playback (hardware decoding, etc.).
[*]Adds temporary legacy repositories to provide deprecated libraries.
[*]Links non-standard SSL certs.
[*]Activates MC if a valid license file is found in common locations.
[/list]
[size=18pt]Examples[/size]
[code]installJRMC[/code]
Install the latest version of MC from the best available repository.
[code]installJRMC --mcversion 33 --debug[/code]
Install the latest version of MC33 from the best available repository with debugging output.
[code]installJRMC --install local --compat[/code]
Install a more widely-compatible version of the latest MC version.
[code]installJRMC --install repo --service jriver-mediacenter --service-type user[/code]
Install MC from the repository and start/enable jriver-mediacenter.service as a user service.
[code]installJRMC --install local --compat --restorefile /path/to/license.mjr --mcversion 35.0.24[/code]
Build and install an MC 35.0.24 comptability RPM locally and activate it using the [tt]/path/to/license.mjr[/tt].
[code]installJRMC --createrepo --createrepo-webroot /srv/jriver/repo --createrepo-user www-user[/code]
Build an RPM locally for the current distro, move it to the webroot, and run createrepo as www-user.
[code]installJRMC --service jriver-createrepo --createrepo-webroot /srv/jriver/repo --createrepo-user www-user[/code]
Install the jriver-createrepo timer and service to build the RPM, move it to the webroot, and run createrepo as www-user hourly.
[code]installJRMC --install repo --service jriver-x11vnc --service jriver-mediacenter --vncpass "letmein"[/code]
Install services to share the existing local desktop via VNC and automatically run MC on startup.
[code]installJRMC --install repo --service jriver-xvnc --display ":2"[/code]
Install an Xvnc server on display ':2' that starts MC.
[code]installJRMC --uninstall[/code]
Uninstall MC, services, and firewall rules. This will [b]not[/b] remove your media, media library/database, or library backups.
[size=18pt]Additional Info[/size]
Did you find installJRMC useful? [url=https://paypal.me/bryanroessler]Paypal me a coffee![/url]
[url=bitcoin:bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a]↓ ↓ ↓ Bitcoin ↓ ↓ ↓[/url]
[url=bitcoin:bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a][img]https://repos.bryanroessler.com/files/bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a.png[/img][/url]

3
.gitignore vendored
View File

@@ -1,6 +1,7 @@
.old/ .old/
.vscode/ .vscode/
README.bbcode
installJRMC.zip installJRMC.zip
README.shdoc.md README.shdoc.md
README.bbcode
output/ output/
*.code-workspace

110
README.md
View File

@@ -1,98 +1,96 @@
# installJRMC # installJRMC
This self-contained program will install [JRiver Media Center](https://www.jriver.com/) and associated services on most Linux distributions. Installs [JRiver Media Center](https://www.jriver.com/) and associated services on most Linux distributions.
You can find the latest version of installJRMC, changelog, and documentation in [my repository](https://git.bryanroessler.com/bryan/installJRMC). You can find the latest version of installJRMC, changelog, and documentation in [my repository](https://git.bryanroessler.com/bryan/installJRMC).
## Executing ## Usage
`installJRMC [--option [ARGUMENT]]` `installJRMC [--option [ARGUMENT]]`
Running `installJRMC` without any options implies `--install repo` (on SUSE: `--install local`) and will install the latest version of Media Center from the official JRiver repository (Ubuntu/Debian) or my [unofficial repository](https://repos.bryanroessler.com/jriver/) (Fedora/CentOS) using the system package manager. If `--service` or `--container` is passed then the default install method (`--install repo` or `--install local`) must be specified (to allow services and containers to be installed independent of MC). `installJRMC` defaults to `--install=repo` on distros with Media Center repositories and `--install=local` on others.
Specifying `--build`, `--createrepo`, `--service`, or `--uninstall` disables the default install method.
Recent versions of installJRMC will automatically self-update to the latest installJRMC release. ### tl;dr
## tl;dr `curl https://git.bryanroessler.com/bryan/installJRMC/raw/branch/master/installJRMC|bash`
`curl https://git.bryanroessler.com/bryan/installJRMC/raw/master/installJRMC|bash`
## Options ## Options
```text ```text
$ installJRMC --help $ installJRMC --help
--install, -i repo|local --install, -i repo|local
repo: Install MC from repository, future updates will be handled by the system package manager repo: Install MC from repository, future updates will be handled by the system package manager.
local: Build and install MC package locally from official source package local: Build and install MC package locally from official source package.
--build[=suse|fedora|centos] --build[=suse|fedora|centos|mandriva]
Build RPM from source DEB but do not install Build RPM from source DEB but do not install.
Optionally, specify a target distro for cross-building (ex. --build=suse, note the '=') Optionally, specify a target distro for cross-building (ex. --build=suse, note the '=').
--compat --compat
Build/install MC without minimum dependency version requirements Build/install MC without minimum dependency version requirements.
--mcversion VERSION --mcversion VERSION
Build or install a specific MC version, ex. "33.0.72" or "33" (default: latest) Build or install a specific MC version, ex. "35.0.24" or "33" (default: latest).
--mcrepo REPO --mcrepo REPO
Specify the MC repository, ex. "bullseye", "bookworm", "noble", etc (default: latest official) Specify the MC repository, ex. "bullseye", "bookworm", "noble", etc (default: latest official).
--arch ARCH --arch ARCH
Specify the MC architecture, ex. "amd64", "arm64", etc (default: host architecture) Specify the MC architecture, ex. "amd64", "arm64", etc (default: host architecture).
--outputdir PATH --outputdir PATH
Generate rpmbuild output in this PATH (default: ./output) Generate rpmbuild output in this PATH (default: ./output).
--restorefile RESTOREFILE --restorefile RESTOREFILE
Restore file location for automatic license registration Restore file location for automatic license registration.
--betapass PASSWORD --betapass PASSWORD
Enter beta team password for access to beta builds Enter beta team password for access to beta builds.
--service, -s SERVICE --service, -s SERVICE
See SERVICES section below for the list of services to deploy See SERVICES section below for the list of services to deploy.
--service-type user|system --service-type user|system
Starts services at boot (system) or user login (user) (default: per-service, see SERVICES) Starts services at boot (system) or user login (user) (default: per-service, see SERVICES).
--container, -c CONTAINER (TODO: Under construction) --container, -c CONTAINER (TODO: Under construction)
See CONTAINERS section below for a list of containers to deploy See CONTAINERS section below for a list of containers to deploy.
--createrepo[=suse|fedora|centos] --createrepo[=suse|fedora|centos|mandriva]
Build rpm, copy to webroot, and run createrepo. Build rpm, copy to webroot, and run createrepo.
Optionally, specify a target distro for non-native repo (ex. --createrepo=fedora, note the '=') Optionally, specify a target distro for non-native repo (ex. --createrepo=fedora, note the '=').
--createrepo-webroot PATH --createrepo-webroot PATH
The webroot directory to install the repo (default: /var/www/jriver/) The webroot directory to install the repo (default: /var/www/jriver/).
--createrepo-user USER --createrepo-user USER
The web server user if different from the current user The web server user if different from the current user.
--no-update --no-update
Disable the installJRMC update check Disable the installJRMC update check.
--yes, -y, --auto --yes, -y, --auto
Always assume yes for questions Always assume yes for questions.
--version, -v --version, -v
Print this script version and exit Print installJRMC version and exit.
--debug, -d --debug, -d
Print debug output Print debug output.
--help, -h --help, -h
Print help dialog and exit Print help dialog and exit.
--uninstall, -u --uninstall, -u
Uninstall JRiver MC, service files, and firewall rules (does not remove library or media files) Uninstall JRiver MC, service files, and firewall rules (does not remove library or media files).
``` ```
### `--service=` ### `--service=`
```text ```text
jriver-mediaserver [--service-type=user] jriver-mediaserver [--service-type=user]
Enable and start a mediaserver systemd service (requires an existing X server) Enable and start a mediaserver systemd service (requires an existing X server).
jriver-mediacenter [--service-type=user] jriver-mediacenter [--service-type=user]
Enable and start a mediacenter systemd service (requires an existing X server) Enable and start a mediacenter systemd service (requires an existing X server).
jriver-x11vnc [--service-type=user] jriver-x11vnc [--service-type=user]
Enable and start x11vnc for the local desktop (requires an existing X server, does NOT support Wayland) 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) --vncpass and --display are also valid options (see below).
jriver-xvnc [--service-type=system] jriver-xvnc [--service-type=system]
Enable and start a new Xvnc session running JRiver Media Center Enable and start a new Xvnc session running JRiver Media Center.
--vncpass PASSWORD --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 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 DISPLAY
Manually specify display to use for x11vnc/Xvnc (ex. ':1') Manually specify display to use for x11vnc/Xvnc (ex. ':1').
jriver-createrepo [--service-type=system] jriver-createrepo [--service-type=system]
Install hourly service to build latest MC RPM and run createrepo Install hourly service to build latest MC RPM and run createrepo.
By default installs as root service to handle www permissions more gracefully
``` ```
#### `--service-type=` #### `--service-type=`
By default, MC services use a sane `--service-type` listed next to the service name in the [`--service=`](#--service) section. User services begin at user login and are managed by the unprivileged user, for example: `systemctl --user stop jriver-mediacenter`. System services begin at boot and are managed by root, for example: `sudo systemctl stop jriver-servicename@username.service`. It is possible to run all services of a particular user at boot using [`sudo loginctl enable-linger username`](https://www.freedesktop.org/software/systemd/man/loginctl.html). Services use a sane default `--service-type` listed next to the service name in the [`--service=`](#--service) section. User services begin at user login and are managed by the unprivileged user, for example: `systemctl --user stop jriver-mediacenter`. System services begin at boot and are managed by root, for example: `sudo systemctl stop jriver-servicename@username.service`. It is possible to run all services of a particular user at boot using [`sudo loginctl enable-linger username`](https://www.freedesktop.org/software/systemd/man/loginctl.html).
Multiple services (but not `--service-types`) can be installed at one time using multiple `--service` blocks: `installJRMC --install repo --service jriver-x11vnc --service jriver-mediacenter` Multiple services (but not `--service-types`) can be installed at one time using multiple `--service` blocks: `installJRMC --install=repo --service=jriver-x11vnc --service=jriver-mediacenter`
#### `jriver-x11vnc` versus `jriver-xvnc` #### `jriver-x11vnc` versus `jriver-xvnc`
@@ -104,9 +102,15 @@ Multiple services (but not `--service-types`) can be installed at one time using
## Firewall ## Firewall
`installJRMC` automatically creates port forwarding firewall rules for remote access to Media Network (52100-52200/tcp, 1900/udp DLNA) and Xvnc/x11vnc (if selected), using `firewall-cmd` or `ufw`. `installJRMC` automatically creates port forwarding firewall rules for remote access to Media Network (52100-52200/tcp, 1900/udp DLNA) and Xvnc/x11vnc (if selected), using `firewall-cmd` or `ufw` (if available).
**Note:** `ufw` is not installed by default on Debian but will be installed by `installJRMC`. To prevent SSH lock-out, Debian users that have not already enabled `ufw` will need to `sudo ufw enable` after running `installJRMC` and inspecting their configuration. ## Other Nicities
* Automatically updates `installJRMC` to the latest release.
* Activates external third-party repositories for improved media playback (hardware decoding, etc.).
* Adds temporary legacy repositories to provide deprecated libraries.
* Links non-standard SSL certs.
* Activates MC if a valid license file is found in common locations.
## Examples ## Examples
@@ -114,9 +118,9 @@ Multiple services (but not `--service-types`) can be installed at one time using
Install the latest version of MC from the best available repository. Install the latest version of MC from the best available repository.
* `installJRMC --mcversion 32 --debug` * `installJRMC --mcversion 33 --debug`
Install the latest version of MC32 from the best available repository with debugging output. Install the latest version of MC33 from the best available repository with debugging output.
* `installJRMC --install local --compat` * `installJRMC --install local --compat`
@@ -126,9 +130,9 @@ Multiple services (but not `--service-types`) can be installed at one time using
Install MC from the repository and start/enable `jriver-mediacenter.service` as a user service. Install MC from the repository and start/enable `jriver-mediacenter.service` as a user service.
* `installJRMC --install local --compat --restorefile /path/to/license.mjr --mcversion 33.0.72` * `installJRMC --install local --compat --restorefile /path/to/license.mjr --mcversion 35.0.24`
Build and install an MC 33.0.72 compatibility RPM locally and activate it using the `/path/to/license.mjr` Build and install an MC 35.0.24 compatibility RPM locally and activate it using the `/path/to/license.mjr`.
* `installJRMC --createrepo --createrepo-webroot /srv/jriver/repo --createrepo-user www-user` * `installJRMC --createrepo --createrepo-webroot /srv/jriver/repo --createrepo-user www-user`
@@ -152,6 +156,10 @@ Multiple services (but not `--service-types`) can be installed at one time using
## Additional Info ## Additional Info
Did you find `installJRMC` useful? [Buy me a coffee!](https://paypal.me/bryanroessler) Find a bug? [Let me know on Interact!](https://yabb.jriver.com/interact/index.php/topic,141168.0.html)
Did you find a bug? Let me know on [Interact!](https://yabb.jriver.com/interact/index.php/topic,134152.0.html) Find `installJRMC` useful? [Paypal me a coffee!](https://paypal.me/bryanroessler)
[↓ ↓ ↓ Bitcoin ↓ ↓ ↓](bitcoin:bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a)
[![Bitcoin](https://repos.bryanroessler.com/files/bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a.png)](bitcoin:bc1q7wy0kszjavgcrvkxdg7mf3s6rh506rasnhfa4a)

File diff suppressed because it is too large Load Diff