The Birth of JailMan (#2)
* move ex (+25 squashed commit) Squashed commit: [e5e9c57] verb [16b023f] exp [e0299d9] easier [67fcf93] no message [404687f] different [bd82e7c] test [14b91d9] mod [f2bb227] test again [a9d5ad0] again [0dcb106] with bash [7324c15] more [8ec72d5] another test [0933fdc] again [a5247df] test more [ee61137] temp test [c90aa90] add some more tests [9f8e47a] make executable [ac84788] rename part 2 [890c3ca] rename part 1 [f17e571] test create [9bd8ecd] typo aqgain [eb865a7] test2 [fb57e28] typo [595d9e9] make executable [5d1ae75] first steps * test5 (+22 squashed commit) Squashed commit: [f059ada] tweaks [5c325de] again [9f59aa6] ip4 [9990a77] Standardised creation [0a6fa7f] whoops [620d07c] no message [2a98559] error [62e9c39] hmmm [9f8e4df] no message [d1e9025] puzzle [73aa99b] substitution try 1 [117e75e] other sub [7c080b0] more flexible [a0778f4] testzoveel [739a3bf] fix [f881425] no message [1962b83] oops [994692c] no message [b6dd2a2] test [6713186] echo [6d8d95a] test [f8c3740] quote processing * small update fix (+18 squashed commit) Squashed commit: [8f0c2aa] Basic update [c44eae5] simplification [b1e9314] define basic pkgs [1a55a85] define global pkgs [6829d30] dirtest [5d2a215] checking for install script existance [d936df3] 1 [fcc7403] hmm [08e7e07] exit 0 [380da4d] jail interfaces [634f12e] make all executable [0f2728c] add first test jail [8320d77] restructure individual install scripts [752b375] Standardise [cbab837] itterate through jails [37ecc1d] if array is without elements [0a9e899] moving it to arrays [cc356ee] mockup jailman * moving docs,fixing test thingy (+27 squashed commit) Squashed commit: [76e856b] rc.d pathing [4e1b178] fixing some pathing bugs [e9e9648] quotes [7c5aa9e] test10 fixes [e8858cc] sonarr first steps [0cb1efe] exit on invalid option [e3451da] exit on unknown option [60a1f9c] exit [0536c11] test idea [81d3465] hmm [cb3b935] work on h [1311fea] enable help [aa8d55a] space? [5ef67e0] add comment to global [61be2fa] Add commenting and in-script help [aac8557] Testing broken config [ecc1142] oops [e0059be] condition fix [9628297] Add check for missing network settings [44be2bc] Creating DHCP option, working on default example config. [b0fe910] Adding documentation, setting up Jackett [0045b2b] strucutre [fbe3d20] includes first [a1b032d] gitupdate space [1b503b5] update fix [512f597] add update feature [e9b8359] add initial upgrade script * Create LICENSE (#1) * to 30 * move back kms includes readme, add config.yml to gitignore, add kms to config.yml.example (+24 squashed commit) Squashed commit: [095aa36] added py ks to readme [28526d8] Setup KMS [82f7bfa] Exeuction fix [89de700] finish organizr and setup first steps of kms [0624952] Add dummy cert generation [2583e39] slight nginx mod [3b3da6a] fixed again [7f5807b] Readme and fix for wrong copy [6cab6ca] Make tautulli permanent and prepare organizr [6801447] Tautulli setup, plex to permanent [6198469] also fix update if [49cff5d] if fix 2 [4c436c4] fixing plex if [1adf56f] Add first go at plex support [446dff6] fixing some linking and dataset creation [6dee179] forgot to set yaml files [4e767de] settings file is not needed at all [8ff9d73] setup lidarr, begin setup for transmission [8f8d9ee] Fixing wrong echo's, adding *arr to readme [7aab5f0] lidarr test setup, making radarr final, yaml restructure [3113f71] some dataset creation tweaks [286437b] movies, much [181cf3e] test setup [6477b74] Sonarr done, radarr next * set to master and make executable
This commit is contained in:
committed by
GitHub
parent
d129808e2a
commit
4c09ea840c
50
jails/jackett/includes/jackett.rc
Normal file
50
jails/jackett/includes/jackett.rc
Normal file
@ -0,0 +1,50 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $FreeBSD$
|
||||
#
|
||||
# PROVIDE: jackett
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
#
|
||||
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
|
||||
# to enable this service:
|
||||
#
|
||||
# jackett_enable: Set to YES to enable jackett
|
||||
# Default: NO
|
||||
# jackett_user: The user account used to run the jackett daemon.
|
||||
# This is optional, however do not specifically set this to an
|
||||
# empty string as this will cause the daemon to run as root.
|
||||
# Default: media
|
||||
# jackett_group: The group account used to run the jackett daemon.
|
||||
# This is optional, however do not specifically set this to an
|
||||
# empty string as this will cause the daemon to run with group wheel.
|
||||
# Default: media
|
||||
# jackett_data_dir: Directory where jackett configuration
|
||||
# data is stored.
|
||||
# Default: /var/db/jackett
|
||||
|
||||
. /etc/rc.subr
|
||||
name=jackett
|
||||
rcvar=${name}_enable
|
||||
load_rc_config $name
|
||||
|
||||
: ${jackett_enable:="NO"}
|
||||
: ${jackett_user:="jackett"}
|
||||
: ${jackett_group:="jackett"}
|
||||
: ${jackett_data_dir:="/config"}
|
||||
|
||||
command="/usr/sbin/daemon"
|
||||
procname="/usr/local/bin/mono"
|
||||
command_args="-p ${jackett_data_dir}/jackett.pid -f ${procname} /usr/local/share/Jackett/JackettConsole.exe -d ${jackett_data_dir}"
|
||||
|
||||
start_precmd=jackett_precmd
|
||||
jackett_precmd() {
|
||||
export USER=${jackett_user}
|
||||
if [ ! -d ${jackett_data_dir} ]; then
|
||||
install -d -o ${jackett_user} -g ${jackett_group} ${jackett_data_dir}
|
||||
fi
|
||||
|
||||
export XDG_CONFIG_HOME=${jackett_data_dir}
|
||||
}
|
||||
|
||||
run_rc_command "$1"
|
14
jails/jackett/install.sh
Executable file
14
jails/jackett/install.sh
Executable file
@ -0,0 +1,14 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the install script for jackett
|
||||
|
||||
iocage exec jackett ln -s /usr/local/bin/mono /usr/bin/mono
|
||||
iocage exec jackett "fetch https://github.com/Jackett/Jackett/releases/download/v0.11.502/Jackett.Binaries.Mono.tar.gz -o /usr/local/share"
|
||||
iocage exec jackett "tar -xzvf /usr/local/share/Jackett.Binaries.Mono.tar.gz -C /usr/local/share"
|
||||
iocage exec jackett rm /usr/local/share/Jackett.Binaries.Mono.tar.gz
|
||||
iocage exec jackett "pw user add jackett -c jackett -u 818 -d /nonexistent -s /usr/bin/nologin"
|
||||
iocage exec jackett chown -R jackett:jackett /usr/local/share/Jackett /config
|
||||
iocage exec jackett mkdir /usr/local/etc/rc.d
|
||||
cp ${SCRIPT_DIR}/jails/jackett/includes/jackett.rc /mnt/${global_dataset_iocage}/jails/jackett/root/usr/local/etc/rc.d/jackett
|
||||
iocage exec jackett chmod u+x /usr/local/etc/rc.d/jackett
|
||||
iocage exec jackett sysrc "jackett_enable=YES"
|
||||
iocage exec jackett service jackett restart
|
6
jails/jackett/readme.md
Normal file
6
jails/jackett/readme.md
Normal file
@ -0,0 +1,6 @@
|
||||
## jackett
|
||||
|
||||
Jackett is tool designed to combine and search multiple bittorrent trackers like a proxy.
|
||||
|
||||
### Post-install
|
||||
Currently there are not relevant post-install steps, other than your own personal preferences for setting up Jacket.
|
9
jails/jackett/update.sh
Executable file
9
jails/jackett/update.sh
Executable file
@ -0,0 +1,9 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the update script for jackett
|
||||
|
||||
iocage exec jackett service jackett stop
|
||||
#TODO insert code to update jacket itself here
|
||||
iocage exec jackett chown -R jackett:jackett /usr/local/share/Jackett /config
|
||||
cp ${SCRIPT_DIR}/jails/test10/includes/jackett.rc /mnt/${global_dataset_iocage}/jails/test10/root/usr/local/etc/rc.d/jackett
|
||||
iocage exec jackett chmod u+x /usr/local/etc/rc.d/jackett
|
||||
iocage exec jackett service jackett restart
|
7
jails/kms/includes/Activate_Office_2019_Pro.bat
Normal file
7
jails/kms/includes/Activate_Office_2019_Pro.bat
Normal file
@ -0,0 +1,7 @@
|
||||
cd C:\Program Files\Microsoft Office\Office16
|
||||
cscript ospp.vbs /dstatus
|
||||
cscript ospp.vbs /inpkey:VQ9DP-NVHPH-T9HJC-J9PDT-KTQRG
|
||||
cscript ospp.vbs /sethst:192.168.10.43
|
||||
cscript ospp.vbs /setprt:1688
|
||||
cscript ospp.vbs /act
|
||||
cscript ospp.vbs /dstatus
|
4
jails/kms/includes/Activate_Windows_10_Pro.bat
Normal file
4
jails/kms/includes/Activate_Windows_10_Pro.bat
Normal file
@ -0,0 +1,4 @@
|
||||
cscript slmgr.vbs /upk
|
||||
cscript slmgr.vbs /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX
|
||||
cscript slmgr.vbs /skms 192.168.10.43:1688
|
||||
cscript slmgr.vbs /ato
|
@ -0,0 +1,6 @@
|
||||
%windir%\system32\DISM.exe /Online /Get-TargetEditions
|
||||
%windir%\system32\DISM /online /Set-Edition:ServerStandard /ProductKey:N69G4-B89J2-4G8F4-WWYCC-J464C /AcceptEula
|
||||
cscript %windir%\system32\slmgr.vbs /upk
|
||||
cscript %windir%\system32\slmgr.vbs /ipk N69G4-B89J2-4G8F4-WWYCC-J464C
|
||||
cscript %windir%\system32\slmgr.vbs /skms 192.168.10.43:1688
|
||||
cscript %windir%\system32\slmgr.vbs /ato
|
43
jails/kms/includes/Office-2019-Pro-VLK-Config.xml
Normal file
43
jails/kms/includes/Office-2019-Pro-VLK-Config.xml
Normal file
@ -0,0 +1,43 @@
|
||||
<Configuration ID="0b261046-a220-4392-88d4-2cfd462c90b3">
|
||||
<Add OfficeClientEdition="64" Channel="PerpetualVL2019">
|
||||
<Product ID="ProPlus2019Volume" PIDKEY="NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP">
|
||||
<Language ID="en-us" />
|
||||
<Language ID="nl-nl" />
|
||||
<Language ID="MatchPreviousMSI" />
|
||||
<ExcludeApp ID="Groove" />
|
||||
<ExcludeApp ID="Lync" />
|
||||
<ExcludeApp ID="OneDrive" />
|
||||
<ExcludeApp ID="OneNote" />
|
||||
</Product>
|
||||
<Product ID="LanguagePack">
|
||||
<Language ID="en-us" />
|
||||
<Language ID="nl-nl" />
|
||||
<Language ID="MatchPreviousMSI" />
|
||||
<ExcludeApp ID="Groove" />
|
||||
<ExcludeApp ID="Lync" />
|
||||
<ExcludeApp ID="OneDrive" />
|
||||
<ExcludeApp ID="OneNote" />
|
||||
</Product>
|
||||
<Product ID="ProofingTools">
|
||||
<Language ID="nl-nl" />
|
||||
<Language ID="en-us" />
|
||||
<Language ID="fr-fr" />
|
||||
<Language ID="de-de" />
|
||||
</Product>
|
||||
</Add>
|
||||
<Property Name="SharedComputerLicensing" Value="0" />
|
||||
<Property Name="PinIconsToTaskbar" Value="TRUE" />
|
||||
<Property Name="SCLCacheOverride" Value="0" />
|
||||
<Property Name="AUTOACTIVATE" Value="0" />
|
||||
<Property Name="FORCEAPPSHUTDOWN" Value="TRUE" />
|
||||
<Property Name="DeviceBasedLicensing" Value="0" />
|
||||
<Updates Enabled="TRUE" />
|
||||
<RemoveMSI />
|
||||
<AppSettings>
|
||||
<User Key="software\microsoft\office\16.0\excel\options" Name="defaultformat" Value="51" Type="REG_DWORD" App="excel16" Id="L_SaveExcelfilesas" />
|
||||
<User Key="software\microsoft\office\16.0\powerpoint\options" Name="defaultformat" Value="27" Type="REG_DWORD" App="ppt16" Id="L_SavePowerPointfilesas" />
|
||||
<User Key="software\microsoft\office\16.0\word\options" Name="defaultformat" Value="" Type="REG_SZ" App="word16" Id="L_SaveWordfilesas" />
|
||||
</AppSettings>
|
||||
<Display Level="Full" AcceptEULA="TRUE" />
|
||||
<Logging Level="Off" />
|
||||
</Configuration>
|
11
jails/kms/includes/Readme.md
Normal file
11
jails/kms/includes/Readme.md
Normal file
@ -0,0 +1,11 @@
|
||||
## Office 2019 pro
|
||||
|
||||
All CMD commands are expected to be run from an elevated (administrator) command prompt (cmd)
|
||||
|
||||
1. Download office 2019 deployment tool
|
||||
2. Extract the tool
|
||||
3. Copy Office-2019-Pro-VLK-Config.xml to folder you extracted the tool in
|
||||
4. CMD: cd *Path to extracted tool and xml*
|
||||
5. CMD: setup /configure Office-2019-Pro-VLK-Config.xml
|
||||
6. CMD: cd *path to this config file*
|
||||
7. CMD: Activate_Office_2019_Pro.bat
|
7
jails/kms/includes/Setup_Office_2019_Pro.txt
Normal file
7
jails/kms/includes/Setup_Office_2019_Pro.txt
Normal file
@ -0,0 +1,7 @@
|
||||
cd C:\Program Files\Microsoft Office\Office16
|
||||
cscript ospp.vbs /dstatus
|
||||
cscript ospp.vbs /inpkey:NMMKJ-6RK4F-KMJVX-8D9MJ-6MWKP
|
||||
cscript ospp.vbs /sethst:192.168.10.43
|
||||
cscript ospp.vbs /setprt:1688
|
||||
cscript ospp.vbs /act
|
||||
cscript ospp.vbs /dstatus
|
38
jails/kms/includes/py_kms.rc
Normal file
38
jails/kms/includes/py_kms.rc
Normal file
@ -0,0 +1,38 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $FreeBSD$
|
||||
#
|
||||
# PROVIDE: py_kms
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
#
|
||||
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
|
||||
# to enable this service:
|
||||
#
|
||||
# py-kms_enable: Set to YES to enable py-kms
|
||||
# Default: NO
|
||||
# py-kms_user: The user account used to run the py-kms daemon.
|
||||
# This is optional, however do not specifically set this to an
|
||||
# empty string as this will cause the daemon to run as root.
|
||||
# Default: media
|
||||
# py-kms_group: The group account used to run the py-kms daemon.
|
||||
# This is optional, however do not specifically set this to an
|
||||
# empty string as this will cause the daemon to run with group wheel.
|
||||
# Default: media
|
||||
# py-kms_data_dir: Directory where py-kms configuration
|
||||
# data is stored.
|
||||
|
||||
. /etc/rc.subr
|
||||
name=py_kms
|
||||
rcvar=${name}_enable
|
||||
load_rc_config $name
|
||||
|
||||
: ${py_kms_enable:="NO"}
|
||||
: ${py_kms_user:="kms"}
|
||||
: ${py_kms_group:="kms"}
|
||||
: ${py_kms_data_dir:="/config"}
|
||||
|
||||
command="/usr/local/bin/python3.7"
|
||||
command_args="/usr/local/share/py-kms/pykms_Server.py 0.0.0.0 1688 -F ${py_kms_data_dir}/py-kms.log etrigan start --etrigan-pid ${py_kms_data_dir}/etrigan.pid"
|
||||
|
||||
run_rc_command "$1"
|
12
jails/kms/install.sh
Executable file
12
jails/kms/install.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the install script for KMS
|
||||
|
||||
|
||||
iocage exec kms svn checkout https://github.com/SystemRage/py-kms/trunk/py-kms /usr/local/share/py-kms
|
||||
iocage exec kms "pw user add kms -c kms -u 666 -d /nonexistent -s /usr/bin/nologin"
|
||||
iocage exec kms chown -R kms:kms /usr/local/share/py-kms /config
|
||||
iocage exec kms mkdir /usr/local/etc/rc.d
|
||||
cp ${SCRIPT_DIR}/jails/kms/includes/py_kms.rc /mnt/${global_dataset_iocage}/jails/kms/root/usr/local/etc/rc.d/py_kms
|
||||
iocage exec kms chmod u+x /usr/local/etc/rc.d/py_kms
|
||||
iocage exec kms sysrc "py_kms_enable=YES"
|
||||
iocage exec kms service py_kms start
|
9
jails/kms/update.sh
Executable file
9
jails/kms/update.sh
Executable file
@ -0,0 +1,9 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the update script for KMS
|
||||
|
||||
iocage exec kms service py_kms stop
|
||||
iocage exec kms svn checkout https://github.com/SystemRage/py-kms/trunk/py-kms /usr/local/share/py-kms
|
||||
iocage exec kms chown -R kms:kms /usr/local/share/py-kms /config
|
||||
cp ${SCRIPT_DIR}/jails/kms/includes/py_kms.rc /mnt/${global_dataset_iocage}/jails/kms/root/usr/local/etc/rc.d/py_kms
|
||||
iocage exec kms chmod u+x /usr/local/etc/rc.d/py_kms
|
||||
iocage exec kms service py_kms start
|
36
jails/lidarr/includes/lidarr.rc
Normal file
36
jails/lidarr/includes/lidarr.rc
Normal file
@ -0,0 +1,36 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $FreeBSD$
|
||||
#
|
||||
# PROVIDE: lidarr
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
#
|
||||
# Add the following lines to /etc/rc.conf to enable lidarr:
|
||||
# lidarr_enable="YES"
|
||||
|
||||
. /etc/rc.subr
|
||||
name=lidarr
|
||||
rcvar=${name}_enable
|
||||
load_rc_config $name
|
||||
|
||||
: ${lidarr_enable="NO"}
|
||||
: ${lidarr_user:="lidarr"}
|
||||
: ${lidarr_group:="lidarr"}
|
||||
: ${lidarr_data_dir:="/config"}
|
||||
|
||||
pidfile="${lidarr_data_dir}/lidarr.pid"
|
||||
command="/usr/sbin/daemon"
|
||||
procname="/usr/local/bin/mono"
|
||||
command_args="-f ${procname} /usr/local/share/Lidarr/Lidarr.exe -- data=${lidarr_data_dir} --nobrowser"
|
||||
|
||||
start_precmd=lidarr_precmd
|
||||
lidarr_precmd() {
|
||||
if [ ! -d ${lidarr_data_dir} ]; then
|
||||
install -d -o ${lidarr_user} -g ${lidarr_group} ${lidarr_data_dir}
|
||||
fi
|
||||
|
||||
export XDG_CONFIG_HOME=${lidarr_data_dir}
|
||||
}
|
||||
|
||||
run_rc_command "$1"
|
44
jails/lidarr/install.sh
Executable file
44
jails/lidarr/install.sh
Executable file
@ -0,0 +1,44 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the install script for lidarr
|
||||
|
||||
iocage exec lidarr mkdir -p /mnt/music
|
||||
iocage exec lidarr mkdir -p /mnt/fetched
|
||||
|
||||
# Check if dataset for completed download and it parent dataset exist, create if they do not.
|
||||
if [ ! -d "/mnt/${global_dataset_downloads}" ]; then
|
||||
echo "Downloads dataset does not exist... Creating... ${global_dataset_downloads}"
|
||||
zfs create ${global_dataset_downloads}
|
||||
fi
|
||||
|
||||
if [ ! -d "/mnt/${global_dataset_downloads}/complete" ]; then
|
||||
echo "Completed Downloads dataset does not exist... Creating... ${global_dataset_downloads}/complete"
|
||||
zfs create ${global_dataset_downloads}/complete
|
||||
fi
|
||||
|
||||
iocage fstab -a lidarr /mnt/${global_dataset_downloads}/complete /mnt/fetched nullfs rw 0 0
|
||||
|
||||
# Check if dataset for media library and the dataset for music exist, create if they do not.
|
||||
if [ ! -d "/mnt/${global_dataset_media}" ]; then
|
||||
echo "Media dataset does not exist... Creating... ${global_dataset_media}"
|
||||
zfs create ${global_dataset_media}
|
||||
fi
|
||||
|
||||
if [ ! -d "/mnt/${global_dataset_media}/music" ]; then
|
||||
echo "Music dataset does not exist... Creating... ${global_dataset_media}/music"
|
||||
zfs create ${global_dataset_media}/music
|
||||
fi
|
||||
|
||||
iocage fstab -a lidarr /mnt/${global_dataset_media}/music /mnt/music nullfs rw 0 0
|
||||
|
||||
|
||||
iocage exec lidarr ln -s /usr/local/bin/mono /usr/bin/mono
|
||||
iocage exec lidarr "fetch https://github.com/lidarr/Lidarr/releases/download/v0.2.0.371/Lidarr.develop.0.2.0.371.linux.tar.gz -o /usr/local/share"
|
||||
iocage exec lidarr "tar -xzvf /usr/local/share/Lidarr.develop.0.2.0.371.linux.tar.gz -C /usr/local/share"
|
||||
iocage exec lidarr "rm /usr/local/share/Lidarr.develop.0.2.0.371.linux.tar.gz"
|
||||
iocage exec lidarr "pw user add lidarr -c lidarr -u 353 -d /nonexistent -s /usr/bin/nologin"
|
||||
iocage exec lidarr chown -R lidarr:lidarr /usr/local/share/Lidarr /config
|
||||
iocage exec lidarr mkdir /usr/local/etc/rc.d
|
||||
cp ${SCRIPT_DIR}/jails/lidarr/includes/lidarr.rc /mnt/${global_dataset_iocage}/jails/lidarr/root/usr/local/etc/rc.d/lidarr
|
||||
iocage exec lidarr chmod u+x /usr/local/etc/rc.d/lidarr
|
||||
iocage exec lidarr sysrc "lidarr_enable=YES"
|
||||
iocage exec lidarr service lidarr start
|
9
jails/lidarr/update.sh
Executable file
9
jails/lidarr/update.sh
Executable file
@ -0,0 +1,9 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the update script for lidarr
|
||||
|
||||
iocage exec lidarr service lidarr stop
|
||||
#TODO insert code to update lidarr itself here
|
||||
iocage exec lidarr chown -R lidarr:lidarr /usr/local/share/lidarr /config
|
||||
cp ${SCRIPT_DIR}/jails/lidarr/includes/lidarr.rc /mnt/${global_dataset_iocage}/jails/lidarr/root/usr/local/etc/rc.d/lidarr
|
||||
iocage exec lidarr chmod u+x /usr/local/etc/rc.d/lidarr
|
||||
iocage exec lidarr service lidarr restart
|
145
jails/organizr/includes/custom/organizr.conf
Normal file
145
jails/organizr/includes/custom/organizr.conf
Normal file
@ -0,0 +1,145 @@
|
||||
send_timeout 5m;
|
||||
proxy_read_timeout 240;
|
||||
proxy_send_timeout 240;
|
||||
proxy_connect_timeout 240;
|
||||
client_header_timeout 240;
|
||||
client_body_timeout 240;
|
||||
|
||||
|
||||
location / {
|
||||
root /usr/local/www/Organizr;
|
||||
index index.php index.html index.htm index.nginx-debian.html;
|
||||
location ~ /auth-(.*) {
|
||||
internal;
|
||||
rewrite ^/auth-(.*) /api/?v1/auth&group=$1;
|
||||
}
|
||||
error_page 400 401 402 403 404 405 408 500 502 503 504 $scheme://$server_name/?error=$status;
|
||||
location / {try_files $uri $uri/ =404;}
|
||||
include custom/phpblock.conf; #PHP Block
|
||||
}
|
||||
|
||||
|
||||
location /transmission/ {
|
||||
auth_request /auth-0;
|
||||
add_header X-Frame-Options "SAMEORIGIN";
|
||||
proxy_pass http://192.168.31.22:9091;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
|
||||
location /sonarr/ {
|
||||
auth_request /auth-0;
|
||||
add_header X-Frame-Options "SAMEORIGIN";
|
||||
proxy_pass http://192.168.31.23:8989;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
|
||||
location /radarr/ {
|
||||
auth_request /auth-0;
|
||||
add_header X-Frame-Options "SAMEORIGIN";
|
||||
proxy_pass http://192.168.31.24:7878;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
|
||||
location /lidarr/ {
|
||||
auth_request /auth-0;
|
||||
add_header X-Frame-Options "SAMEORIGIN";
|
||||
proxy_pass http://192.168.31.25:8686;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
|
||||
location /jackett/ {
|
||||
auth_request /auth-0;
|
||||
add_header X-Frame-Options "SAMEORIGIN";
|
||||
proxy_pass http://192.168.31.21:9117;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection keep-alive;
|
||||
proxy_cache_bypass $http_upgrade;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Forwarded-Host $http_host;
|
||||
}
|
||||
|
||||
location /plex/ {
|
||||
auth_request /auth-4;
|
||||
add_header X-Frame-Options "SAMEORIGIN";
|
||||
proxy_pass https://192.168.30.27:32400/;
|
||||
client_max_body_size 10m;
|
||||
client_body_buffer_size 128k;
|
||||
proxy_bind $server_addr;
|
||||
proxy_buffers 32 4k;
|
||||
#Timeout if the real server is dead
|
||||
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
|
||||
# Advanced Proxy Config
|
||||
send_timeout 5m;
|
||||
proxy_read_timeout 240;
|
||||
proxy_send_timeout 240;
|
||||
proxy_connect_timeout 240;
|
||||
proxy_hide_header X-Frame-Options;
|
||||
# Basic Proxy Config
|
||||
proxy_set_header Host $host:$server_port;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto https;
|
||||
proxy_redirect http:// $scheme://;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Connection "";
|
||||
proxy_no_cache $cookie_session;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
}
|
||||
if ($http_referer ~* /plex/) {
|
||||
rewrite ^/web/(.*) /plex/web/$1? redirect;
|
||||
}
|
||||
|
||||
location /tautulli/ {
|
||||
auth_request /auth-4;
|
||||
add_header X-Frame-Options "SAMEORIGIN";
|
||||
proxy_pass http://192.168.31.26:8181;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Forwarded-Host $server_name;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_read_timeout 90;
|
||||
proxy_set_header X-Forwarded-Proto https;
|
||||
proxy_set_header X-Forwarded-Ssl on;
|
||||
#proxy_redirect ~^(http(?:s)?://)([^:/]+)(?::\d+)?(/.*)?$ $1$2:$server_port$3;
|
||||
proxy_redirect off;
|
||||
}
|
||||
|
||||
location /ombi/ {
|
||||
auth_request /auth-4;
|
||||
add_header X-Frame-Options "SAMEORIGIN";
|
||||
proxy_pass https://192.168.31.27:3579/;
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection keep-alive;
|
||||
proxy_set_header Host $host;
|
||||
proxy_cache_bypass $http_upgrade;
|
||||
}
|
||||
|
||||
location /grafana {
|
||||
auth_request /auth-0;
|
||||
add_header X-Frame-Options "SAMEORIGIN";
|
||||
proxy_pass https://192.168.30.34/;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
||||
|
||||
location /bitwarden {
|
||||
auth_request /auth-0;
|
||||
add_header X-Frame-Options "SAMEORIGIN";
|
||||
proxy_pass https://bitwarden.schouten-lebbing.nl/;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
}
|
9
jails/organizr/includes/custom/phpblock.conf
Normal file
9
jails/organizr/includes/custom/phpblock.conf
Normal file
@ -0,0 +1,9 @@
|
||||
fastcgi_read_timeout 240;
|
||||
|
||||
location ~ \.php$ {
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
fastcgi_pass unix:/var/run/php-fpm.sock;
|
||||
fastcgi_index index.php;
|
||||
fastcgi_param SCRIPT_FILENAME $request_filename;
|
||||
include fastcgi_params;
|
||||
}
|
25
jails/organizr/includes/nginx.conf
Normal file
25
jails/organizr/includes/nginx.conf
Normal file
@ -0,0 +1,25 @@
|
||||
user www;
|
||||
worker_processes 1;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
include mime.types;
|
||||
default_type application/octet-stream;
|
||||
sendfile on;
|
||||
keepalive_timeout 65;
|
||||
server {
|
||||
listen 80;
|
||||
server_name localhost;
|
||||
include custom/organizr.conf;
|
||||
}
|
||||
server {
|
||||
listen 443 ssl;
|
||||
server_name localhost;
|
||||
include custom/organizr.conf;
|
||||
ssl_certificate /config/cert/Organizr-Cert.crt; # Replace with actually valid certificate
|
||||
ssl_certificate_key /config/cert/Organizr-Cert.key; # Replace with actually valid certificate
|
||||
}
|
||||
}
|
34
jails/organizr/install.sh
Executable file
34
jails/organizr/install.sh
Executable file
@ -0,0 +1,34 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the install script for Organizr
|
||||
|
||||
iocage exec organizr sed -i '' -e 's?listen = 127.0.0.1:9000?listen = /var/run/php-fpm.sock?g' /usr/local/etc/php-fpm.d/www.conf
|
||||
iocage exec organizr sed -i '' -e 's/;listen.owner = www/listen.owner = www/g' /usr/local/etc/php-fpm.d/www.conf
|
||||
iocage exec organizr sed -i '' -e 's/;listen.group = www/listen.group = www/g' /usr/local/etc/php-fpm.d/www.conf
|
||||
iocage exec organizr sed -i '' -e 's/;listen.mode = 0660/listen.mode = 0600/g' /usr/local/etc/php-fpm.d/www.conf
|
||||
iocage exec organizr cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini
|
||||
iocage exec organizr sed -i '' -e 's?;date.timezone =?date.timezone = "Universal"?g' /usr/local/etc/php.ini
|
||||
iocage exec organizr sed -i '' -e 's?;cgi.fix_pathinfo=1?cgi.fix_pathinfo=0?g' /usr/local/etc/php.ini
|
||||
mv /mnt/${global_dataset_iocage}/jails/organizr/root/usr/local/etc/nginx/nginx.conf /mnt/${global_dataset_iocage}/jails/organizr/root/usr/local/etc/nginx/nginx.conf.bak
|
||||
cp ${SCRIPT_DIR}/jails/organizr/includes/nginx.conf /mnt/${global_dataset_iocage}/jails/organizr/root/usr/local/etc/nginx/nginx.conf
|
||||
cp -Rf ${SCRIPT_DIR}/jails/organizr/includes/custom /mnt/${global_dataset_iocage}/jails/organizr/root/usr/local/etc/nginx/custom
|
||||
|
||||
if [ ! -d "/mnt/${global_dataset_config}/organizr/cert" ]; then
|
||||
echo "cert folder not existing... creating..."
|
||||
iocage exec organizr mkdir /config/cert
|
||||
fi
|
||||
|
||||
if [ -f "/mnt/${global_dataset_config}/organizr/cert/Organizr-Cert.crt" ]; then
|
||||
echo "certificate exist... Skipping cert generation"
|
||||
else
|
||||
"No ssl certificate present, generating self signed certificate"
|
||||
openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -subj "/C=US/ST=Denial/L=Springfield/O=Dis/CN=localhost" -keyout /mnt/${global_dataset_config}/organizr/cert/Organizr-Cert.key -out /mnt/${global_dataset_config}/organizr/cert/Organizr-Cert.crt
|
||||
fi
|
||||
|
||||
|
||||
iocage exec organizr git clone https://github.com/causefx/Organizr.git /usr/local/www/Organizr
|
||||
iocage exec organizr chown -R www:www /usr/local/www /config /usr/local/etc/nginx/nginx.conf /usr/local/etc/nginx/custom
|
||||
iocage exec organizr ln -s /config/config.php /usr/local/www/Organizr/api/config/config.php
|
||||
iocage exec organizr sysrc nginx_enable=YES
|
||||
iocage exec organizr sysrc php_fpm_enable=YES
|
||||
iocage exec organizr service nginx start
|
||||
iocage exec organizr service php-fpm start
|
12
jails/organizr/update.sh
Executable file
12
jails/organizr/update.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the update script for Organizr
|
||||
|
||||
|
||||
iocage exec organizr service nginx stop
|
||||
iocage exec organizr service php-fpm stop
|
||||
# TODO setup cli update for Organizr here.
|
||||
cp ${SCRIPT_DIR}/jails/organizr/includes/nginx.conf /mnt/${global_dataset_iocage}/jails/organizr/root/usr/local/etc/nginx/nginx.conf
|
||||
iocage exec organizr "cd /usr/local/www/Organizr && git pull"
|
||||
iocage exec organizr chown -R www:www /usr/local/www /config /usr/local/etc/nginx/nginx.conf /usr/local/etc/nginx/custom
|
||||
iocage exec organizr service nginx start
|
||||
iocage exec organizr service php-fpm start
|
3
jails/plex/includes/FreeBSD.conf
Normal file
3
jails/plex/includes/FreeBSD.conf
Normal file
@ -0,0 +1,3 @@
|
||||
FreeBSD: {
|
||||
url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest"
|
||||
}
|
65
jails/plex/install.sh
Executable file
65
jails/plex/install.sh
Executable file
@ -0,0 +1,65 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the install script for plex
|
||||
|
||||
iocage exec plex mkdir -p /usr/local/etc/pkg/repos
|
||||
iocage exec plex mkdir -p /mnt/media
|
||||
iocage exec plex mkdir -p /mnt/media/movies
|
||||
iocage exec plex mkdir -p /mnt/media/music
|
||||
iocage exec plex mkdir -p /mnt/media/shows
|
||||
|
||||
# Change to to more frequent FreeBSD repo to stay up-to-date with plex more.
|
||||
cp ${SCRIPT_DIR}/jails/plex/includes/FreeBSD.conf /mnt/${global_dataset_iocage}/jails/plex/root/usr/local/etc/pkg/repos/FreeBSD.conf
|
||||
|
||||
|
||||
# Check if datasets for media librarys exist, create them if they do not.
|
||||
if [ ! -d "/mnt/${global_dataset_media}" ]; then
|
||||
echo "Media dataset does not exist... Creating... ${global_dataset_media}"
|
||||
zfs create ${global_dataset_media}
|
||||
fi
|
||||
|
||||
iocage fstab -a plex /mnt/${global_dataset_media} /mnt/media nullfs rw 0 0
|
||||
|
||||
if [ ! -d "/mnt/${global_dataset_media}/shows" ]; then
|
||||
echo "TV Shows dataset does not exist... Creating... ${global_dataset_media}/shows"
|
||||
zfs create ${global_dataset_media}/shows
|
||||
fi
|
||||
|
||||
iocage fstab -a plex /mnt/${global_dataset_media}/shows /mnt/media/shows nullfs rw 0 0
|
||||
|
||||
if [ ! -d "/mnt/${global_dataset_media}/music" ]; then
|
||||
echo "music dataset does not exist... Creating... ${global_dataset_media}/music"
|
||||
zfs create ${global_dataset_media}/music
|
||||
fi
|
||||
|
||||
iocage fstab -a plex /mnt/${global_dataset_media}/music /mnt/media/music nullfs rw 0 0
|
||||
|
||||
if [ ! -d "/mnt/${global_dataset_media}/movies" ]; then
|
||||
echo "movies dataset does not exist... Creating... ${global_dataset_media}/movies"
|
||||
zfs create ${global_dataset_media}/movies
|
||||
fi
|
||||
|
||||
iocage fstab -a plex /mnt/${global_dataset_media}/movies /mnt/media/movies nullfs rw 0 0
|
||||
|
||||
|
||||
iocage exec plex chown -R plex:plex /config
|
||||
|
||||
# Force update pkg to get latest plex version
|
||||
iocage exec plex pkg update
|
||||
iocage exec plex pkg upgrade -y
|
||||
|
||||
# Run different install procedures depending on Plex vs Plexpass
|
||||
if [ "$plex_plexpass" == "true" ]; then
|
||||
echo "plexpass enabled in config.yml... using plexpass for install"
|
||||
iocage exec plex sysrc "plexmediaserver_plexpass_enable=YES"
|
||||
iocage exec plex sysrc plexmediaserver_plexpass_support_path="/config"
|
||||
iocage exec plex chown -R plex:plex /usr/local/share/plexmediaserver-plexpass/
|
||||
iocage exec plex service plexmediaserver_plexpass restart
|
||||
else
|
||||
echo "plexpass disabled in config.yml... NOT using plexpass for install"
|
||||
iocage exec plex sysrc "plexmediaserver_enable=YES"
|
||||
iocage exec plex sysrc plexmediaserver_support_path="/config"
|
||||
iocage exec plex chown -R plex:plex /usr/local/share/plexmediaserver/
|
||||
iocage exec plex service plexmediaserver restart
|
||||
fi
|
||||
|
||||
echo "Finished installing plex"
|
22
jails/plex/update.sh
Executable file
22
jails/plex/update.sh
Executable file
@ -0,0 +1,22 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the update script for Plex
|
||||
|
||||
# Run different update procedures depending on Plex vs Plexpass
|
||||
if [ "$plex_plexpass" == "true" ]; then
|
||||
echo "plexpass enabled in config.yml... using plexpass for update..."
|
||||
iocage exec plex service plexmediaserver_plexpass stop
|
||||
# Plex is updated using PKG already, this is mostly a placeholder
|
||||
iocage exec plex chown -R plex:plex /usr/local/share/plexmediaserver-plexpass/
|
||||
iocage exec plex service plexmediaserver_plexpass restart
|
||||
else
|
||||
echo "plexpass disabled in config.yml... NOT using plexpass for update..."
|
||||
iocage exec plex service plexmediaserver stop
|
||||
# Plex is updated using PKG already, this is mostly a placeholder
|
||||
iocage exec plex chown -R plex:plex /usr/local/share/plexmediaserver/
|
||||
iocage exec plex service plexmediaserver restart
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
50
jails/radarr/includes/radarr.rc
Normal file
50
jails/radarr/includes/radarr.rc
Normal file
@ -0,0 +1,50 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $FreeBSD$
|
||||
#
|
||||
# PROVIDE: radarr
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
#
|
||||
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
|
||||
# to enable this service:
|
||||
#
|
||||
# radarr_enable: Set to YES to enable radarr
|
||||
# Default: NO
|
||||
# radarr_user: The user account used to run the radarr daemon.
|
||||
# This is optional, however do not specifically set this to an
|
||||
# empty string as this will cause the daemon to run as root.
|
||||
# Default: media
|
||||
# radarr_group: The group account used to run the radarr daemon.
|
||||
# This is optional, however do not specifically set this to an
|
||||
# empty string as this will cause the daemon to run with group wheel.
|
||||
# Default: media
|
||||
# radarr_data_dir: Directory where radarr configuration
|
||||
# data is stored.
|
||||
# Default: /var/db/radarr
|
||||
|
||||
. /etc/rc.subr
|
||||
name=radarr
|
||||
rcvar=${name}_enable
|
||||
load_rc_config $name
|
||||
|
||||
: ${radarr_enable:="NO"}
|
||||
: ${radarr_user:="radarr"}
|
||||
: ${radarr_group:="radarr"}
|
||||
: ${radarr_data_dir:="/config"}
|
||||
|
||||
pidfile="${radarr_data_dir}/nzbdrone.pid"
|
||||
command="/usr/sbin/daemon"
|
||||
procname="/usr/local/bin/mono"
|
||||
command_args="-f ${procname} /usr/local/share/Radarr/Radarr.exe --data=${radarr_data_dir} --nobrowser"
|
||||
|
||||
start_precmd=radarr_precmd
|
||||
radarr_precmd() {
|
||||
if [ ! -d ${radarr_data_dir} ]; then
|
||||
install -d -o ${radarr_user} -g ${radarr_group} ${radarr_data_dir}
|
||||
fi
|
||||
|
||||
export XDG_CONFIG_HOME=${radarr_data_dir}
|
||||
}
|
||||
|
||||
run_rc_command "$1"
|
43
jails/radarr/install.sh
Executable file
43
jails/radarr/install.sh
Executable file
@ -0,0 +1,43 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the install script for radarr
|
||||
|
||||
iocage exec radarr mkdir -p /mnt/movies
|
||||
iocage exec radarr mkdir -p /mnt/fetched
|
||||
|
||||
# Check if dataset for completed download and it parent dataset exist, create if they do not.
|
||||
if [ ! -d "/mnt/${global_dataset_downloads}" ]; then
|
||||
echo "Downloads dataset does not exist... Creating... ${global_dataset_downloads}"
|
||||
zfs create ${global_dataset_downloads}
|
||||
fi
|
||||
|
||||
if [ ! -d "/mnt/${global_dataset_downloads}/complete" ]; then
|
||||
echo "Completed Downloads dataset does not exist... Creating... ${global_dataset_downloads}/complete"
|
||||
zfs create ${global_dataset_downloads}/complete
|
||||
fi
|
||||
|
||||
iocage fstab -a radarr /mnt/${global_dataset_downloads}/complete /mnt/fetched nullfs rw 0 0
|
||||
|
||||
# Check if dataset for media library and the dataset for movies exist, create if they do not.
|
||||
if [ ! -d "/mnt/${global_dataset_media}" ]; then
|
||||
echo "Media dataset does not exist... Creating... ${global_dataset_media}"
|
||||
zfs create ${global_dataset_media}
|
||||
fi
|
||||
|
||||
if [ ! -d "/mnt/${global_dataset_media}/movies" ]; then
|
||||
echo "Movies dataset does not exist... Creating... ${global_dataset_media}/movies"
|
||||
zfs create ${global_dataset_media}/movies
|
||||
fi
|
||||
|
||||
iocage fstab -a radarr /mnt/${global_dataset_media}/movies /mnt/movies nullfs rw 0 0
|
||||
|
||||
iocage exec radarr ln -s /usr/local/bin/mono /usr/bin/mono
|
||||
iocage exec radarr "fetch https://github.com/Radarr/Radarr/releases/download/v0.2.0.1480/Radarr.develop.0.2.0.1480.linux.tar.gz -o /usr/local/share"
|
||||
iocage exec radarr "tar -xzvf /usr/local/share/Radarr.develop.0.2.0.1480.linux.tar.gz -C /usr/local/share"
|
||||
iocage exec radarr rm /usr/local/share/Radarr.develop.0.2.0.1480.linux.tar.gz
|
||||
iocage exec radarr "pw user add radarr -c radarr -u 352 -d /nonexistent -s /usr/bin/nologin"
|
||||
iocage exec radarr chown -R radarr:radarr /usr/local/share/Radarr /config
|
||||
iocage exec radarr mkdir /usr/local/etc/rc.d
|
||||
cp ${SCRIPT_DIR}/jails/radarr/includes/radarr.rc /mnt/${global_dataset_iocage}/jails/radarr/root/usr/local/etc/rc.d/radarr
|
||||
iocage exec radarr chmod u+x /usr/local/etc/rc.d/radarr
|
||||
iocage exec radarr sysrc "radarr_enable=YES"
|
||||
iocage exec radarr service radarr restart
|
9
jails/radarr/update.sh
Executable file
9
jails/radarr/update.sh
Executable file
@ -0,0 +1,9 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the update script for radarr
|
||||
|
||||
iocage exec radarr service radarr stop
|
||||
#TODO insert code to update radarr itself here
|
||||
iocage exec radarr chown -R radarr:radarr /usr/local/share/Radarr /config
|
||||
cp ${SCRIPT_DIR}/jails/radarr/includes/radarr.rc /mnt/${global_dataset_iocage}/jails/radarr/root/usr/local/etc/rc.d/radarr
|
||||
iocage exec radarr chmod u+x /usr/local/etc/rc.d/radarr
|
||||
iocage exec radarr service radarr restart
|
50
jails/sonarr/includes/sonarr.rc
Normal file
50
jails/sonarr/includes/sonarr.rc
Normal file
@ -0,0 +1,50 @@
|
||||
#!/bin/sh
|
||||
|
||||
# $FreeBSD$
|
||||
#
|
||||
# PROVIDE: sonarr
|
||||
# REQUIRE: LOGIN
|
||||
# KEYWORD: shutdown
|
||||
#
|
||||
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
|
||||
# to enable this service:
|
||||
#
|
||||
# sonarr_enable: Set to YES to enable sonarr
|
||||
# Default: NO
|
||||
# sonarr_user: The user account used to run the sonarr daemon.
|
||||
# This is optional, however do not specifically set this to an
|
||||
# empty string as this will cause the daemon to run as root.
|
||||
# Default: media
|
||||
# sonarr_group: The group account used to run the sonarr daemon.
|
||||
# This is optional, however do not specifically set this to an
|
||||
# empty string as this will cause the daemon to run with group wheel.
|
||||
# Default: media
|
||||
# sonarr_data_dir: Directory where sonarr configuration
|
||||
# data is stored.
|
||||
# Default: /var/db/sonarr
|
||||
|
||||
. /etc/rc.subr
|
||||
name=sonarr
|
||||
rcvar=${name}_enable
|
||||
load_rc_config $name
|
||||
|
||||
: ${sonarr_enable:="NO"}
|
||||
: ${sonarr_user:="sonarr"}
|
||||
: ${sonarr_group:="sonarr"}
|
||||
: ${sonarr_data_dir:="/config"}
|
||||
|
||||
pidfile="${sonarr_data_dir}/nzbdrone.pid"
|
||||
command="/usr/sbin/daemon"
|
||||
procname="/usr/local/bin/mono"
|
||||
command_args="-f ${procname} /usr/local/share/NzbDrone/NzbDrone.exe --data=${sonarr_data_dir} --nobrowser"
|
||||
|
||||
start_precmd=sonarr_precmd
|
||||
sonarr_precmd() {
|
||||
if [ ! -d ${sonarr_data_dir} ]; then
|
||||
install -d -o ${sonarr_user} -g ${sonarr_group} ${sonarr_data_dir}
|
||||
fi
|
||||
|
||||
export XDG_CONFIG_HOME=${sonarr_data_dir}
|
||||
}
|
||||
|
||||
run_rc_command "$1"
|
44
jails/sonarr/install.sh
Executable file
44
jails/sonarr/install.sh
Executable file
@ -0,0 +1,44 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the install script for sonarr
|
||||
|
||||
iocage exec sonarr mkdir -p /mnt/shows
|
||||
iocage exec sonarr mkdir -p /mnt/fetched
|
||||
|
||||
# Check if dataset for completed download and it parent dataset exist, create if they do not.
|
||||
if [ ! -d "/mnt/${global_dataset_downloads}" ]; then
|
||||
echo "Downloads dataset does not exist... Creating... ${global_dataset_downloads}"
|
||||
zfs create ${global_dataset_downloads}
|
||||
fi
|
||||
|
||||
if [ ! -d "/mnt/${global_dataset_downloads}/complete" ]; then
|
||||
echo "Completed Downloads dataset does not exist... Creating... ${global_dataset_downloads}/complete"
|
||||
zfs create ${global_dataset_downloads}/complete
|
||||
fi
|
||||
|
||||
iocage fstab -a sonarr /mnt/${global_dataset_downloads}/complete /mnt/fetched nullfs rw 0 0
|
||||
|
||||
# Check if dataset for media library and the dataset for tv shows exist, create if they do not.
|
||||
if [ ! -d "/mnt/${global_dataset_media}" ]; then
|
||||
echo "Media dataset does not exist... Creating... ${global_dataset_media}"
|
||||
zfs create ${global_dataset_media}
|
||||
fi
|
||||
|
||||
if [ ! -d "/mnt/${global_dataset_media}/shows" ]; then
|
||||
echo "TV Shows dataset does not exist... Creating... ${global_dataset_media}/shows"
|
||||
zfs create ${global_dataset_media}/shows
|
||||
fi
|
||||
|
||||
iocage fstab -a sonarr /mnt/${global_dataset_media}/shows /mnt/shows nullfs rw 0 0
|
||||
|
||||
|
||||
iocage exec sonarr ln -s /usr/local/bin/mono /usr/bin/mono
|
||||
iocage exec sonarr "fetch http://download.sonarr.tv/v2/master/mono/NzbDrone.master.tar.gz -o /usr/local/share"
|
||||
iocage exec sonarr "tar -xzvf /usr/local/share/NzbDrone.master.tar.gz -C /usr/local/share"
|
||||
iocage exec sonarr rm /usr/local/share/NzbDrone.master.tar.gz
|
||||
iocage exec sonarr "pw user add sonarr -c sonarr -u 351 -d /nonexistent -s /usr/bin/nologin"
|
||||
iocage exec sonarr chown -R sonarr:sonarr /usr/local/share/NzbDrone /config
|
||||
iocage exec sonarr mkdir /usr/local/etc/rc.d
|
||||
cp ${SCRIPT_DIR}/jails/sonarr/includes/sonarr.rc /mnt/${global_dataset_iocage}/jails/sonarr/root/usr/local/etc/rc.d/sonarr
|
||||
iocage exec sonarr chmod u+x /usr/local/etc/rc.d/sonarr
|
||||
iocage exec sonarr sysrc "sonarr_enable=YES"
|
||||
iocage exec sonarr service sonarr restart
|
9
jails/sonarr/update.sh
Executable file
9
jails/sonarr/update.sh
Executable file
@ -0,0 +1,9 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the update script for sonarr
|
||||
|
||||
iocage exec sonarr service sonarr stop
|
||||
#TODO insert code to update sonarr itself here
|
||||
iocage exec sonarr chown -R sonarr:sonarr /usr/local/share/NzbDrone /config
|
||||
cp ${SCRIPT_DIR}/jails/sonarr/includes/sonarr.rc /mnt/${global_dataset_iocage}/jails/sonarr/root/usr/local/etc/rc.d/sonarr
|
||||
iocage exec sonarr chmod u+x /usr/local/etc/rc.d/sonarr
|
||||
iocage exec sonarr service sonarr restart
|
12
jails/tautulli/install.sh
Executable file
12
jails/tautulli/install.sh
Executable file
@ -0,0 +1,12 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the install script for Tautulli
|
||||
|
||||
|
||||
iocage exec tautulli git clone https://github.com/Tautulli/Tautulli.git /usr/local/share/Tautulli
|
||||
iocage exec tautulli "pw user add tautulli -c tautulli -u 109 -d /nonexistent -s /usr/bin/nologin"
|
||||
iocage exec tautulli chown -R tautulli:tautulli /usr/local/share/Tautulli /config
|
||||
iocage exec tautulli cp /usr/local/share/Tautulli/init-scripts/init.freenas /usr/local/etc/rc.d/tautulli
|
||||
iocage exec tautulli chmod u+x /usr/local/etc/rc.d/tautulli
|
||||
iocage exec tautulli sysrc "tautulli_enable=YES"
|
||||
iocage exec tautulli sysrc "tautulli_flags=--datadir /config"
|
||||
iocage exec tautulli service tautulli start
|
9
jails/tautulli/update.sh
Executable file
9
jails/tautulli/update.sh
Executable file
@ -0,0 +1,9 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the update script for Tautulli
|
||||
|
||||
iocage exec tautulli service tautulli stop
|
||||
# Tautulli is updated through pkg, this is mostly just a placeholder
|
||||
iocage exec tautulli chown -R tautulli:tautulli /usr/local/share/Tautulli /config
|
||||
iocage exec tautulli cp /usr/local/share/Tautulli/init-scripts/init.freenas /usr/local/etc/rc.d/tautulli
|
||||
iocage exec tautulli chmod u+x /usr/local/etc/rc.d/tautulli
|
||||
iocage exec tautulli service tautulli restart
|
38
jails/transmission/install.sh
Executable file
38
jails/transmission/install.sh
Executable file
@ -0,0 +1,38 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the install script for transmission
|
||||
|
||||
iocage exec transmission mkdir -p /mnt/downloads
|
||||
iocage exec transmission mkdir -p /mnt/downloads/complete
|
||||
iocage exec transmission mkdir -p /mnt/downloads/incomplete
|
||||
|
||||
# Check if dataset Downloads dataset exist, create if they do not.
|
||||
if [ ! -d "/mnt/${global_dataset_downloads}" ]; then
|
||||
echo "Downloads dataset does not exist... Creating... ${global_dataset_downloads}"
|
||||
zfs create ${global_dataset_downloads}
|
||||
fi
|
||||
|
||||
iocage fstab -a transmission /mnt/${global_dataset_downloads} /mnt/downloads nullfs rw 0 0
|
||||
|
||||
# Check if dataset Complete Downloads dataset exist, create if they do not.
|
||||
if [ ! -d "/mnt/${global_dataset_downloads}/complete" ]; then
|
||||
echo "Completed Downloads dataset does not exist... Creating... ${global_dataset_downloads}/complete"
|
||||
zfs create ${global_dataset_downloads}/complete
|
||||
fi
|
||||
|
||||
iocage fstab -a transmission /mnt/${global_dataset_downloads}/complete /mnt/downloads/complete nullfs rw 0 0
|
||||
|
||||
# Check if dataset InComplete Downloads dataset exist, create if they do not.
|
||||
if [ ! -d "/mnt/${global_dataset_downloads}/incomplete" ]; then
|
||||
echo "Completed Downloads dataset does not exist... Creating... ${global_dataset_downloads}/incomplete"
|
||||
zfs create ${global_dataset_downloads}/incomplete
|
||||
fi
|
||||
|
||||
iocage fstab -a transmission /mnt/${global_dataset_downloads}/incomplete /mnt/downloads/incomplete nullfs rw 0 0
|
||||
|
||||
|
||||
iocage exec transmission mkdir -p /config
|
||||
iocage exec transmission chown -R transmission:transmission /config
|
||||
iocage exec transmission sysrc "transmission_enable=YES"
|
||||
iocage exec transmission sysrc "transmission_conf_dir=/config"
|
||||
iocage exec transmission sysrc "transmission_download_dir=/mnt/downloads/complete"
|
||||
iocage exec transmission service transmission restart
|
7
jails/transmission/update.sh
Executable file
7
jails/transmission/update.sh
Executable file
@ -0,0 +1,7 @@
|
||||
#!/usr/local/bin/bash
|
||||
# This file contains the update script for transmission
|
||||
|
||||
iocage exec transmission service transmission stop
|
||||
# Transmision is updated during PKG update, this file is mostly just a placeholder
|
||||
iocage exec transmission chown -R transmission:transmission /config
|
||||
iocage exec transmission service transmission restart
|
Reference in New Issue
Block a user