Compare commits

...

4 Commits

Author SHA1 Message Date
0fe80c0a1c Add examples to --help 2023-01-26 21:47:46 -05:00
f4a87005a9 Update README 2023-01-26 21:44:14 -05:00
bc20bf535b Cleanup help 2023-01-26 21:37:16 -05:00
fbd2a63839 Update README 2023-01-26 21:36:28 -05:00
2 changed files with 38 additions and 86 deletions

110
README.md
View File

@@ -1,99 +1,45 @@
# openwrtbuilder # openwrtbuilder
This program will install [JRiver Media Center](https://www.jriver.com/) (JRMC) and associated services on most major Linux distros. Sanely build and deploy OpenWRT images using the Image Builder (or git source)
## Executing ## Usage
`openwrtbuilder [--option [ARGUMENT]]` `openwrtbuilder [--option [VALUE]]... -p PROFILE [-p PROFILE]...`
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 (`--install repo`). If any other option is specified, then the default install method (i.e. `--install repo` or `--install local`) will need to be explicitly specified. This makes it possible to install services and containers independent of MC.
**Note**: As of 1.0b14 major version library migrations are performed if the destination config directory `$HOME/.jriver/Media Center XX` is missing for major release `XX`. However, it is still a good idea to create a manual library backup before migrating major versions.
## Options ## Options
```text ```(text)
$ installJRMC --help --profile,-p PROFILE
--install, -i repo|local --release,-r,--version,-v RELEASE ("snapshot", "22.03.3")
repo: Install MC from repository, future updates will be handled by the system package manager --buildroot,-b PATH
local: Build and install MC package locally Default: location of openwrtbuilder script
--build[=suse|fedora|centos] --source
Build RPM from source DEB but do not install Build image from source, not from Image Builder
Optionally, specify a target distro for cross-building (ex. --build=suse, note the '=') Allows make config options to be passed
--compat --ssh-upgrade HOST
Build/install MC without minimum library specifiers Example: root@192.168.1.1
--mcversion VERSION --ssh-backup SSH_PATH
Build or install a specific MC version, ex. "30.0.5" Enabled by default for --ssh-upgrade
--outputdir PATH --flash,-f DEVICE
Generate rpmbuild output in this PATH (Default: ./output) Example: /dev/sdX
--restorefile RESTOREFILE --reset
Restore file location for automatic license registration Cleanup all source and output files
--betapass PASSWORD Can be combined with -p to reset a specific profile
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: system)
--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
--version, -v
Print this script version and exit
--debug,-d --debug,-d
Print debug output
--help,-h --help,-h
Print help dialog and exit
--uninstall, -u
Uninstall JRiver MC, cleanup service files, and remove firewall rules (does not remove library or media files)
``` ```
## Profiles
See `./profiles` for example device profile definitions.
## Examples ## Examples
* `installJRMC` * `./openwrtbuilder -p r4s -r snapshot --debug`
* `./openwrtbuilder -p ax6000_stock -r 23.03.3 --source --debug`
Install the latest version of MC from the best available repository. * `./openwrtbuilder -p rpi4 -r 23.03.3 --flash /dev/sdX`
* `./openwrtbuilder -p linksys -r snapshot --ssh-upgrade root@192.168.1.1`
* `installJRMC --install local --compat`
Install a more widely-compatible version of the latest MC (for older distros).
* `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 30.0.17`
Build and install an MC 30.0.17 comptability RPM locally and activate it using the `/path/to/license.mjr`
* `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`.
* `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.
* `installJRMC --install repo --service jriver-x11vnc --service jriver-mediacenter --vncpass "letmein"`
Install services to share the existing local desktop via VNC and automatically run MC on startup.
* `installJRMC --install repo --service jriver-xvnc --display ":2"`
Install an Xvnc server on display ':2' that starts MC.
* `installJRMC --uninstall`
Uninstall MC 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 `openwrtbuilder` useful? [Buy me a coffee!](https://paypal.me/bryanroessler?locale.x=en_US) Did you find `openwrtbuilder` useful? [Buy me a coffee!](https://paypal.me/bryanroessler?locale.x=en_US)

View File

@@ -22,19 +22,25 @@ printHelp() {
--profile,-p PROFILE --profile,-p PROFILE
--release,-r,--version,-v RELEASE ("snapshot", "22.03.3") --release,-r,--version,-v RELEASE ("snapshot", "22.03.3")
--buildroot,-b PATH --buildroot,-b PATH
Defaults to location of openwrtbuilder script Default: location of openwrtbuilder script
--source --source
Build image from source, not from Image Builder Build image from source, not from Image Builder
--ssh-upgrade HOST --ssh-upgrade HOST
Example: root@192.168.1.1 Example: root@192.168.1.1
--ssh-backup SSH_PATH --ssh-backup SSH_PATH
(Enabled by default for --ssh-upgrade) Enabled by default for --ssh-upgrade
--flash,-f DEVICE --flash,-f DEVICE
Example: /dev/sdX Example: /dev/sdX
--reset --reset
Cleanup all source and output files Cleanup all source and output files
--debug,-d --debug,-d
--help,-h --help,-h
EXAMPLES
./openwrtbuilder -p r4s -r snapshot --debug
./openwrtbuilder -p ax6000_stock -r 23.03.3 --source --debug
./openwrtbuilder -p rpi4 -r 23.03.3 --flash /dev/sdX
./openwrtbuilder -p linksys -r snapshot --ssh-upgrade root@192.168.1.1
EOF EOF
} }