[WIP] Allow multiple installations of same blueprint (#88)
* Multi-install support, Blueprints and config changes. Initial commit * Migrating jails to blueprints, first steps. Tested Working: - Transmission - Lidarr - Sonarr - Radarr fix lidarr config (+10 squashed commit) Squashed commit: [5f14653] always link ports folders [f18f2f0] Optional (blueprint) ports mount Fixes #89 [96ef7e7] chmod all the things [129e707] same mistake... again... [e1596dc] missing reference [6da3567] Forgot one reference [d78b5b6] Update wiki.yml [cecc53a] Update filecheck.yml [5244abd] basic settings changed. More involved blueprints still need changes, such as: Bitwarden, nextcloud, Mariadb [6568e92] jails -> blueprints * Added Tested Working: - KMS - Plex - Tautulli - Organizr - InfluxDB - MariaDB Many squashed small fixes included: Make *.rc executable (+13 squashed commit) Squashed commit: [b28aa83] use .rc for rc.d config files [e940a48] some mariadb cleanup [dc27aff] testing another way [83bd91b] Mariadb root password alter instead of update, initial config for unifi [0ca3074] some light config cleanup [a0d4352] also remove database from influxdb example config (db should be created when required) [2c218cc] Prepare influxdb and remove unneeded content [1b34109] more shellcheck fixups [c96566c] Some shellcheck cleanup [8969ca7] bitwarden mostly done, some work on nextcloud and unifi [7f89bfa] initial mariadb patch [dd7e85f] missed one problem [f814cb7] Initial pseudo-compatibility patch for unifi * Enable Bitwarden support and some small fixes/tweaks Fixes #95 more bugs and typo's (+3 squashed commit) Squashed commit: [3b5213e] Bitwarden not correctly installing db [b7438a5] yeah thats not gonna cut it... >.< [e7987c2] some slight bitwarden tweaks * Enable Unifi support and some small fixes/tweaks small unifi cleanup. Unifi is working (+3 squashed commit) Squashed commit: [d906d2d] chmod unifi [545e999] Add extra sanity, remove unneeded variables from example [b8c0b24] Some small Unifi Tweaks * Nextcloud Cleanup, Some fixes, Initial support for blueprintsystem Fixes #96 Fixes #97 Fixes #98 some bloat and syntax fixes (+5 squashed commit) Squashed commit: [78f6428] Some more nextcloud cleanup and tweaks - combines multiple variables for cert system selection (Fixes #98 ) - Default to self signed cert - Force manual admin password [7cacae4] slight fixes [3d81cda] More cleanup [50496cc] small mariadb fix and more nextcloud cleanup [c1b2c20] Cleaning nextcloud - Remove external DB (Fixes #97 ) - Remove Postgresql (Fixes #96 ) - Some preparation for blueprint * Nextcloud done and.. another... (+5 squashed commit) Squashed commit: [c65751b] caddy not installed right. [e5da66b] more fixes [a33300e] Damnit, two typo's same scentence [4292a7a] another typo [1b820cf] typo and example hotfix * Introduce version checking for config file
This commit is contained in:
committed by
GitHub
parent
66e997069a
commit
dbfbd489fa
3
blueprints/plex/config.yml
Normal file
3
blueprints/plex/config.yml
Normal file
@ -0,0 +1,3 @@
|
||||
blueprint:
|
||||
plex:
|
||||
pkgs: plexmediaserver
|
3
blueprints/plex/includes/FreeBSD.conf
Normal file
3
blueprints/plex/includes/FreeBSD.conf
Normal file
@ -0,0 +1,3 @@
|
||||
FreeBSD: {
|
||||
url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest"
|
||||
}
|
51
blueprints/plex/install.sh
Executable file
51
blueprints/plex/install.sh
Executable file
@ -0,0 +1,51 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the install script for plex
|
||||
|
||||
iocage exec plex mkdir -p /usr/local/etc/pkg/repos
|
||||
|
||||
# Change to to more frequent FreeBSD repo to stay up-to-date with plex more.
|
||||
# shellcheck disable=SC2154
|
||||
cp "${SCRIPT_DIR}"/blueprints/plex/includes/FreeBSD.conf /mnt/"${global_dataset_iocage}"/jails/"$1"/root/usr/local/etc/pkg/repos/FreeBSD.conf
|
||||
|
||||
|
||||
# Check if datasets for media librarys exist, create them if they do not.
|
||||
# shellcheck disable=SC2154
|
||||
createmount "$1" "${global_dataset_media}" /mnt/media
|
||||
createmount "$1" "${global_dataset_media}"/movies /mnt/media/movies
|
||||
createmount "$1" "${global_dataset_media}"/music /mnt/media/music
|
||||
createmount "$1" "${global_dataset_media}"/shows /mnt/media/shows
|
||||
|
||||
# Create plex ramdisk if specified
|
||||
# shellcheck disable=SC2154
|
||||
if [ -z "${plex_ramdisk}" ]; then
|
||||
echo "no ramdisk specified for plex, continuing without randisk"
|
||||
else
|
||||
iocage fstab -a "$1" tmpfs /tmp_transcode tmpfs rw,size="${plex_ramdisk}",mode=1777 0 0
|
||||
fi
|
||||
|
||||
iocage exec "$1" chown -R plex:plex /config
|
||||
|
||||
# Force update pkg to get latest plex version
|
||||
iocage exec "$1" pkg update
|
||||
iocage exec "$1" pkg upgrade -y
|
||||
|
||||
# Add plex user to video group for future hw-encoding support
|
||||
iocage exec "$1" pw groupmod -n video -m plex
|
||||
|
||||
# Run different install procedures depending on Plex vs Plex Beta
|
||||
# shellcheck disable=SC2154
|
||||
if [ "$plex_beta" == "true" ]; then
|
||||
echo "beta enabled in config.yml... using plex beta for install"
|
||||
iocage exec "$1" sysrc "plexmediaserver_plexpass_enable=YES"
|
||||
iocage exec "$1" sysrc plexmediaserver_plexpass_support_path="/config"
|
||||
iocage exec "$1" chown -R plex:plex /usr/local/share/plexmediaserver-plexpass/
|
||||
iocage exec "$1" service plexmediaserver_plexpass restart
|
||||
else
|
||||
echo "beta disabled in config.yml... NOT using plex beta for install"
|
||||
iocage exec "$1" sysrc "plexmediaserver_enable=YES"
|
||||
iocage exec "$1" sysrc plexmediaserver_support_path="/config"
|
||||
iocage exec "$1" chown -R plex:plex /usr/local/share/plexmediaserver/
|
||||
iocage exec "$1" service plexmediaserver restart
|
||||
fi
|
||||
|
||||
echo "Finished installing plex"
|
14
blueprints/plex/readme.md
Normal file
14
blueprints/plex/readme.md
Normal file
@ -0,0 +1,14 @@
|
||||
# Plex
|
||||
|
||||
### Config Parameters:
|
||||
- beta: set to `true` if you want to run the plex beta (previously known as "plexpass"). Please note: This is not required for plexpass features
|
||||
|
||||
For more information about plex, please see the Plex website:
|
||||
|
||||
### Config Parameters:
|
||||
|
||||
- ramdisk: Specify the `size` parameter to create a transcoding ramdisk under /tmp_transcode. Requires manual setting it un plex to be used for transcoding. (optional)
|
||||
|
||||
# Original plex install script guide
|
||||
|
||||
https://www.ixsystems.com/community/resources/fn11-3-iocage-jails-plex-tautulli-sonarr-radarr-lidarr-jackett-transmission-organizr.58/
|
23
blueprints/plex/update.sh
Executable file
23
blueprints/plex/update.sh
Executable file
@ -0,0 +1,23 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the update script for Plex
|
||||
|
||||
# Run different update procedures depending on Plex vs Plex Beta
|
||||
# shellcheck disable=SC2154
|
||||
if [ "$plex_plexpass" == "true" ]; then
|
||||
echo "beta enabled in config.yml... using plex beta for update..."
|
||||
iocage exec "$1" service plexmediaserver_plexpass stop
|
||||
# Plex is updated using PKG already, this is mostly a placeholder
|
||||
iocage exec "$1" chown -R plex:plex /usr/local/share/plexmediaserver-plexpass/
|
||||
iocage exec "$1" service plexmediaserver_plexpass restart
|
||||
else
|
||||
echo "beta disabled in config.yml... NOT using plex beta for update..."
|
||||
iocage exec "$1" service plexmediaserver stop
|
||||
# Plex is updated using PKG already, this is mostly a placeholder
|
||||
iocage exec "$1" chown -R plex:plex /usr/local/share/plexmediaserver/
|
||||
iocage exec "$1" service plexmediaserver restart
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user