1 İşleme

Yazar SHA1 Mesaj Tarih
8ec0a2733f Update README 2020-04-29 14:25:59 -04:00
6 değiştirilmiş dosya ile 1485 ekleme ve 2266 silme

Dosyayı Görüntüle

@@ -1,148 +0,0 @@
[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]

15
.atom-build.yml Çalıştırılabilir dosya
Dosyayı Görüntüle

@@ -0,0 +1,15 @@
cmd: 'echo "Pick a command (see .atom-build.yml)"'
name: ''
targets:
# Fedora
Run silently in Fedora:
cmd: 'buildWrapper podmanRunEasy -m ephemeral -i fedora:latest -n installJRMC -w {FILE_ACTIVE_PATH} --silent --mkexec --systemd {FILE_ACTIVE}'
Run debug in Fedora:
cmd: 'buildWrapper podmanRunEasy -m ephemeral -i fedora:latest -n installJRMC -w {FILE_ACTIVE_PATH} --debug --mkexec --systemd {FILE_ACTIVE}'
# Ubuntu
Run build silently in Ubuntu:
cmd: 'buildWrapper podmanRunEasy -m ephemeral -i ubuntu:latest -n installJRMC -w {FILE_ACTIVE_PATH} -d {FILE_ACTIVE_PATH}/RPMS --silent --mkexec {FILE_ACTIVE} --debug --build --container'
Run createrepo silently in Ubuntu:
cmd: 'buildWrapper podmanRunEasy -m ephemeral -i ubuntu:latest -n installJRMC -w {FILE_ACTIVE_PATH} -d {FILE_ACTIVE_PATH}/output/RPMS --silent --mkexec {FILE_ACTIVE} --debug --createrepo'
Run debug in Ubuntu:
cmd: 'buildWrapper podmanRunEasy -m ephemeral -i ubuntu:latest -n installJRMC -w {FILE_ACTIVE_PATH} --debug --mkexec {FILE_ACTIVE} --debug --container'

10
.gitignore sağlanmış
Dosyayı Görüntüle

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

21
Containerfile Normal dosya
Dosyayı Görüntüle

@@ -0,0 +1,21 @@
FROM fedora:latest
LABEL maintainer="bryanroessler@gmail.com"
RUN dnf install dpkg rpm-build createrepo httpd -y
RUN curl -sO "https://git.bryanroessler.com/bryan/install_MC_fedora/raw/master/install_MC_fedora.sh" \
&& chmod +x ./install_MC_fedora.sh \
&& ./install_MC_fedora.sh -b
RUN dnf clean all
COPY root/ /
RUN systemctl enable httpd build-jriver-repo.timer
EXPOSE 80
CMD [ "/usr/sbin/init" ]
# podman build -t build-jriver-repo .
# podman run -d -p 8081:80 localhost/build-jriver-repo

183
README.md Çalıştırılabilir dosya → Normal dosya
Dosyayı Görüntüle

@@ -1,165 +1,126 @@
# installJRMC # installJRMC
Installs [JRiver Media Center](https://www.jriver.com/) and associated services on most Linux distributions. This program will install [JRiver Media Center](https://www.jriver.com/) and assocaited helper services on Fedora (>=29), CentOS (>=8), Ubuntu (>=16.04), and Debian (>=9).
You can find the latest version of installJRMC, changelog, and documentation in [my repository](https://git.bryanroessler.com/bryan/installJRMC). ## Notes
## Usage 1. This script will not point major upgrades (i.e. from v25 to v26) 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. In *most* cases `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.
`installJRMC [--option [ARGUMENT]]`
`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.
### tl;dr
`curl https://git.bryanroessler.com/bryan/installJRMC/raw/branch/master/installJRMC|bash`
## Options ## Options
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](https://repos.bryanroessler.com/jriver/) (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 create services, containers, repos, etc. separate from installing Media Center.
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`.
```text ```text
$ installJRMC --help --install-repo
--install, -i repo|local Install JRiver Media Center from repository using package manager (Default)
repo: Install MC from repository, future updates will be handled by the system package manager. DEB-based OSes: Official package repository
local: Build and install MC package locally from official source package. RPM-based OSes: BryanC's unofficial repository
--build[=suse|fedora|centos|mandriva] --install-rpmbuild
Build RPM from source DEB but do not install. (RPM-based OSes only) Build RPM from source DEB and install it
Optionally, specify a target distro for cross-building (ex. --build=suse, note the '='). --rpmbuild
--compat Build RPM from source DEB
Build/install MC without minimum dependency version requirements.
--mcversion VERSION
Build or install a specific MC version, ex. "35.0.24" or "33" (default: latest).
--mcrepo REPO
Specify the MC repository, ex. "bullseye", "bookworm", "noble", etc (default: latest official).
--arch ARCH
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 directory (Default: $PWD/outputdir)
--mcversion VERSION
Build or install a specific version (Default: scrape the latest version from Interact)
--restorefile RESTOREFILE --restorefile RESTOREFILE
Restore file location for automatic license registration. Restore file location for registration (Default: skip registration)
--betapass PASSWORD --betapass PASSWORD
Enter beta team password for access to beta builds. Enter beta team password for access to beta builds
--service-user USER
Install systemd services and containers for USER
--service, -s SERVICE --service, -s SERVICE
See SERVICES section below for the list of services to deploy. See SERVICES section below for a list of possible services to install
--service-type user|system --container, -c CONTAINER
Starts services at boot (system) or user login (user) (default: per-service, see SERVICES). See CONTAINERS section below for a list of possible services to install
--container, -c CONTAINER (TODO: Under construction) --createrepo
See CONTAINERS section below for a list of containers to deploy. Build rpm, copy to webroot, and run createrepo
--createrepo[=suse|fedora|centos|mandriva] --createrepo-webroot PATH
Build rpm, copy to webroot, and run createrepo. The webroot directory to install the repo (Default: /srv/jriver/)
Optionally, specify a target distro for non-native repo (ex. --createrepo=fedora, note the '='). --createrepo-user USER
--createrepo-webroot PATH The web server user (Default: current user)
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 assume yes for questions.
--version, -v --version, -v
Print installJRMC version and exit. Print this script 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, cleanup service files, and remove firewall rules (does not remove library files)
``` ```
### `--service=`
### 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.
```text ```text
jriver-mediaserver [--service-type=user] jriver-mediaserver
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
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-mediacenter
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)
--vncpass and --display are also valid options (see below).
jriver-xvnc [--service-type=system]
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'). Display to start x11vnc/Xvnc (Default: The current display (x11vnc) or the
jriver-createrepo [--service-type=system] current display incremented by 1 (Xvnc))
Install hourly service to build latest MC RPM and run createrepo. jriver-xvnc-mediacenter
Enable and start an Xvnc session running JRiver Media Center
--vncpass and --display are also valid options (see above)
jriver-createrepo
Install hourly service to build latest MC RPM and run createrepo
``` ```
#### `--service-type=` ##### `jriver-x11vnc-mediaserver` versus `jriver-xvnc-mediacenter`
`x11vnc` shares your existing X display via vnc and starts a minimized JRiver Media Center service. Conversely, `xvnc` creates a new VNC display and starts a JRiver Media Center service in the foreground. The requisite firewall rules will also be added to the system firewall to enable remote access.
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). **Note**: If `jriver-xvnc-mediacenter` finds an existing display it will attempt to increment the display number by 1. This should work fine in 99% of cases, but if you have multiple running X servers on your host machine you should use the `--display` option to specify a free display.
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` ### containers
[jriver-x11vnc](http://www.karlrunge.com/x11vnc/) shares the existing X display via VNC and can be combined with additional services to start Media Center or Media Server. Conversely, [jriver-xvnc](https://tigervnc.org/doc/Xvnc.html) creates a new Xvnc display and starts a JRiver Media Center service in the foreground of the new VNC display.
### Containers
**Coming soon!** **Coming soon!**
## 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` (if available).
## 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
* `installJRMC` * `installJRMC`
Install the latest version of MC from the best available repository. Installs the latest version of JRiver Media Center from the repository.
* `installJRMC --mcversion 33 --debug` * `installJRMC --install-repo --service jriver-mediaserver`
Install the latest version of MC33 from the best available repository with debugging output. Installs JRiver Media Center from the repository and starts/enables the mediaserver service.
* `installJRMC --install local --compat` * `installJRMC --install-rpmbuild --restorefile /path/to/license.mjr --mcversion 26.0.56`
Install a more widely-compatible version of the latest MC (for older distros). Builds JRiver Media Center version 26.0.56 RPM from the source DEB, installs it (RPM distros only), and activates it using the specified .mjr license file.
* `installJRMC --install repo --service jriver-mediacenter --service-type user`
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 35.0.24`
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`
Build an RPM locally for the current distro, move it to the webroot, and run createrepo as `www-user`. Builds the RPM, moves it to the webroot, and runs createrepo as `www-user`.
* `installJRMC --service jriver-createrepo --createrepo-webroot /srv/jriver/repo --createrepo-user www-user` * `installJRMC --service jriver-createrepo --createrepo-webroot /srv/jriver/repo --createrepo-user www-user`
Install the jriver-createrepo timer and service to build the RPM, move it to the webroot, and run createrepo as `www-user` hourly. Installs the jriver-createrepo timer and service to build the RPM, move it to the webroot, and run createrepo as `www-user` hourly.
* `installJRMC --install repo --service jriver-x11vnc --service jriver-mediacenter --vncpass "letmein"` * `installJRMC --install-repo --service jriver-x11vnc-mediaserver --vncpass "letmein"`
Install services to share the existing local desktop via VNC and automatically run MC on startup. Installs services to share the existing local desktop via VNC and automatically run a minimized instance of Media Center (Media Server).
* `installJRMC --install repo --service jriver-xvnc --display ":2"` * `installJRMC --install-repo --service jriver-xvnc-mediacenter --display ":2"`
Install an Xvnc server on display ':2' that starts MC. Installs a service that starts Xvnc on display ':2' that just runs Media Center.
* `installJRMC --uninstall` * `installJRMC --uninstall`
Uninstall MC, services, and firewall rules. This will **not** remove your media, media library/database, or library backup folder. Uninstalls JRiver Media Center and its associated services and firewall rules. This will **not** remove your media, media library/database, or automated library backup folder.
## Additional Info ## Additional Info
Did you find `installJRMC` useful? [Buy me a coffee!](https://paypal.me/bryanroessler?locale.x=en_US)
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,123648.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)

Dosya farkı çok büyük olduğundan ihmal edildi Fark Yükle