From ee7533b282fa4da6f3169625b6f1c9110ae9523a Mon Sep 17 00:00:00 2001 From: kjeld Schouten-Lebbing Date: Mon, 20 Jul 2020 15:09:15 +0200 Subject: [PATCH 01/56] test deploy --- .github/workflows/deploy.yml | 18 ++ .gitignore | 2 + .shellcheckrc | 1 + LICENSE | 25 +++ LICENSE.BSD2 | 25 +++ LICENSE.GPLV2 | 339 +++++++++++++++++++++++++++++++++++ mkdocs.yml | 23 +++ 7 files changed, 433 insertions(+) create mode 100644 .github/workflows/deploy.yml create mode 100644 .gitignore create mode 100644 .shellcheckrc create mode 100644 LICENSE create mode 100644 LICENSE.BSD2 create mode 100644 LICENSE.GPLV2 create mode 100644 mkdocs.yml diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 00000000..a90da598 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,18 @@ +name: Publish docs via GitHub Pages +on: + push: + branches: + - master + +jobs: + build:Wiki + runs-on: ubuntu-latest + steps: + - name: Checkout master + uses: actions/checkout@v1 + with: + ref: 'master' + - name: Deploy docs + uses: mhausenblas/mkdocs-deploy-gh-pages@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..bebf8bb2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/config.yml +/tmp/ \ No newline at end of file diff --git a/.shellcheckrc b/.shellcheckrc new file mode 100644 index 00000000..e70c8981 --- /dev/null +++ b/.shellcheckrc @@ -0,0 +1 @@ +disable=SC2034,SC2154 diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..3c91742b --- /dev/null +++ b/LICENSE @@ -0,0 +1,25 @@ +BSD 2-Clause License + +Copyright (c) 2020, Kjeld Schouten-Lebbing +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.BSD2 b/LICENSE.BSD2 new file mode 100644 index 00000000..c7394569 --- /dev/null +++ b/LICENSE.BSD2 @@ -0,0 +1,25 @@ +BSD 2-Clause License + +Copyright (c) 2019, Kjeld Schouten-Lebbing +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.GPLV2 b/LICENSE.GPLV2 new file mode 100644 index 00000000..d159169d --- /dev/null +++ b/LICENSE.GPLV2 @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 00000000..49762608 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,23 @@ +# Project Information +site_name: JailMan +site_description: 'Project Documentation for JailManager' +site_author: 'JailManager Team' +site_url: 'https://jailmanager.org' + +# Repository +repo_name: 'jailmanager/wiki' +repo_url: 'jailmanager/wiki' +edit_uri: 'edit/dev/docs/' + +theme: + name: 'material' + features: + - tabs + language: 'en' + +markdown_extensions: + - admonition + - codehilite: + guess_lang: false + - toc: + permalink: true \ No newline at end of file From ad6841ea376d5f846e756f49e7a5925d0a1884f1 Mon Sep 17 00:00:00 2001 From: kjeld Schouten-Lebbing Date: Mon, 20 Jul 2020 15:11:12 +0200 Subject: [PATCH 02/56] setup wiki creator --- .github/workflows/deploy.yml | 5 +++-- CNAME | 1 + content/index.md | 0 mkdocs.yml | 5 +++-- 4 files changed, 7 insertions(+), 4 deletions(-) create mode 100644 CNAME create mode 100644 content/index.md diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index a90da598..ff040122 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -1,11 +1,12 @@ -name: Publish docs via GitHub Pages +name: Publish Wiki via GitHub Pages on: push: branches: - master jobs: - build:Wiki + build: + name: Deploy Wiki runs-on: ubuntu-latest steps: - name: Checkout master diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..96efd642 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +wiki2.jailmanager.org \ No newline at end of file diff --git a/content/index.md b/content/index.md new file mode 100644 index 00000000..e69de29b diff --git a/mkdocs.yml b/mkdocs.yml index 49762608..cbc6dc1d 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -2,11 +2,12 @@ site_name: JailMan site_description: 'Project Documentation for JailManager' site_author: 'JailManager Team' -site_url: 'https://jailmanager.org' +docs_dir: content/ +site_url: 'https://wiki2.jailmanager.org' # Repository repo_name: 'jailmanager/wiki' -repo_url: 'jailmanager/wiki' +repo_url: 'https://github.com/jailmanager/wiki' edit_uri: 'edit/dev/docs/' theme: From 45c829a4b01ce74104d8aad1796d70b4ec982d68 Mon Sep 17 00:00:00 2001 From: kjeld Schouten-Lebbing Date: Mon, 20 Jul 2020 15:31:31 +0200 Subject: [PATCH 03/56] migrate content to new wiki --- content/config options.md | 49 +++++++++++++++++++++ content/development/functions.md | 37 ++++++++++++++++ content/development/linked_configs.md | 19 +++++++++ content/index.md | 5 +++ content/migration/v1.1.x to v1.2.x.md | 61 +++++++++++++++++++++++++++ content/plugins/General | 5 +++ 6 files changed, 176 insertions(+) create mode 100644 content/config options.md create mode 100644 content/development/functions.md create mode 100644 content/development/linked_configs.md create mode 100644 content/migration/v1.1.x to v1.2.x.md create mode 100644 content/plugins/General diff --git a/content/config options.md b/content/config options.md new file mode 100644 index 00000000..9b55155f --- /dev/null +++ b/content/config options.md @@ -0,0 +1,49 @@ +## Config Options + +There are a lot of possibly configuration options in config.yml. +For jail specific config options, please see the wiki documentation for your specific jail. This page only list general and global config options, that are the same for every jail. + +## Global config options + +Global options apply to every jail. Use and change with caution. + +### dataset + +All config options under "dataset" change dataset creation and linking. The indentation and "dataset" flag are not optional. +All Datasets are auto-created if they do not exist already, no need to worry about creating them! + +- config: The dataset that is going to contain the persistant data for every jail. For example: Nextcloud user files for nextcloud or the actual database for mariadb. +- iocage: The dataset containing the iocage config. In FreeNAS often `poolname/iocage` +- media: The dataset that is going to contain all media files for plex, Sonarr, Radarr etc. Such as movies and music. Music, Movie etc. sub-datasets are auto-created. +- downloads: The dataset containging temporary download files. These are moved to media when finished. complete, incomplete etc. sub-datasets are auto-created. + +## jails +All config options under "jails" change default jail settings that are the same for every created jail. The indentation and "jails" flag are not optional. +- version: the current to-be-installed version for jails +- pkgs: packages that are installed to all created jails + +## (hidden) Auto created datasets + +Some datasets are auto created and can not be changed from the config file. This is done to ease troubleshooting. + +- `media/music` created as a sub-dataset of media, contains music +- `media/movies` created as a sub-dataset of media, contains movies +- `media/shows` created as a sub-dataset of media, contains tv-shows +- `downloads/complete` created as a sub-dataset of downloads, contains completed downloads +- `downloads/incomplete` created as a sub-dataset of downloads, contains not-yet-completed downloads + +## General config options + +### Networking + +Please be aware that dhcp is not actively supported, many of the jails depend on having a fixed IP-adress in the config file. +Some also depend on other jails having a fixed IP in the config file. Use of DHCP is on your own risk and might not work. + +- ip4_addr: To set a static IP (recommended), enter the desired ip address here. Leave blank (or remove the line) for DHCP. +- gateway: Set the gateway IP for static IP setup. Leave blank (or remove the line) for DHCP. + +### Advanced +- interfaces: Set the "interfaces" flag for iocage. Example: `vnet0:bridge0` (optional) +- dhcp: Set to "on" to force DHCP (not required for DHCP, see above) +- pkgs: Override the to-be-install packages for this jail (might break now or break updates) +- custom_iocage: Adds additional custom options to iocage create (NOT actively supported, use on your own risk) \ No newline at end of file diff --git a/content/development/functions.md b/content/development/functions.md new file mode 100644 index 00000000..5315938a --- /dev/null +++ b/content/development/functions.md @@ -0,0 +1,37 @@ +# Custom Functions + +## Intro + +With Jailman we have a number of functions that are custom. This document lists them and explains their use. Currently all custom functions are inculded in ./includes/global.sh + +## parse_yaml +This functions parses the yml config files. It does not support lists however and we highly advice not using indentations other than 2 spaces either. +It's only input is a yml file and it should be called as the argument of an eval statement. + +## gitupdate +This function triggers an update based on the branch it is given. +Currently only called in jailman.sh and it is fed the remote/branch combo it is currently on. + +## jailcreate +This function creates the actual jail based on a plugin. +It takes the jail name, looks up the plugin and proceeds accordingly. +It also creates things like basic mount points and such. while also checking if all required vars are filled. + +Currently only used in jailman.sh + +## initplugin +This function turns all config.yml variables for the jail inputed as $1 into local variables. This is not required (as variables are also available as `${!jail_$1_varname}`), but makes it easier for less experienced plugin creators to start working with Jailman +It takes only the Jailname as input. + +## exitplugin +This script does the "success" processing for an installation. It takes the name of the jail and a message (preferable a connection instruction), creates the "INSTALLED" file, does the last checks and outputs the successmessages +No additional scripting besides `echo`'s should be done after executing this script. + +## createmount +This function creates a dataset and mounts said dataset to a specific folder in a jail, while also creating required subfolders if needed. +It's easier to use and update than mounting folders manually, so it's the only allowed way to do so, unless very specific config is required (such as database datasets) +It has the following input options: +# $1 = jail name +# $2 = Dataset +# $3 = Target mountpoint +# $4 = fstab prefernces diff --git a/content/development/linked_configs.md b/content/development/linked_configs.md new file mode 100644 index 00000000..2239ad85 --- /dev/null +++ b/content/development/linked_configs.md @@ -0,0 +1,19 @@ +# Linking Jail Configs + +## Intro +To keep things simple, you can easily link jail configs together, for example you can make the settings of your MariaDB jail accessable to your nextcloud jail. +This can be done using a variable with the name: `link_$Name`, where $Name is just a description and the value in config.yml would be the actual jail to connect to. + +For example: +`link_testjail: thisismytestjail` + +Would link "thisismytestjail" to your current jail. + +## using linked jails + +Once setup one can reach all the variables of the linked jail using the following syntax: +`link_$Name_$variable` + +For example if we want the ipv4 address of the jail we linked earlier, during the install of another jail, we would do: +`link_testjail_ip4_addr` + diff --git a/content/index.md b/content/index.md index e69de29b..f2dbf1aa 100644 --- a/content/index.md +++ b/content/index.md @@ -0,0 +1,5 @@ +# Introduction +Welcome to Jailam. An open source effort to create an easy management tool for Freenas Jails. + +As this project is in its early stages, this wiki will serve the purpose of providing a foundation and a almost (not) up-to-date scripting reference to the underlying structure of jailman. + diff --git a/content/migration/v1.1.x to v1.2.x.md b/content/migration/v1.1.x to v1.2.x.md new file mode 100644 index 00000000..c00c76b3 --- /dev/null +++ b/content/migration/v1.1.x to v1.2.x.md @@ -0,0 +1,61 @@ +## v1.1.x to v1.2.x + +With v1.2 we made it possible to run multiple jails of the same type. +This is done by seperating jails (your individual installs) from plugins (our designs). + +Due to this change, the config file has been changed and thus you need to adapt your config file. + + +### Jails + +All your jails need to be indented by 2 spaces under a main group "jails" like this: + +` +jail: + plex: + plugin: plex + ip4_addr: 192.168.1.99/24 + gateway: 192.168.1.1 + beta: false +` + +Also note: +Where previously we used `plex: plex`, we can now just use `plex:` + +### plugins + +Every jail now requires a plugin to be defined. for example: +v1.1.x +` + +plex: plex + ip4_addr: 192.168.1.99/24 + gateway: 192.168.1.1 + plexpass: false +` + +In v1.2.x becomes: +` +jail: + plex: + plugin: plex + ip4_addr: 192.168.1.99/24 + gateway: 192.168.1.1 + beta: false +` + +### Plex + +Due to community feedback in v1.2.x "plexpass" has been renamed to "beta". + +### pkgs + +pkgs are removed from jail config in v1.2.x and are now part of the plugin. This way we can keep them up-to-date for you. + +### Documentation + +All jails now have wiki documentation pages and all basic jail values have been documented + +### Other changes + +Some other minor changes in config file values have been done, please refer to the example document and compare your config to the example \ No newline at end of file diff --git a/content/plugins/General b/content/plugins/General new file mode 100644 index 00000000..f12d6cb1 --- /dev/null +++ b/content/plugins/General @@ -0,0 +1,5 @@ +## General Info + +Blueprints are the blueprint on which your created jails are going to be based. + +More info TBD From bae3ff07de0d35ddc42ff4de1323de95d9f83e94 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Mon, 20 Jul 2020 14:06:30 +0000 Subject: [PATCH 04/56] Update from https://github.com/jailmanager/iocage-plugin-plex/commit/b59ca53e2e227f999cb6a9396038872a954b9f83) --- .shellcheckrc | 1 - CNAME | 1 - LICENSE | 25 -- LICENSE.BSD2 | 25 -- LICENSE.GPLV2 | 339 -------------------------- content/config options.md | 49 ---- content/development/functions.md | 37 --- content/development/linked_configs.md | 19 -- content/index.md | 5 - content/migration/v1.1.x to v1.2.x.md | 61 ----- content/plugins/General | 5 - content/plugins/plex.md | 23 ++ mkdocs.yml | 24 -- 13 files changed, 23 insertions(+), 591 deletions(-) delete mode 100644 .shellcheckrc delete mode 100644 CNAME delete mode 100644 LICENSE delete mode 100644 LICENSE.BSD2 delete mode 100644 LICENSE.GPLV2 delete mode 100644 content/config options.md delete mode 100644 content/development/functions.md delete mode 100644 content/development/linked_configs.md delete mode 100644 content/index.md delete mode 100644 content/migration/v1.1.x to v1.2.x.md delete mode 100644 content/plugins/General create mode 100644 content/plugins/plex.md delete mode 100644 mkdocs.yml diff --git a/.shellcheckrc b/.shellcheckrc deleted file mode 100644 index e70c8981..00000000 --- a/.shellcheckrc +++ /dev/null @@ -1 +0,0 @@ -disable=SC2034,SC2154 diff --git a/CNAME b/CNAME deleted file mode 100644 index 96efd642..00000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -wiki2.jailmanager.org \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 3c91742b..00000000 --- a/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -BSD 2-Clause License - -Copyright (c) 2020, Kjeld Schouten-Lebbing -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.BSD2 b/LICENSE.BSD2 deleted file mode 100644 index c7394569..00000000 --- a/LICENSE.BSD2 +++ /dev/null @@ -1,25 +0,0 @@ -BSD 2-Clause License - -Copyright (c) 2019, Kjeld Schouten-Lebbing -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.GPLV2 b/LICENSE.GPLV2 deleted file mode 100644 index d159169d..00000000 --- a/LICENSE.GPLV2 +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/content/config options.md b/content/config options.md deleted file mode 100644 index 9b55155f..00000000 --- a/content/config options.md +++ /dev/null @@ -1,49 +0,0 @@ -## Config Options - -There are a lot of possibly configuration options in config.yml. -For jail specific config options, please see the wiki documentation for your specific jail. This page only list general and global config options, that are the same for every jail. - -## Global config options - -Global options apply to every jail. Use and change with caution. - -### dataset - -All config options under "dataset" change dataset creation and linking. The indentation and "dataset" flag are not optional. -All Datasets are auto-created if they do not exist already, no need to worry about creating them! - -- config: The dataset that is going to contain the persistant data for every jail. For example: Nextcloud user files for nextcloud or the actual database for mariadb. -- iocage: The dataset containing the iocage config. In FreeNAS often `poolname/iocage` -- media: The dataset that is going to contain all media files for plex, Sonarr, Radarr etc. Such as movies and music. Music, Movie etc. sub-datasets are auto-created. -- downloads: The dataset containging temporary download files. These are moved to media when finished. complete, incomplete etc. sub-datasets are auto-created. - -## jails -All config options under "jails" change default jail settings that are the same for every created jail. The indentation and "jails" flag are not optional. -- version: the current to-be-installed version for jails -- pkgs: packages that are installed to all created jails - -## (hidden) Auto created datasets - -Some datasets are auto created and can not be changed from the config file. This is done to ease troubleshooting. - -- `media/music` created as a sub-dataset of media, contains music -- `media/movies` created as a sub-dataset of media, contains movies -- `media/shows` created as a sub-dataset of media, contains tv-shows -- `downloads/complete` created as a sub-dataset of downloads, contains completed downloads -- `downloads/incomplete` created as a sub-dataset of downloads, contains not-yet-completed downloads - -## General config options - -### Networking - -Please be aware that dhcp is not actively supported, many of the jails depend on having a fixed IP-adress in the config file. -Some also depend on other jails having a fixed IP in the config file. Use of DHCP is on your own risk and might not work. - -- ip4_addr: To set a static IP (recommended), enter the desired ip address here. Leave blank (or remove the line) for DHCP. -- gateway: Set the gateway IP for static IP setup. Leave blank (or remove the line) for DHCP. - -### Advanced -- interfaces: Set the "interfaces" flag for iocage. Example: `vnet0:bridge0` (optional) -- dhcp: Set to "on" to force DHCP (not required for DHCP, see above) -- pkgs: Override the to-be-install packages for this jail (might break now or break updates) -- custom_iocage: Adds additional custom options to iocage create (NOT actively supported, use on your own risk) \ No newline at end of file diff --git a/content/development/functions.md b/content/development/functions.md deleted file mode 100644 index 5315938a..00000000 --- a/content/development/functions.md +++ /dev/null @@ -1,37 +0,0 @@ -# Custom Functions - -## Intro - -With Jailman we have a number of functions that are custom. This document lists them and explains their use. Currently all custom functions are inculded in ./includes/global.sh - -## parse_yaml -This functions parses the yml config files. It does not support lists however and we highly advice not using indentations other than 2 spaces either. -It's only input is a yml file and it should be called as the argument of an eval statement. - -## gitupdate -This function triggers an update based on the branch it is given. -Currently only called in jailman.sh and it is fed the remote/branch combo it is currently on. - -## jailcreate -This function creates the actual jail based on a plugin. -It takes the jail name, looks up the plugin and proceeds accordingly. -It also creates things like basic mount points and such. while also checking if all required vars are filled. - -Currently only used in jailman.sh - -## initplugin -This function turns all config.yml variables for the jail inputed as $1 into local variables. This is not required (as variables are also available as `${!jail_$1_varname}`), but makes it easier for less experienced plugin creators to start working with Jailman -It takes only the Jailname as input. - -## exitplugin -This script does the "success" processing for an installation. It takes the name of the jail and a message (preferable a connection instruction), creates the "INSTALLED" file, does the last checks and outputs the successmessages -No additional scripting besides `echo`'s should be done after executing this script. - -## createmount -This function creates a dataset and mounts said dataset to a specific folder in a jail, while also creating required subfolders if needed. -It's easier to use and update than mounting folders manually, so it's the only allowed way to do so, unless very specific config is required (such as database datasets) -It has the following input options: -# $1 = jail name -# $2 = Dataset -# $3 = Target mountpoint -# $4 = fstab prefernces diff --git a/content/development/linked_configs.md b/content/development/linked_configs.md deleted file mode 100644 index 2239ad85..00000000 --- a/content/development/linked_configs.md +++ /dev/null @@ -1,19 +0,0 @@ -# Linking Jail Configs - -## Intro -To keep things simple, you can easily link jail configs together, for example you can make the settings of your MariaDB jail accessable to your nextcloud jail. -This can be done using a variable with the name: `link_$Name`, where $Name is just a description and the value in config.yml would be the actual jail to connect to. - -For example: -`link_testjail: thisismytestjail` - -Would link "thisismytestjail" to your current jail. - -## using linked jails - -Once setup one can reach all the variables of the linked jail using the following syntax: -`link_$Name_$variable` - -For example if we want the ipv4 address of the jail we linked earlier, during the install of another jail, we would do: -`link_testjail_ip4_addr` - diff --git a/content/index.md b/content/index.md deleted file mode 100644 index f2dbf1aa..00000000 --- a/content/index.md +++ /dev/null @@ -1,5 +0,0 @@ -# Introduction -Welcome to Jailam. An open source effort to create an easy management tool for Freenas Jails. - -As this project is in its early stages, this wiki will serve the purpose of providing a foundation and a almost (not) up-to-date scripting reference to the underlying structure of jailman. - diff --git a/content/migration/v1.1.x to v1.2.x.md b/content/migration/v1.1.x to v1.2.x.md deleted file mode 100644 index c00c76b3..00000000 --- a/content/migration/v1.1.x to v1.2.x.md +++ /dev/null @@ -1,61 +0,0 @@ -## v1.1.x to v1.2.x - -With v1.2 we made it possible to run multiple jails of the same type. -This is done by seperating jails (your individual installs) from plugins (our designs). - -Due to this change, the config file has been changed and thus you need to adapt your config file. - - -### Jails - -All your jails need to be indented by 2 spaces under a main group "jails" like this: - -` -jail: - plex: - plugin: plex - ip4_addr: 192.168.1.99/24 - gateway: 192.168.1.1 - beta: false -` - -Also note: -Where previously we used `plex: plex`, we can now just use `plex:` - -### plugins - -Every jail now requires a plugin to be defined. for example: -v1.1.x -` - -plex: plex - ip4_addr: 192.168.1.99/24 - gateway: 192.168.1.1 - plexpass: false -` - -In v1.2.x becomes: -` -jail: - plex: - plugin: plex - ip4_addr: 192.168.1.99/24 - gateway: 192.168.1.1 - beta: false -` - -### Plex - -Due to community feedback in v1.2.x "plexpass" has been renamed to "beta". - -### pkgs - -pkgs are removed from jail config in v1.2.x and are now part of the plugin. This way we can keep them up-to-date for you. - -### Documentation - -All jails now have wiki documentation pages and all basic jail values have been documented - -### Other changes - -Some other minor changes in config file values have been done, please refer to the example document and compare your config to the example \ No newline at end of file diff --git a/content/plugins/General b/content/plugins/General deleted file mode 100644 index f12d6cb1..00000000 --- a/content/plugins/General +++ /dev/null @@ -1,5 +0,0 @@ -## General Info - -Blueprints are the blueprint on which your created jails are going to be based. - -More info TBD diff --git a/content/plugins/plex.md b/content/plugins/plex.md new file mode 100644 index 00000000..20078e4d --- /dev/null +++ b/content/plugins/plex.md @@ -0,0 +1,23 @@ +# 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 + +#### Advanced 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) + + +#### Experimental config parameters: + +These parameters are either not fully tested or expected to break with short-term OS updates. They are included in the release however, because they are suspected to become stable eventually. + +- hw_transcode: set this to "true" to enable hardware transcoding on compatible systems, to "false" to disable or, preferable, just leave it out to disable +- hw_transcode_ruleset: the devfs rulesetnumber to use for hardware transcoding +- ruleset_script: The location to save the ruleset-setting script to. (loaded at reboot) + + +# Original plex install script guide + +https://www.ixsystems.com/community/resources/fn11-3-iocage-jails-plex-tautulli-sonarr-radarr-lidarr-jackett-transmission-organizr.58/ + +For more information about plex, please see the Plex website. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml deleted file mode 100644 index cbc6dc1d..00000000 --- a/mkdocs.yml +++ /dev/null @@ -1,24 +0,0 @@ -# Project Information -site_name: JailMan -site_description: 'Project Documentation for JailManager' -site_author: 'JailManager Team' -docs_dir: content/ -site_url: 'https://wiki2.jailmanager.org' - -# Repository -repo_name: 'jailmanager/wiki' -repo_url: 'https://github.com/jailmanager/wiki' -edit_uri: 'edit/dev/docs/' - -theme: - name: 'material' - features: - - tabs - language: 'en' - -markdown_extensions: - - admonition - - codehilite: - guess_lang: false - - toc: - permalink: true \ No newline at end of file From a96e963a332944ff26fcb018dc8397a1f520e073 Mon Sep 17 00:00:00 2001 From: kjeld Schouten-Lebbing Date: Mon, 20 Jul 2020 16:11:52 +0200 Subject: [PATCH 05/56] Revert "Update from https://github.com/jailmanager/iocage-plugin-plex/commit/b59ca53e2e227f999cb6a9396038872a954b9f83)" This reverts commit bae3ff07de0d35ddc42ff4de1323de95d9f83e94. --- .shellcheckrc | 1 + CNAME | 1 + LICENSE | 25 ++ LICENSE.BSD2 | 25 ++ LICENSE.GPLV2 | 339 ++++++++++++++++++++++++++ content/config options.md | 49 ++++ content/development/functions.md | 37 +++ content/development/linked_configs.md | 19 ++ content/index.md | 5 + content/migration/v1.1.x to v1.2.x.md | 61 +++++ content/plugins/General | 5 + content/plugins/plex.md | 23 -- mkdocs.yml | 24 ++ 13 files changed, 591 insertions(+), 23 deletions(-) create mode 100644 .shellcheckrc create mode 100644 CNAME create mode 100644 LICENSE create mode 100644 LICENSE.BSD2 create mode 100644 LICENSE.GPLV2 create mode 100644 content/config options.md create mode 100644 content/development/functions.md create mode 100644 content/development/linked_configs.md create mode 100644 content/index.md create mode 100644 content/migration/v1.1.x to v1.2.x.md create mode 100644 content/plugins/General delete mode 100644 content/plugins/plex.md create mode 100644 mkdocs.yml diff --git a/.shellcheckrc b/.shellcheckrc new file mode 100644 index 00000000..e70c8981 --- /dev/null +++ b/.shellcheckrc @@ -0,0 +1 @@ +disable=SC2034,SC2154 diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..96efd642 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +wiki2.jailmanager.org \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..3c91742b --- /dev/null +++ b/LICENSE @@ -0,0 +1,25 @@ +BSD 2-Clause License + +Copyright (c) 2020, Kjeld Schouten-Lebbing +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.BSD2 b/LICENSE.BSD2 new file mode 100644 index 00000000..c7394569 --- /dev/null +++ b/LICENSE.BSD2 @@ -0,0 +1,25 @@ +BSD 2-Clause License + +Copyright (c) 2019, Kjeld Schouten-Lebbing +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.GPLV2 b/LICENSE.GPLV2 new file mode 100644 index 00000000..d159169d --- /dev/null +++ b/LICENSE.GPLV2 @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/content/config options.md b/content/config options.md new file mode 100644 index 00000000..9b55155f --- /dev/null +++ b/content/config options.md @@ -0,0 +1,49 @@ +## Config Options + +There are a lot of possibly configuration options in config.yml. +For jail specific config options, please see the wiki documentation for your specific jail. This page only list general and global config options, that are the same for every jail. + +## Global config options + +Global options apply to every jail. Use and change with caution. + +### dataset + +All config options under "dataset" change dataset creation and linking. The indentation and "dataset" flag are not optional. +All Datasets are auto-created if they do not exist already, no need to worry about creating them! + +- config: The dataset that is going to contain the persistant data for every jail. For example: Nextcloud user files for nextcloud or the actual database for mariadb. +- iocage: The dataset containing the iocage config. In FreeNAS often `poolname/iocage` +- media: The dataset that is going to contain all media files for plex, Sonarr, Radarr etc. Such as movies and music. Music, Movie etc. sub-datasets are auto-created. +- downloads: The dataset containging temporary download files. These are moved to media when finished. complete, incomplete etc. sub-datasets are auto-created. + +## jails +All config options under "jails" change default jail settings that are the same for every created jail. The indentation and "jails" flag are not optional. +- version: the current to-be-installed version for jails +- pkgs: packages that are installed to all created jails + +## (hidden) Auto created datasets + +Some datasets are auto created and can not be changed from the config file. This is done to ease troubleshooting. + +- `media/music` created as a sub-dataset of media, contains music +- `media/movies` created as a sub-dataset of media, contains movies +- `media/shows` created as a sub-dataset of media, contains tv-shows +- `downloads/complete` created as a sub-dataset of downloads, contains completed downloads +- `downloads/incomplete` created as a sub-dataset of downloads, contains not-yet-completed downloads + +## General config options + +### Networking + +Please be aware that dhcp is not actively supported, many of the jails depend on having a fixed IP-adress in the config file. +Some also depend on other jails having a fixed IP in the config file. Use of DHCP is on your own risk and might not work. + +- ip4_addr: To set a static IP (recommended), enter the desired ip address here. Leave blank (or remove the line) for DHCP. +- gateway: Set the gateway IP for static IP setup. Leave blank (or remove the line) for DHCP. + +### Advanced +- interfaces: Set the "interfaces" flag for iocage. Example: `vnet0:bridge0` (optional) +- dhcp: Set to "on" to force DHCP (not required for DHCP, see above) +- pkgs: Override the to-be-install packages for this jail (might break now or break updates) +- custom_iocage: Adds additional custom options to iocage create (NOT actively supported, use on your own risk) \ No newline at end of file diff --git a/content/development/functions.md b/content/development/functions.md new file mode 100644 index 00000000..5315938a --- /dev/null +++ b/content/development/functions.md @@ -0,0 +1,37 @@ +# Custom Functions + +## Intro + +With Jailman we have a number of functions that are custom. This document lists them and explains their use. Currently all custom functions are inculded in ./includes/global.sh + +## parse_yaml +This functions parses the yml config files. It does not support lists however and we highly advice not using indentations other than 2 spaces either. +It's only input is a yml file and it should be called as the argument of an eval statement. + +## gitupdate +This function triggers an update based on the branch it is given. +Currently only called in jailman.sh and it is fed the remote/branch combo it is currently on. + +## jailcreate +This function creates the actual jail based on a plugin. +It takes the jail name, looks up the plugin and proceeds accordingly. +It also creates things like basic mount points and such. while also checking if all required vars are filled. + +Currently only used in jailman.sh + +## initplugin +This function turns all config.yml variables for the jail inputed as $1 into local variables. This is not required (as variables are also available as `${!jail_$1_varname}`), but makes it easier for less experienced plugin creators to start working with Jailman +It takes only the Jailname as input. + +## exitplugin +This script does the "success" processing for an installation. It takes the name of the jail and a message (preferable a connection instruction), creates the "INSTALLED" file, does the last checks and outputs the successmessages +No additional scripting besides `echo`'s should be done after executing this script. + +## createmount +This function creates a dataset and mounts said dataset to a specific folder in a jail, while also creating required subfolders if needed. +It's easier to use and update than mounting folders manually, so it's the only allowed way to do so, unless very specific config is required (such as database datasets) +It has the following input options: +# $1 = jail name +# $2 = Dataset +# $3 = Target mountpoint +# $4 = fstab prefernces diff --git a/content/development/linked_configs.md b/content/development/linked_configs.md new file mode 100644 index 00000000..2239ad85 --- /dev/null +++ b/content/development/linked_configs.md @@ -0,0 +1,19 @@ +# Linking Jail Configs + +## Intro +To keep things simple, you can easily link jail configs together, for example you can make the settings of your MariaDB jail accessable to your nextcloud jail. +This can be done using a variable with the name: `link_$Name`, where $Name is just a description and the value in config.yml would be the actual jail to connect to. + +For example: +`link_testjail: thisismytestjail` + +Would link "thisismytestjail" to your current jail. + +## using linked jails + +Once setup one can reach all the variables of the linked jail using the following syntax: +`link_$Name_$variable` + +For example if we want the ipv4 address of the jail we linked earlier, during the install of another jail, we would do: +`link_testjail_ip4_addr` + diff --git a/content/index.md b/content/index.md new file mode 100644 index 00000000..f2dbf1aa --- /dev/null +++ b/content/index.md @@ -0,0 +1,5 @@ +# Introduction +Welcome to Jailam. An open source effort to create an easy management tool for Freenas Jails. + +As this project is in its early stages, this wiki will serve the purpose of providing a foundation and a almost (not) up-to-date scripting reference to the underlying structure of jailman. + diff --git a/content/migration/v1.1.x to v1.2.x.md b/content/migration/v1.1.x to v1.2.x.md new file mode 100644 index 00000000..c00c76b3 --- /dev/null +++ b/content/migration/v1.1.x to v1.2.x.md @@ -0,0 +1,61 @@ +## v1.1.x to v1.2.x + +With v1.2 we made it possible to run multiple jails of the same type. +This is done by seperating jails (your individual installs) from plugins (our designs). + +Due to this change, the config file has been changed and thus you need to adapt your config file. + + +### Jails + +All your jails need to be indented by 2 spaces under a main group "jails" like this: + +` +jail: + plex: + plugin: plex + ip4_addr: 192.168.1.99/24 + gateway: 192.168.1.1 + beta: false +` + +Also note: +Where previously we used `plex: plex`, we can now just use `plex:` + +### plugins + +Every jail now requires a plugin to be defined. for example: +v1.1.x +` + +plex: plex + ip4_addr: 192.168.1.99/24 + gateway: 192.168.1.1 + plexpass: false +` + +In v1.2.x becomes: +` +jail: + plex: + plugin: plex + ip4_addr: 192.168.1.99/24 + gateway: 192.168.1.1 + beta: false +` + +### Plex + +Due to community feedback in v1.2.x "plexpass" has been renamed to "beta". + +### pkgs + +pkgs are removed from jail config in v1.2.x and are now part of the plugin. This way we can keep them up-to-date for you. + +### Documentation + +All jails now have wiki documentation pages and all basic jail values have been documented + +### Other changes + +Some other minor changes in config file values have been done, please refer to the example document and compare your config to the example \ No newline at end of file diff --git a/content/plugins/General b/content/plugins/General new file mode 100644 index 00000000..f12d6cb1 --- /dev/null +++ b/content/plugins/General @@ -0,0 +1,5 @@ +## General Info + +Blueprints are the blueprint on which your created jails are going to be based. + +More info TBD diff --git a/content/plugins/plex.md b/content/plugins/plex.md deleted file mode 100644 index 20078e4d..00000000 --- a/content/plugins/plex.md +++ /dev/null @@ -1,23 +0,0 @@ -# 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 - -#### Advanced 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) - - -#### Experimental config parameters: - -These parameters are either not fully tested or expected to break with short-term OS updates. They are included in the release however, because they are suspected to become stable eventually. - -- hw_transcode: set this to "true" to enable hardware transcoding on compatible systems, to "false" to disable or, preferable, just leave it out to disable -- hw_transcode_ruleset: the devfs rulesetnumber to use for hardware transcoding -- ruleset_script: The location to save the ruleset-setting script to. (loaded at reboot) - - -# Original plex install script guide - -https://www.ixsystems.com/community/resources/fn11-3-iocage-jails-plex-tautulli-sonarr-radarr-lidarr-jackett-transmission-organizr.58/ - -For more information about plex, please see the Plex website. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 00000000..cbc6dc1d --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,24 @@ +# Project Information +site_name: JailMan +site_description: 'Project Documentation for JailManager' +site_author: 'JailManager Team' +docs_dir: content/ +site_url: 'https://wiki2.jailmanager.org' + +# Repository +repo_name: 'jailmanager/wiki' +repo_url: 'https://github.com/jailmanager/wiki' +edit_uri: 'edit/dev/docs/' + +theme: + name: 'material' + features: + - tabs + language: 'en' + +markdown_extensions: + - admonition + - codehilite: + guess_lang: false + - toc: + permalink: true \ No newline at end of file From 6fdc3b334d427e9ddfafef94895fe70e12204845 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Mon, 20 Jul 2020 14:16:08 +0000 Subject: [PATCH 06/56] Update from https://github.com/jailmanager/iocage-plugin-plex/commit/83d90a648896c294c205a2a2e7a17c83e44e5fc6) --- .shellcheckrc | 1 - CNAME | 1 - LICENSE | 25 -- LICENSE.BSD2 | 25 -- LICENSE.GPLV2 | 339 -------------------------- content/config options.md | 49 ---- content/development/functions.md | 37 --- content/development/linked_configs.md | 19 -- content/index.md | 5 - content/migration/v1.1.x to v1.2.x.md | 61 ----- content/plugins/General | 5 - mkdocs.yml | 24 -- 12 files changed, 591 deletions(-) delete mode 100644 .shellcheckrc delete mode 100644 CNAME delete mode 100644 LICENSE delete mode 100644 LICENSE.BSD2 delete mode 100644 LICENSE.GPLV2 delete mode 100644 content/config options.md delete mode 100644 content/development/functions.md delete mode 100644 content/development/linked_configs.md delete mode 100644 content/index.md delete mode 100644 content/migration/v1.1.x to v1.2.x.md delete mode 100644 content/plugins/General delete mode 100644 mkdocs.yml diff --git a/.shellcheckrc b/.shellcheckrc deleted file mode 100644 index e70c8981..00000000 --- a/.shellcheckrc +++ /dev/null @@ -1 +0,0 @@ -disable=SC2034,SC2154 diff --git a/CNAME b/CNAME deleted file mode 100644 index 96efd642..00000000 --- a/CNAME +++ /dev/null @@ -1 +0,0 @@ -wiki2.jailmanager.org \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 3c91742b..00000000 --- a/LICENSE +++ /dev/null @@ -1,25 +0,0 @@ -BSD 2-Clause License - -Copyright (c) 2020, Kjeld Schouten-Lebbing -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.BSD2 b/LICENSE.BSD2 deleted file mode 100644 index c7394569..00000000 --- a/LICENSE.BSD2 +++ /dev/null @@ -1,25 +0,0 @@ -BSD 2-Clause License - -Copyright (c) 2019, Kjeld Schouten-Lebbing -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions of source code must retain the above copyright notice, this - list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.GPLV2 b/LICENSE.GPLV2 deleted file mode 100644 index d159169d..00000000 --- a/LICENSE.GPLV2 +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/content/config options.md b/content/config options.md deleted file mode 100644 index 9b55155f..00000000 --- a/content/config options.md +++ /dev/null @@ -1,49 +0,0 @@ -## Config Options - -There are a lot of possibly configuration options in config.yml. -For jail specific config options, please see the wiki documentation for your specific jail. This page only list general and global config options, that are the same for every jail. - -## Global config options - -Global options apply to every jail. Use and change with caution. - -### dataset - -All config options under "dataset" change dataset creation and linking. The indentation and "dataset" flag are not optional. -All Datasets are auto-created if they do not exist already, no need to worry about creating them! - -- config: The dataset that is going to contain the persistant data for every jail. For example: Nextcloud user files for nextcloud or the actual database for mariadb. -- iocage: The dataset containing the iocage config. In FreeNAS often `poolname/iocage` -- media: The dataset that is going to contain all media files for plex, Sonarr, Radarr etc. Such as movies and music. Music, Movie etc. sub-datasets are auto-created. -- downloads: The dataset containging temporary download files. These are moved to media when finished. complete, incomplete etc. sub-datasets are auto-created. - -## jails -All config options under "jails" change default jail settings that are the same for every created jail. The indentation and "jails" flag are not optional. -- version: the current to-be-installed version for jails -- pkgs: packages that are installed to all created jails - -## (hidden) Auto created datasets - -Some datasets are auto created and can not be changed from the config file. This is done to ease troubleshooting. - -- `media/music` created as a sub-dataset of media, contains music -- `media/movies` created as a sub-dataset of media, contains movies -- `media/shows` created as a sub-dataset of media, contains tv-shows -- `downloads/complete` created as a sub-dataset of downloads, contains completed downloads -- `downloads/incomplete` created as a sub-dataset of downloads, contains not-yet-completed downloads - -## General config options - -### Networking - -Please be aware that dhcp is not actively supported, many of the jails depend on having a fixed IP-adress in the config file. -Some also depend on other jails having a fixed IP in the config file. Use of DHCP is on your own risk and might not work. - -- ip4_addr: To set a static IP (recommended), enter the desired ip address here. Leave blank (or remove the line) for DHCP. -- gateway: Set the gateway IP for static IP setup. Leave blank (or remove the line) for DHCP. - -### Advanced -- interfaces: Set the "interfaces" flag for iocage. Example: `vnet0:bridge0` (optional) -- dhcp: Set to "on" to force DHCP (not required for DHCP, see above) -- pkgs: Override the to-be-install packages for this jail (might break now or break updates) -- custom_iocage: Adds additional custom options to iocage create (NOT actively supported, use on your own risk) \ No newline at end of file diff --git a/content/development/functions.md b/content/development/functions.md deleted file mode 100644 index 5315938a..00000000 --- a/content/development/functions.md +++ /dev/null @@ -1,37 +0,0 @@ -# Custom Functions - -## Intro - -With Jailman we have a number of functions that are custom. This document lists them and explains their use. Currently all custom functions are inculded in ./includes/global.sh - -## parse_yaml -This functions parses the yml config files. It does not support lists however and we highly advice not using indentations other than 2 spaces either. -It's only input is a yml file and it should be called as the argument of an eval statement. - -## gitupdate -This function triggers an update based on the branch it is given. -Currently only called in jailman.sh and it is fed the remote/branch combo it is currently on. - -## jailcreate -This function creates the actual jail based on a plugin. -It takes the jail name, looks up the plugin and proceeds accordingly. -It also creates things like basic mount points and such. while also checking if all required vars are filled. - -Currently only used in jailman.sh - -## initplugin -This function turns all config.yml variables for the jail inputed as $1 into local variables. This is not required (as variables are also available as `${!jail_$1_varname}`), but makes it easier for less experienced plugin creators to start working with Jailman -It takes only the Jailname as input. - -## exitplugin -This script does the "success" processing for an installation. It takes the name of the jail and a message (preferable a connection instruction), creates the "INSTALLED" file, does the last checks and outputs the successmessages -No additional scripting besides `echo`'s should be done after executing this script. - -## createmount -This function creates a dataset and mounts said dataset to a specific folder in a jail, while also creating required subfolders if needed. -It's easier to use and update than mounting folders manually, so it's the only allowed way to do so, unless very specific config is required (such as database datasets) -It has the following input options: -# $1 = jail name -# $2 = Dataset -# $3 = Target mountpoint -# $4 = fstab prefernces diff --git a/content/development/linked_configs.md b/content/development/linked_configs.md deleted file mode 100644 index 2239ad85..00000000 --- a/content/development/linked_configs.md +++ /dev/null @@ -1,19 +0,0 @@ -# Linking Jail Configs - -## Intro -To keep things simple, you can easily link jail configs together, for example you can make the settings of your MariaDB jail accessable to your nextcloud jail. -This can be done using a variable with the name: `link_$Name`, where $Name is just a description and the value in config.yml would be the actual jail to connect to. - -For example: -`link_testjail: thisismytestjail` - -Would link "thisismytestjail" to your current jail. - -## using linked jails - -Once setup one can reach all the variables of the linked jail using the following syntax: -`link_$Name_$variable` - -For example if we want the ipv4 address of the jail we linked earlier, during the install of another jail, we would do: -`link_testjail_ip4_addr` - diff --git a/content/index.md b/content/index.md deleted file mode 100644 index f2dbf1aa..00000000 --- a/content/index.md +++ /dev/null @@ -1,5 +0,0 @@ -# Introduction -Welcome to Jailam. An open source effort to create an easy management tool for Freenas Jails. - -As this project is in its early stages, this wiki will serve the purpose of providing a foundation and a almost (not) up-to-date scripting reference to the underlying structure of jailman. - diff --git a/content/migration/v1.1.x to v1.2.x.md b/content/migration/v1.1.x to v1.2.x.md deleted file mode 100644 index c00c76b3..00000000 --- a/content/migration/v1.1.x to v1.2.x.md +++ /dev/null @@ -1,61 +0,0 @@ -## v1.1.x to v1.2.x - -With v1.2 we made it possible to run multiple jails of the same type. -This is done by seperating jails (your individual installs) from plugins (our designs). - -Due to this change, the config file has been changed and thus you need to adapt your config file. - - -### Jails - -All your jails need to be indented by 2 spaces under a main group "jails" like this: - -` -jail: - plex: - plugin: plex - ip4_addr: 192.168.1.99/24 - gateway: 192.168.1.1 - beta: false -` - -Also note: -Where previously we used `plex: plex`, we can now just use `plex:` - -### plugins - -Every jail now requires a plugin to be defined. for example: -v1.1.x -` - -plex: plex - ip4_addr: 192.168.1.99/24 - gateway: 192.168.1.1 - plexpass: false -` - -In v1.2.x becomes: -` -jail: - plex: - plugin: plex - ip4_addr: 192.168.1.99/24 - gateway: 192.168.1.1 - beta: false -` - -### Plex - -Due to community feedback in v1.2.x "plexpass" has been renamed to "beta". - -### pkgs - -pkgs are removed from jail config in v1.2.x and are now part of the plugin. This way we can keep them up-to-date for you. - -### Documentation - -All jails now have wiki documentation pages and all basic jail values have been documented - -### Other changes - -Some other minor changes in config file values have been done, please refer to the example document and compare your config to the example \ No newline at end of file diff --git a/content/plugins/General b/content/plugins/General deleted file mode 100644 index f12d6cb1..00000000 --- a/content/plugins/General +++ /dev/null @@ -1,5 +0,0 @@ -## General Info - -Blueprints are the blueprint on which your created jails are going to be based. - -More info TBD diff --git a/mkdocs.yml b/mkdocs.yml deleted file mode 100644 index cbc6dc1d..00000000 --- a/mkdocs.yml +++ /dev/null @@ -1,24 +0,0 @@ -# Project Information -site_name: JailMan -site_description: 'Project Documentation for JailManager' -site_author: 'JailManager Team' -docs_dir: content/ -site_url: 'https://wiki2.jailmanager.org' - -# Repository -repo_name: 'jailmanager/wiki' -repo_url: 'https://github.com/jailmanager/wiki' -edit_uri: 'edit/dev/docs/' - -theme: - name: 'material' - features: - - tabs - language: 'en' - -markdown_extensions: - - admonition - - codehilite: - guess_lang: false - - toc: - permalink: true \ No newline at end of file From bd7e95e647e91831632ef24e7b802de71d792f2e Mon Sep 17 00:00:00 2001 From: kjeld Schouten-Lebbing Date: Mon, 20 Jul 2020 16:16:11 +0200 Subject: [PATCH 07/56] Revert "Update from https://github.com/jailmanager/iocage-plugin-plex/commit/83d90a648896c294c205a2a2e7a17c83e44e5fc6)" This reverts commit 6fdc3b334d427e9ddfafef94895fe70e12204845. --- .shellcheckrc | 1 + CNAME | 1 + LICENSE | 25 ++ LICENSE.BSD2 | 25 ++ LICENSE.GPLV2 | 339 ++++++++++++++++++++++++++ content/config options.md | 49 ++++ content/development/functions.md | 37 +++ content/development/linked_configs.md | 19 ++ content/index.md | 5 + content/migration/v1.1.x to v1.2.x.md | 61 +++++ content/plugins/General | 5 + mkdocs.yml | 24 ++ 12 files changed, 591 insertions(+) create mode 100644 .shellcheckrc create mode 100644 CNAME create mode 100644 LICENSE create mode 100644 LICENSE.BSD2 create mode 100644 LICENSE.GPLV2 create mode 100644 content/config options.md create mode 100644 content/development/functions.md create mode 100644 content/development/linked_configs.md create mode 100644 content/index.md create mode 100644 content/migration/v1.1.x to v1.2.x.md create mode 100644 content/plugins/General create mode 100644 mkdocs.yml diff --git a/.shellcheckrc b/.shellcheckrc new file mode 100644 index 00000000..e70c8981 --- /dev/null +++ b/.shellcheckrc @@ -0,0 +1 @@ +disable=SC2034,SC2154 diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..96efd642 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +wiki2.jailmanager.org \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..3c91742b --- /dev/null +++ b/LICENSE @@ -0,0 +1,25 @@ +BSD 2-Clause License + +Copyright (c) 2020, Kjeld Schouten-Lebbing +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.BSD2 b/LICENSE.BSD2 new file mode 100644 index 00000000..c7394569 --- /dev/null +++ b/LICENSE.BSD2 @@ -0,0 +1,25 @@ +BSD 2-Clause License + +Copyright (c) 2019, Kjeld Schouten-Lebbing +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/LICENSE.GPLV2 b/LICENSE.GPLV2 new file mode 100644 index 00000000..d159169d --- /dev/null +++ b/LICENSE.GPLV2 @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/content/config options.md b/content/config options.md new file mode 100644 index 00000000..9b55155f --- /dev/null +++ b/content/config options.md @@ -0,0 +1,49 @@ +## Config Options + +There are a lot of possibly configuration options in config.yml. +For jail specific config options, please see the wiki documentation for your specific jail. This page only list general and global config options, that are the same for every jail. + +## Global config options + +Global options apply to every jail. Use and change with caution. + +### dataset + +All config options under "dataset" change dataset creation and linking. The indentation and "dataset" flag are not optional. +All Datasets are auto-created if they do not exist already, no need to worry about creating them! + +- config: The dataset that is going to contain the persistant data for every jail. For example: Nextcloud user files for nextcloud or the actual database for mariadb. +- iocage: The dataset containing the iocage config. In FreeNAS often `poolname/iocage` +- media: The dataset that is going to contain all media files for plex, Sonarr, Radarr etc. Such as movies and music. Music, Movie etc. sub-datasets are auto-created. +- downloads: The dataset containging temporary download files. These are moved to media when finished. complete, incomplete etc. sub-datasets are auto-created. + +## jails +All config options under "jails" change default jail settings that are the same for every created jail. The indentation and "jails" flag are not optional. +- version: the current to-be-installed version for jails +- pkgs: packages that are installed to all created jails + +## (hidden) Auto created datasets + +Some datasets are auto created and can not be changed from the config file. This is done to ease troubleshooting. + +- `media/music` created as a sub-dataset of media, contains music +- `media/movies` created as a sub-dataset of media, contains movies +- `media/shows` created as a sub-dataset of media, contains tv-shows +- `downloads/complete` created as a sub-dataset of downloads, contains completed downloads +- `downloads/incomplete` created as a sub-dataset of downloads, contains not-yet-completed downloads + +## General config options + +### Networking + +Please be aware that dhcp is not actively supported, many of the jails depend on having a fixed IP-adress in the config file. +Some also depend on other jails having a fixed IP in the config file. Use of DHCP is on your own risk and might not work. + +- ip4_addr: To set a static IP (recommended), enter the desired ip address here. Leave blank (or remove the line) for DHCP. +- gateway: Set the gateway IP for static IP setup. Leave blank (or remove the line) for DHCP. + +### Advanced +- interfaces: Set the "interfaces" flag for iocage. Example: `vnet0:bridge0` (optional) +- dhcp: Set to "on" to force DHCP (not required for DHCP, see above) +- pkgs: Override the to-be-install packages for this jail (might break now or break updates) +- custom_iocage: Adds additional custom options to iocage create (NOT actively supported, use on your own risk) \ No newline at end of file diff --git a/content/development/functions.md b/content/development/functions.md new file mode 100644 index 00000000..5315938a --- /dev/null +++ b/content/development/functions.md @@ -0,0 +1,37 @@ +# Custom Functions + +## Intro + +With Jailman we have a number of functions that are custom. This document lists them and explains their use. Currently all custom functions are inculded in ./includes/global.sh + +## parse_yaml +This functions parses the yml config files. It does not support lists however and we highly advice not using indentations other than 2 spaces either. +It's only input is a yml file and it should be called as the argument of an eval statement. + +## gitupdate +This function triggers an update based on the branch it is given. +Currently only called in jailman.sh and it is fed the remote/branch combo it is currently on. + +## jailcreate +This function creates the actual jail based on a plugin. +It takes the jail name, looks up the plugin and proceeds accordingly. +It also creates things like basic mount points and such. while also checking if all required vars are filled. + +Currently only used in jailman.sh + +## initplugin +This function turns all config.yml variables for the jail inputed as $1 into local variables. This is not required (as variables are also available as `${!jail_$1_varname}`), but makes it easier for less experienced plugin creators to start working with Jailman +It takes only the Jailname as input. + +## exitplugin +This script does the "success" processing for an installation. It takes the name of the jail and a message (preferable a connection instruction), creates the "INSTALLED" file, does the last checks and outputs the successmessages +No additional scripting besides `echo`'s should be done after executing this script. + +## createmount +This function creates a dataset and mounts said dataset to a specific folder in a jail, while also creating required subfolders if needed. +It's easier to use and update than mounting folders manually, so it's the only allowed way to do so, unless very specific config is required (such as database datasets) +It has the following input options: +# $1 = jail name +# $2 = Dataset +# $3 = Target mountpoint +# $4 = fstab prefernces diff --git a/content/development/linked_configs.md b/content/development/linked_configs.md new file mode 100644 index 00000000..2239ad85 --- /dev/null +++ b/content/development/linked_configs.md @@ -0,0 +1,19 @@ +# Linking Jail Configs + +## Intro +To keep things simple, you can easily link jail configs together, for example you can make the settings of your MariaDB jail accessable to your nextcloud jail. +This can be done using a variable with the name: `link_$Name`, where $Name is just a description and the value in config.yml would be the actual jail to connect to. + +For example: +`link_testjail: thisismytestjail` + +Would link "thisismytestjail" to your current jail. + +## using linked jails + +Once setup one can reach all the variables of the linked jail using the following syntax: +`link_$Name_$variable` + +For example if we want the ipv4 address of the jail we linked earlier, during the install of another jail, we would do: +`link_testjail_ip4_addr` + diff --git a/content/index.md b/content/index.md new file mode 100644 index 00000000..f2dbf1aa --- /dev/null +++ b/content/index.md @@ -0,0 +1,5 @@ +# Introduction +Welcome to Jailam. An open source effort to create an easy management tool for Freenas Jails. + +As this project is in its early stages, this wiki will serve the purpose of providing a foundation and a almost (not) up-to-date scripting reference to the underlying structure of jailman. + diff --git a/content/migration/v1.1.x to v1.2.x.md b/content/migration/v1.1.x to v1.2.x.md new file mode 100644 index 00000000..c00c76b3 --- /dev/null +++ b/content/migration/v1.1.x to v1.2.x.md @@ -0,0 +1,61 @@ +## v1.1.x to v1.2.x + +With v1.2 we made it possible to run multiple jails of the same type. +This is done by seperating jails (your individual installs) from plugins (our designs). + +Due to this change, the config file has been changed and thus you need to adapt your config file. + + +### Jails + +All your jails need to be indented by 2 spaces under a main group "jails" like this: + +` +jail: + plex: + plugin: plex + ip4_addr: 192.168.1.99/24 + gateway: 192.168.1.1 + beta: false +` + +Also note: +Where previously we used `plex: plex`, we can now just use `plex:` + +### plugins + +Every jail now requires a plugin to be defined. for example: +v1.1.x +` + +plex: plex + ip4_addr: 192.168.1.99/24 + gateway: 192.168.1.1 + plexpass: false +` + +In v1.2.x becomes: +` +jail: + plex: + plugin: plex + ip4_addr: 192.168.1.99/24 + gateway: 192.168.1.1 + beta: false +` + +### Plex + +Due to community feedback in v1.2.x "plexpass" has been renamed to "beta". + +### pkgs + +pkgs are removed from jail config in v1.2.x and are now part of the plugin. This way we can keep them up-to-date for you. + +### Documentation + +All jails now have wiki documentation pages and all basic jail values have been documented + +### Other changes + +Some other minor changes in config file values have been done, please refer to the example document and compare your config to the example \ No newline at end of file diff --git a/content/plugins/General b/content/plugins/General new file mode 100644 index 00000000..f12d6cb1 --- /dev/null +++ b/content/plugins/General @@ -0,0 +1,5 @@ +## General Info + +Blueprints are the blueprint on which your created jails are going to be based. + +More info TBD diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 00000000..cbc6dc1d --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,24 @@ +# Project Information +site_name: JailMan +site_description: 'Project Documentation for JailManager' +site_author: 'JailManager Team' +docs_dir: content/ +site_url: 'https://wiki2.jailmanager.org' + +# Repository +repo_name: 'jailmanager/wiki' +repo_url: 'https://github.com/jailmanager/wiki' +edit_uri: 'edit/dev/docs/' + +theme: + name: 'material' + features: + - tabs + language: 'en' + +markdown_extensions: + - admonition + - codehilite: + guess_lang: false + - toc: + permalink: true \ No newline at end of file From 96dbe4b8fd8294b3a8451f6b8e2a8b5042ed2923 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Mon, 20 Jul 2020 14:17:44 +0000 Subject: [PATCH 08/56] Update from https://github.com/jailmanager/iocage-plugin-plex/commit/55cfefed52cf6f5c7f11d2be7b282d9697d669c2) --- .shellcheckrc | 1 - content/plugins/plex.md | 23 +++++++++++++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) delete mode 100644 .shellcheckrc create mode 100644 content/plugins/plex.md diff --git a/.shellcheckrc b/.shellcheckrc deleted file mode 100644 index e70c8981..00000000 --- a/.shellcheckrc +++ /dev/null @@ -1 +0,0 @@ -disable=SC2034,SC2154 diff --git a/content/plugins/plex.md b/content/plugins/plex.md new file mode 100644 index 00000000..20078e4d --- /dev/null +++ b/content/plugins/plex.md @@ -0,0 +1,23 @@ +# 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 + +#### Advanced 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) + + +#### Experimental config parameters: + +These parameters are either not fully tested or expected to break with short-term OS updates. They are included in the release however, because they are suspected to become stable eventually. + +- hw_transcode: set this to "true" to enable hardware transcoding on compatible systems, to "false" to disable or, preferable, just leave it out to disable +- hw_transcode_ruleset: the devfs rulesetnumber to use for hardware transcoding +- ruleset_script: The location to save the ruleset-setting script to. (loaded at reboot) + + +# Original plex install script guide + +https://www.ixsystems.com/community/resources/fn11-3-iocage-jails-plex-tautulli-sonarr-radarr-lidarr-jackett-transmission-organizr.58/ + +For more information about plex, please see the Plex website. \ No newline at end of file From 04fbe53392185b5d063c8a08481abbd6f8b0eb63 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Mon, 20 Jul 2020 14:27:55 +0000 Subject: [PATCH 09/56] Update from https://github.com/jailmanager/iocage-plugin-bazarr/commit/8e6baf0f1745169aa225a1a2faa4363c507c401d) --- content/plugins/bazarr.md | 91 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 content/plugins/bazarr.md diff --git a/content/plugins/bazarr.md b/content/plugins/bazarr.md new file mode 100644 index 00000000..9f308147 --- /dev/null +++ b/content/plugins/bazarr.md @@ -0,0 +1,91 @@ +# Bazarr + +## Original README from the lidarr github: + +https://github.com/morpheus65535/bazarr + +# bazarr +Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you. + +Be aware that Bazarr doesn't scan disk to detect series and movies: It only takes care of the series and movies that are indexed in Sonarr and Radarr. + +Thanks to the folks at OpenSubtitles for their logo that was an inspiration for ours. + +## Support on Paypal +At the request of some, here is a way to demonstrate your appreciation for the efforts made in the development of Bazarr: +[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=XHHRWXT9YB7WE&source=url) + +# Status +[![GitHub issues](https://img.shields.io/github/issues/morpheus65535/bazarr.svg?style=flat-square)](https://github.com/morpheus65535/bazarr/issues) +[![GitHub stars](https://img.shields.io/github/stars/morpheus65535/bazarr.svg?style=flat-square)](https://github.com/morpheus65535/bazarr/stargazers) +[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/bazarr.svg?style=flat-square)](https://hub.docker.com/r/linuxserver/bazarr/) +[![Docker Pulls](https://img.shields.io/docker/pulls/hotio/bazarr.svg?style=flat-square)](https://hub.docker.com/r/hotio/bazarr/) +[![Discord](https://img.shields.io/badge/discord-chat-MH2e2eb.svg?style=flat-square)](https://discord.gg/MH2e2eb) + +# Support +For installation and configuration instructions, see [wiki](https://github.com/morpheus65535/bazarr/wiki). + +You can reach us for support on [Discord](https://discord.gg/MH2e2eb). + +If you find a bug, please open an issue on [Github](https://github.com/morpheus65535/bazarr/issues). + +# Feature Requests +If you need something that is not already part of Bazarr, feel free to create a feature request on [Feature Upvote](http://features.bazarr.media). + +## Major Features Include: + +* Support for major platforms: Windows, Linux, macOS, Raspberry Pi, etc. +* Automatically add new series and episodes from Sonarr +* Automatically add new movies from Radarr +* Series or movies based configuration for subtitles languages +* Scan your existing library for internal and external subtitles and download any missing +* Keep history of what was downloaded from where and when +* Manual search so you can download subtitles on demand +* Upgrade subtitles previously downloaded when a better one is found +* Ability to delete external subtitles from disk +* Currently support 184 subtitles languages with support for forced/foreign subtitles (depending of providers) +* And a beautiful UI based on Sonarr + +## Supported subtitles providers: +* Addic7ed +* Argenteam +* Assrt +* BetaSeries +* BSPlayer +* GreekSubtitles +* Hosszupuska +* LegendasDivx +* LegendasTV +* Napiprojekt +* Napisy24 +* Nekur +* OpenSubtitles +* Podnapisi +* Subdivx +* Subs.sab.bz +* Subscene +* Subscenter +* Subsunacs.net +* Subs4Free +* Subs4Series +* Subtitri.id.lv +* Subtitri.nekur.net +* SubZ +* Supersubtitles +* Titlovi +* TVSubtitles +* Wizdom +* XSubs +* Yavka.net +* Zimuku + +## Screenshot + +You can get more in the [screenshot](https://github.com/morpheus65535/bazarr/tree/master/screenshot) directory but it should look familiar: + +![Series](/screenshot/1-series/series-2-episodes.png?raw=true "Series") + +### License + +* [GNU GPL v3](http://www.gnu.org/licenses/gpl.html) +* Copyright 2010-2019 From c8b7464c8d065c01d35f4e6cb63438b95580fd1c Mon Sep 17 00:00:00 2001 From: jailmanager Date: Mon, 20 Jul 2020 14:35:04 +0000 Subject: [PATCH 10/56] Update from https://github.com/jailmanager/iocage-plugin-bitwarden/commit/4e3bc2188e289477fc016ac91ff5502b7e68a4d0) --- content/plugins/bitwarden.md | 75 ++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 content/plugins/bitwarden.md diff --git a/content/plugins/bitwarden.md b/content/plugins/bitwarden.md new file mode 100644 index 00000000..7908dae2 --- /dev/null +++ b/content/plugins/bitwarden.md @@ -0,0 +1,75 @@ +# Bitwarden_RS + +## Configuration Parameters +- admin_token: Long (preferable random) password to be used to open the Bitwarden_rs admin interface. Admin interface is disabled when empty +- link_mariadb: MariaDB jail to be used for storing the database. +- mariadb_database: The name of the database used for (encrypted) credential storage. defaults to the jail name. Will be created on first install. +- mariadb_user: The name of the database user to be used for (encrypted) credential storage. defaults to the database name. Will be created on first install. +- mariadb_password: The password of the database user to be used for (encrypted) credential storage. defaults to the database name. + +## Original README from the Bitwarden_rs github: + +https://github.com/dani-garcia/bitwarden_rs + +# Bitwarden_RS +### This is a Bitwarden server API implementation written in Rust compatible with [upstream Bitwarden clients](https://bitwarden.com/#download)*, perfect for self-hosted deployment where running the official resource-heavy service might not be ideal. + +--- + +[![Travis Build Status](https://travis-ci.org/dani-garcia/bitwarden_rs.svg?branch=master)](https://travis-ci.org/dani-garcia/bitwarden_rs) +[![Docker Pulls](https://img.shields.io/docker/pulls/bitwardenrs/server.svg)](https://hub.docker.com/r/bitwardenrs/server) +[![Dependency Status](https://deps.rs/repo/github/dani-garcia/bitwarden_rs/status.svg)](https://deps.rs/repo/github/dani-garcia/bitwarden_rs) +[![GitHub Release](https://img.shields.io/github/release/dani-garcia/bitwarden_rs.svg)](https://github.com/dani-garcia/bitwarden_rs/releases/latest) +[![GPL-3.0 Licensed](https://img.shields.io/github/license/dani-garcia/bitwarden_rs.svg)](https://github.com/dani-garcia/bitwarden_rs/blob/master/LICENSE.txt) +[![Matrix Chat](https://img.shields.io/matrix/bitwarden_rs:matrix.org.svg?logo=matrix)](https://matrix.to/#/#bitwarden_rs:matrix.org) + +Image is based on [Rust implementation of Bitwarden API](https://github.com/dani-garcia/bitwarden_rs). + +**This project is not associated with the [Bitwarden](https://bitwarden.com/) project nor 8bit Solutions LLC.** + +#### ⚠️**IMPORTANT**⚠️: When using this server, please report any bugs or suggestions to us directly (look at the bottom of this page for ways to get in touch), regardless of whatever clients you are using (mobile, desktop, browser...). DO NOT use the official support channels. + +--- + +## Features + +Basically full implementation of Bitwarden API is provided including: + + * Single user functionality + * Organizations support + * Attachments + * Vault API support + * Serving the static files for Vault interface + * Website icons API + * Authenticator and U2F support + * YubiKey and Duo support + +## Installation +Pull the docker image and mount a volume from the host for persistent storage: + +```sh +docker pull bitwardenrs/server:latest +docker run -d --name bitwarden -v /bw-data/:/data/ -p 80:80 bitwardenrs/server:latest +``` +This will preserve any persistent data under /bw-data/, you can adapt the path to whatever suits you. + +**IMPORTANT**: Some web browsers, like Chrome, disallow the use of Web Crypto APIs in insecure contexts. In this case, you might get an error like `Cannot read property 'importKey'`. To solve this problem, you need to access the web vault from HTTPS. + +This can be configured in [bitwarden_rs directly](https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-HTTPS) or using a third-party reverse proxy ([some examples](https://github.com/dani-garcia/bitwarden_rs/wiki/Proxy-examples)). + +If you have an available domain name, you can get HTTPS certificates with [Let's Encrypt](https://letsencrypt.org/), or you can generate self-signed certificates with utilities like [mkcert](https://github.com/FiloSottile/mkcert). Some proxies automatically do this step, like Caddy (see examples linked above). + +## Usage +See the [bitwarden_rs wiki](https://github.com/dani-garcia/bitwarden_rs/wiki) for more information on how to configure and run the bitwarden_rs server. + +## Get in touch +To ask a question, offer suggestions or new features or to get help configuring or installing the software, please [use the forum](https://bitwardenrs.discourse.group/). + +If you spot any bugs or crashes with bitwarden_rs itself, please [create an issue](https://github.com/dani-garcia/bitwarden_rs/issues/). Make sure there aren't any similar issues open, though! + +If you prefer to chat, we're usually hanging around at [#bitwarden_rs:matrix.org](https://matrix.to/#/#bitwarden_rs:matrix.org) room on Matrix. Feel free to join us! + +### Sponsors +Thanks for your contribution to the project! + +- [@ChonoN](https://github.com/ChonoN) From 3dfc503fb029346daa52b583fac56e17a485dc32 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Mon, 20 Jul 2020 14:38:42 +0000 Subject: [PATCH 11/56] Update from https://github.com/jailmanager/iocage-plugin-grafana/commit/f330ea269f7ec2bfc2cc8369235e708a15ab1570) --- content/plugins/grafana.md | 67 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 content/plugins/grafana.md diff --git a/content/plugins/grafana.md b/content/plugins/grafana.md new file mode 100644 index 00000000..03d4dbe7 --- /dev/null +++ b/content/plugins/grafana.md @@ -0,0 +1,67 @@ +# Grafana + +#### Configuration Parameters +- password (req): The password for the default admin account (admin). Required. +- link_influxdb (opt): set to the name of the influxdb jail to set as datasource, if desired. +- link_unifi (opt): set to the name of the Unifi jail with Unifi Poller to automatically get its data from influxdb. (requires link_influxdb) + + +##### Datarsource options (opt) are only used if you wish to automatically connect Grafana to an InfluxDB data source (i.e. Unifi Poller). + +## Original README from Grafana github. + +![Grafana](docs/logo-horizontal.png) + +The open-source platform for monitoring and observability. + +[![License](https://img.shields.io/github/license/grafana/grafana)](LICENSE) +[![Circle CI](https://img.shields.io/circleci/build/gh/grafana/grafana)](https://circleci.com/gh/grafana/grafana) +[![Go Report Card](https://goreportcard.com/badge/github.com/grafana/grafana)](https://goreportcard.com/report/github.com/grafana/grafana) + +Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture: + +- **Visualize:** Fast and flexible client side graphs with a multitude of options. Panel plugins for many different way to visualize metrics and logs. +- **Dynamic Dashboards:** Create dynamic & reusable dashboards with template variables that appear as dropdowns at the top of the dashboard. +- **Explore Metrics:** Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side. +- **Explore Logs:** Experience the magic of switching from metrics to logs with preserved label filters. Quickly search through all your logs or streaming them live. +- **Alerting:** Visually define alert rules for your most important metrics. Grafana will continuously evaluate and send notifications to systems like Slack, PagerDuty, VictorOps, OpsGenie. +- **Mixed Data Sources:** Mix different data sources in the same graph! You can specify a data source on a per-query basis. This works for even custom datasources. + +### Grafana 7.0 and GrafanaCONline + +- Grafana 7.0 Beta is [available for download](https://grafana.com/grafana/download). +- Read [what's is new](https://grafana.com/docs/grafana/latest/guides/whats-new-in-v7-0/). + +Want to learn more about Grafana 7 and more? Sign up for our online conference! + +[![GrafanaCONline](public/img/grafanaconline.png)](https://grafana.com/about/events/grafanacon/2020/?source=grafana-readme) + +## Get started + +- [Get Grafana](https://grafana.com/get) +- [Installation guides](http://docs.grafana.org/installation/) + +Unsure if Grafana is for you? Watch Grafana in action on [play.grafana.org](https://play.grafana.org/)! + +## Documentation + +The Grafana documentation is available at [grafana.com/docs](https://grafana.com/docs/). + +## Contributing + +If you're interested in contributing to the Grafana project: + +- Start by reading the [Contributing guide](/CONTRIBUTING.md). +- Learn how to set up your local environment, in our [Developer guide](/contribute/developer-guide.md). +- Explore our [beginner-friendly issues](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+label%3A%22beginner+friendly%22). + +## Get involved + +- Follow [@grafana on Twitter](https://twitter.com/grafana/) +- Read and subscribe to the [Grafana blog](https://grafana.com/blog/) +- If you have a specific question, check out our [discussion forums](https://community.grafana.com/). +- For general discussions, join us on the [official Slack](http://slack.raintank.io/) team. + +## License + +Grafana is distributed under the [Apache 2.0 License](https://github.com/grafana/grafana/blob/master/LICENSE). From b198cc9d48da8451f1223e2cc23d64f9fa7756ce Mon Sep 17 00:00:00 2001 From: jailmanager Date: Mon, 20 Jul 2020 14:38:45 +0000 Subject: [PATCH 12/56] Update from https://github.com/jailmanager/iocage-plugin-radarr/commit/ffa6ba762edbcf461dc20c434b90c5362f3539d1) --- content/plugins/grafana.md | 67 --------------- content/plugins/radarr.md | 170 +++++++++++++++++++++++++++++++++++++ 2 files changed, 170 insertions(+), 67 deletions(-) delete mode 100644 content/plugins/grafana.md create mode 100644 content/plugins/radarr.md diff --git a/content/plugins/grafana.md b/content/plugins/grafana.md deleted file mode 100644 index 03d4dbe7..00000000 --- a/content/plugins/grafana.md +++ /dev/null @@ -1,67 +0,0 @@ -# Grafana - -#### Configuration Parameters -- password (req): The password for the default admin account (admin). Required. -- link_influxdb (opt): set to the name of the influxdb jail to set as datasource, if desired. -- link_unifi (opt): set to the name of the Unifi jail with Unifi Poller to automatically get its data from influxdb. (requires link_influxdb) - - -##### Datarsource options (opt) are only used if you wish to automatically connect Grafana to an InfluxDB data source (i.e. Unifi Poller). - -## Original README from Grafana github. - -![Grafana](docs/logo-horizontal.png) - -The open-source platform for monitoring and observability. - -[![License](https://img.shields.io/github/license/grafana/grafana)](LICENSE) -[![Circle CI](https://img.shields.io/circleci/build/gh/grafana/grafana)](https://circleci.com/gh/grafana/grafana) -[![Go Report Card](https://goreportcard.com/badge/github.com/grafana/grafana)](https://goreportcard.com/report/github.com/grafana/grafana) - -Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture: - -- **Visualize:** Fast and flexible client side graphs with a multitude of options. Panel plugins for many different way to visualize metrics and logs. -- **Dynamic Dashboards:** Create dynamic & reusable dashboards with template variables that appear as dropdowns at the top of the dashboard. -- **Explore Metrics:** Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side. -- **Explore Logs:** Experience the magic of switching from metrics to logs with preserved label filters. Quickly search through all your logs or streaming them live. -- **Alerting:** Visually define alert rules for your most important metrics. Grafana will continuously evaluate and send notifications to systems like Slack, PagerDuty, VictorOps, OpsGenie. -- **Mixed Data Sources:** Mix different data sources in the same graph! You can specify a data source on a per-query basis. This works for even custom datasources. - -### Grafana 7.0 and GrafanaCONline - -- Grafana 7.0 Beta is [available for download](https://grafana.com/grafana/download). -- Read [what's is new](https://grafana.com/docs/grafana/latest/guides/whats-new-in-v7-0/). - -Want to learn more about Grafana 7 and more? Sign up for our online conference! - -[![GrafanaCONline](public/img/grafanaconline.png)](https://grafana.com/about/events/grafanacon/2020/?source=grafana-readme) - -## Get started - -- [Get Grafana](https://grafana.com/get) -- [Installation guides](http://docs.grafana.org/installation/) - -Unsure if Grafana is for you? Watch Grafana in action on [play.grafana.org](https://play.grafana.org/)! - -## Documentation - -The Grafana documentation is available at [grafana.com/docs](https://grafana.com/docs/). - -## Contributing - -If you're interested in contributing to the Grafana project: - -- Start by reading the [Contributing guide](/CONTRIBUTING.md). -- Learn how to set up your local environment, in our [Developer guide](/contribute/developer-guide.md). -- Explore our [beginner-friendly issues](https://github.com/grafana/grafana/issues?q=is%3Aopen+is%3Aissue+label%3A%22beginner+friendly%22). - -## Get involved - -- Follow [@grafana on Twitter](https://twitter.com/grafana/) -- Read and subscribe to the [Grafana blog](https://grafana.com/blog/) -- If you have a specific question, check out our [discussion forums](https://community.grafana.com/). -- For general discussions, join us on the [official Slack](http://slack.raintank.io/) team. - -## License - -Grafana is distributed under the [Apache 2.0 License](https://github.com/grafana/grafana/blob/master/LICENSE). diff --git a/content/plugins/radarr.md b/content/plugins/radarr.md new file mode 100644 index 00000000..9dc41df9 --- /dev/null +++ b/content/plugins/radarr.md @@ -0,0 +1,170 @@ +# Radarr + +## Original README from the radarr github: + +https://github.com/Radarr/Radarr + +# Radarr + +

+Radarr +

+ +**New UI Development:** For an overview of the new UI development see [DEVELOPMENT.md](https://github.com/Radarr/Radarr/blob/aphrodite/DEVELOPMENT.md). + +Radarr is an __independent__ fork of [Sonarr](https://github.com/Sonarr/Sonarr) reworked for automatically downloading movies via Usenet and BitTorrent. + +The project was inspired by other Usenet/BitTorrent movie downloaders such as CouchPotato. + +See the [Roadmap blogpost](https://blog.radarr.video/development/update/2018/11/11/roadmap-update.html) for an overview of planned features. + +## Getting Started + +[![Installation](https://img.shields.io/badge/wiki-installation-brightgreen.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/wiki/Installation) +[![Docker](https://img.shields.io/badge/wiki-docker-1488C6.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/wiki/Docker) +[![Setup Guide](https://img.shields.io/badge/wiki-setup_guide-orange.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/wiki/Setup-Guide) +[![FAQ](https://img.shields.io/badge/wiki-FAQ-BF55EC.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/wiki/FAQ) + +* [Install Radarr for your desired OS](https://github.com/Radarr/Radarr/wiki/Installation) *or* use [Docker](https://github.com/Radarr/Radarr/wiki/Docker) +* *For Linux users*, run `radarr` and *optionally* have [Radarr start automatically](https://github.com/Radarr/Radarr/wiki/Autostart-on-Linux) +* Connect to the UI through or in your web browser +* See the [Setup Guide](https://github.com/Radarr/Radarr/wiki/Setup-Guide) for further configuration + +## Downloads + +| Release Type | Branch: develop (stable) | Branch: nightly (semi-unstable) | Branch: aphrodite (very-unstable) | +|-----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Binary Releases | [![GitHub Releases](https://img.shields.io/badge/downloads-releases-brightgreen.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/releases) | [![AppVeyor Builds](https://img.shields.io/badge/downloads-nightly-green.svg?maxAge=60&style=flat-square)](https://ci.appveyor.com/project/galli-leo/radarr-usby1/branch/develop/artifacts) | | +| Docker | [![Docker release](https://img.shields.io/badge/linuxserver-radarr:latest-blue.svg?colorB=1488C6&maxAge=60&style=flat-square)](https://hub.docker.com/r/linuxserver/radarr) | [![Docker nightly](https://img.shields.io/badge/linuxserver-radarr:nightly-blue.svg?colorB=1488C6&maxAge=60&style=flat-square)](https://hub.docker.com/r/linuxserver/radarr) | [![Docker aphrodite](https://img.shields.io/badge/linuxserver-radarr:preview-blue.svg?colorB=1488C6&maxAge=60&style=flat-square)](https://hub.docker.com/r/linuxserver/radarr) | +| Docker | [![Docker release](https://img.shields.io/badge/hotio-radarr:latest-blue.svg?colorB=1488C6&maxAge=60&style=flat-square)](https://hub.docker.com/r/hotio/radarr) | [![Docker nightly](https://img.shields.io/badge/hotio-radarr:unstable-blue.svg?colorB=1488C6&maxAge=60&style=flat-square)](https://hub.docker.com/r/hotio/radarr) | [![Docker aphrodite](https://img.shields.io/badge/hotio-radarr:aphrodite-blue.svg?colorB=1488C6&maxAge=60&style=flat-square)](https://hub.docker.com/r/hotio/radarr) | + +## Support + +[![OpenCollective](https://opencollective.com/radarr/tiers/backer/badge.svg)](#backers) +[![OpenCollective](https://opencollective.com/radarr/tiers/flexible-sponsor/badge.svg)](#flexible-sponsors) +[![OpenCollective](https://opencollective.com/radarr/tiers/sponsor/badge.svg)](#sponsors) + +[![Discord](https://img.shields.io/badge/discord-chat-7289DA.svg?maxAge=60&style=flat-square)](https://discord.gg/AD3UP37) +[![Reddit](https://img.shields.io/badge/reddit-discussion-FF4500.svg?maxAge=60&style=flat-square)](https://www.reddit.com/r/radarr) +[![Feathub](https://img.shields.io/badge/feathub-requests-lightgrey.svg?maxAge=60&style=flat-square)](http://feathub.com/Radarr/Radarr) +[![GitHub](https://img.shields.io/badge/github-issues-red.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/issues) +[![GitHub Wiki](https://img.shields.io/badge/github-wiki-181717.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/wiki) + +## Status + +[![GitHub issues](https://img.shields.io/github/issues/radarr/radarr.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/issues) +[![GitHub pull requests](https://img.shields.io/github/issues-pr/radarr/radarr.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/pulls) +[![GNU GPL v3](https://img.shields.io/badge/license-GNU%20GPL%20v3-blue.svg?maxAge=60&style=flat-square)](http://www.gnu.org/licenses/gpl.html) +[![Copyright 2010-2017](https://img.shields.io/badge/copyright-2017-blue.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr) +[![Github Releases](https://img.shields.io/github/downloads/Radarr/Radarr/total.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/releases/) +[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/radarr.svg?maxAge=60&style=flat-square)](https://hub.docker.com/r/linuxserver/radarr/) +[![Changelog](https://img.shields.io/github/commit-activity/w/radarr/radarr.svg?style=flat-square)](/CHANGELOG.md#unreleased) + +| Service | Master | Develop | +|----------|:---------------------------:|:----------------------------:| +| AppVeyor | [![AppVeyor](https://img.shields.io/appveyor/ci/galli-leo/Radarr/master.svg?maxAge=60&style=flat-square)](https://ci.appveyor.com/project/galli-leo/Radarr) | [![AppVeyor](https://img.shields.io/appveyor/ci/galli-leo/Radarr-usby1/develop.svg?maxAge=60&style=flat-square)](https://ci.appveyor.com/project/galli-leo/Radarr-usby1) | +| Travis | [![Travis](https://img.shields.io/travis/Radarr/Radarr/master.svg?maxAge=60&style=flat-square)](https://travis-ci.org/Radarr/Radarr) | [![Travis](https://img.shields.io/travis/Radarr/Radarr/develop.svg?maxAge=60&style=flat-square)](https://travis-ci.org/Radarr/Radarr) | + +### [Site and API Status](https://status.radarr.video) + +| API | Updates | Sites | +|-------|:----:|:----:| +| [![API V2 (develop)](http://status.radarr.video/component/1/shield?style=flat-square)](https://api.radarr.video/v2/) | [![Update Server](http://status.radarr.video/component/4/shield?style=flat-square)](https://radarr.aeonlucid.com) | [![Radarr Mappings](http://status.radarr.video/component/6/shield?style=flat-square)](https://mappings.radarr.video/) +| [![API Staging (nightly)](http://status.radarr.video/component/2/shield?style=flat-square)](https://staging.api.radarr.video/) | [![Github Updates](http://status.radarr.video/component/5/shield?style=flat-square)](https://api.github.com/v3/) | [![Main Site](http://status.radarr.video/component/7/shield?style=flat-square)](https://radarr.video/) + +Radarr is currently undergoing rapid development and pull requests are actively added into the repository. + +## Features + +### Current Features + +* Adding new movies with lots of information, such as trailers, ratings, etc. +* Support for major platforms: Windows, Linux, macOS, Raspberry Pi, etc. +* Can watch for better quality of the movies you have and do an automatic upgrade. *eg. from DVD to Blu-Ray* +* Automatic failed download handling will try another release if one fails +* Manual search so you can pick any release or to see why a release was not downloaded automatically +* Full integration with SABnzbd and NZBGet +* Automatically searching for releases as well as RSS Sync +* Automatically importing downloaded movies +* Recognizing Special Editions, Director's Cut, etc. +* Identifying releases with hardcoded subs +* All indexers supported by Sonarr also supported +* New PassThePopcorn Indexer +* QBittorrent, Deluge, rTorrent, Transmission and uTorrent download client (Other clients are coming) +* New TorrentPotato Indexer +* Torznab Indexer now supports Movies (Works well with [Jackett](https://github.com/Jackett/Jackett)) +* Scanning PreDB to know when a new release is available +* Importing movies from various online sources, such as IMDb Watchlists (A complete list can be found [here](https://github.com/Radarr/Radarr/issues/114)) +* Full integration with Kodi, Plex (notification, library update) +* And a beautiful UI +* Importing Metadata such as trailers or subtitles +* Adding metadata such as posters and information for Kodi and others to use +* Advanced customization for profiles, such that Radarr will always download the copy you want + +### Planned Features + +See the [Roadmap blogpost](https://blog.radarr.video/development/update/2018/11/11/roadmap-update.html) for an overview of planned features. + +#### [Feature Requests](http://feathub.com/Radarr/Radarr) + +## Configuring the Development Environment + +### Requirements + +* [Visual Studio Community 2019](https://www.visualstudio.com/vs/community/) or [Rider](http://www.jetbrains.com/rider/) +* [Git](https://git-scm.com/downloads) +* [Node.js](https://nodejs.org/en/download/) +* [Yarn](https://yarnpkg.com/) + +### Setup + +* Make sure all the required software mentioned above are installed +* Clone the repository into your development machine ([*info*](https://help.github.com/desktop/guides/contributing/working-with-your-remote-repository-on-github-or-github-enterprise)) +* Grab the submodules `git submodule init && git submodule update` +* Install the required Node Packages `yarn install` +* Start gulp to monitor your dev environment for any changes that need post processing using `yarn start` command. + +> **Notice** +> Gulp must be running at all times while you are working with Radarr client source files. + +### Build + +* To build run `sh build.sh` + +**Note:** Windows users must have bash available to do this. If you installed git, you should have a git bash utility that works. + +### Development + +* Open `Radarr.sln` in Visual Studio 2017 or run the build.sh script, if Mono is installed. Alternatively you can use Jetbrains Rider, since it works on all Platforms. +* Make sure `NzbDrone.Console` is set as the startup project +* Run `build.sh` before running + +## Supporters + +This project would not be possible without the support by these amazing folks. [**Become a sponsor or backer**](https://opencollective.com/radarr) to help us out! + +### Sponsors + +[![Sponsors](https://opencollective.com/radarr/tiers/sponsor.svg)](https://opencollective.com/radarr/order/3851) + +### Flexible Sponsors + +[![Flexible Sponsors](https://opencollective.com/radarr/tiers/flexible-sponsor.svg?avatarHeight=54)](https://opencollective.com/radarr/order/3856) + +### Backers + +[![Backers](https://opencollective.com/radarr/tiers/backer.svg?avatarHeight=48)](https://opencollective.com/radarr/order/3850) + +### JetBrains + +Thank you to [JetBrains JetBrains](http://www.jetbrains.com/) for providing us with free licenses to their great tools + +* [ReSharper ReSharper](http://www.jetbrains.com/resharper/) +* [WebStorm WebStorm](http://www.jetbrains.com/webstorm/) +* [Rider Rider](http://www.jetbrains.com/rider/) +* [dotTrace dotTrace](http://www.jetbrains.com/dottrace/) + +## License + +* [GNU GPL v3](http://www.gnu.org/licenses/gpl.html) +* Copyright 2010-2019 From 615a8711cc8d2af5a1198a10a3d774cd729c21b9 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Mon, 20 Jul 2020 14:39:05 +0000 Subject: [PATCH 13/56] Update from https://github.com/jailmanager/iocage-plugin-tautulli/commit/c8e0ffef5356a20448f690ddd5ab92760c2c065d) --- content/plugins/tautulli.md | 69 +++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 content/plugins/tautulli.md diff --git a/content/plugins/tautulli.md b/content/plugins/tautulli.md new file mode 100644 index 00000000..6d4c4855 --- /dev/null +++ b/content/plugins/tautulli.md @@ -0,0 +1,69 @@ +# Tautulli + +## Original README from the tautulli github: + +https://github.com/Tautulli/Tautulli + +# Tautulli + +A python based web application for monitoring, analytics and notifications for [Plex Media Server](https://plex.tv). + +This project is based on code from [Headphones](https://github.com/rembo10/headphones) and [PlexWatchWeb](https://github.com/ecleese/plexWatchWeb). + +## Features + +* Responsive web design viewable on desktop, tablet and mobile web browsers. +* Themed to complement Plex/Web. +* Easy configuration setup (no separate web server required). +* Monitor current Plex Media Server activity. +* Fully customizable notifications for stream activity and recently added media. +* Top statistics on home page with configurable duration and measurement metric. +* Global watching history with search/filtering & dynamic column sorting. +* Full user list with general information and comparison stats. +* Individual user information including devices IP addresses. +* Complete library statistics and media file information. +* Rich analytics presented using Highcharts graphing. +* Beautiful content information pages. +* Full sync list data on all users syncing items from your library. +* And many more!! + +## Preview + +* [Full preview gallery available on our website](https://tautulli.com) + +![Tautulli Homepage](https://tautulli.com/images/screenshots/activity-compressed.jpg?v=2) + +## Installation & Support + +[![Python](https://img.shields.io/badge/python-v2.7.17-blue?style=flat-square)](https://python.org/downloads/release/python-2717/) +[![Docker Pulls](https://img.shields.io/docker/pulls/tautulli/tautulli?style=flat-square)](https://hub.docker.com/r/tautulli/tautulli) +[![Docker Stars](https://img.shields.io/docker/stars/tautulli/tautulli?style=flat-square)](https://hub.docker.com/r/tautulli/tautulli) + +| Status | Branch: `master` | Branch: `beta` | Branch: `nightly` | +| --- | --- | --- | --- | +| Release | [![Release@master](https://img.shields.io/github/v/release/Tautulli/Tautulli?style=flat-square)](https://github.com/Tautulli/Tautulli/releases/latest)
[![Release Date@master](https://img.shields.io/github/release-date/Tautulli/Tautulli?style=flat-square&color=blue)](https://github.com/Tautulli/Tautulli/releases/latest) | [![Release@beta](https://img.shields.io/github/v/release/Tautulli/Tautulli?include_prereleases&style=flat-square)](https://github.com/Tautulli/Tautulli/releases)
[![Commits@nightly](https://img.shields.io/github/commits-since/Tautulli/Tautulli/latest/beta?style=flat-square&color=blue)](https://github.com/Tautulli/Tautulli/commits/beta) | [![Last Commits@nightly](https://img.shields.io/github/last-commit/Tautulli/Tautulli/nightly?style=flat-square&color=blue)](https://github.com/Tautulli/Tautulli/commits/nightly)
[![Commits@nightly](https://img.shields.io/github/commits-since/Tautulli/Tautulli/latest/nightly?style=flat-square&color=blue)](https://github.com/Tautulli/Tautulli/commits/nightly) | +| Docker | [![Docker@master](https://img.shields.io/badge/tautulli-tautulli:latest-blue?style=flat-square)](https://hub.docker.com/r/tautulli/tautulli)
[![Docker Build@master](https://img.shields.io/github/workflow/status/Tautulli/Tautulli/Publish%20Docker%20Branch/master?style=flat-square)](https://github.com/Tautulli/Tautulli/actions?query=branch%3Amaster) | [![Docker@beta](https://img.shields.io/badge/tautulli-tautulli:beta-blue?style=flat-square)](https://hub.docker.com/r/tautulli/tautulli)
[![Docker Build@beta](https://img.shields.io/github/workflow/status/Tautulli/Tautulli/Publish%20Docker%20Branch/beta?style=flat-square)](https://github.com/Tautulli/Tautulli/actions?query=branch%3Abeta) | [![Docker@nightly](https://img.shields.io/badge/tautulli-tautulli:nightly-blue?style=flat-square)](https://hub.docker.com/r/tautulli/tautulli)
[![Docker Build@nightly](https://img.shields.io/github/workflow/status/Tautulli/Tautulli/Publish%20Docker%20Branch/nightly?style=flat-square)](https://github.com/Tautulli/Tautulli/actions?query=branch%3Anightly) | + +[![Wiki](https://img.shields.io/badge/github-wiki-black?style=flat-square)](https://github.com/Tautulli/Tautulli-Wiki/wiki) +[![Discord](https://img.shields.io/discord/183396325142822912?label=discord&style=flat-square&color=7289DA)](https://tautulli.com/discord) +[![Reddit](https://img.shields.io/reddit/subreddit-subscribers/tautulli?label=reddit&style=flat-square&color=FF5700)](https://www.reddit.com/r/Tautulli/) +[![Plex Forums](https://img.shields.io/badge/plex%20forums-discussion-E5A00D?style=flat-square)](https://forums.plex.tv/t/tautulli-monitor-your-plex-media-server/225242) + +* Read the [Installation Guides](https://github.com/Tautulli/Tautulli-Wiki/wiki/Installation) for instructions to install Tautulli. +* The [Frequently Asked Questions](https://github.com/Tautulli/Tautulli-Wiki/wiki/Frequently-Asked-Questions) in the wiki can help you with common problems. +* Support is available on [Discord](https://tautulli.com/discord), [Reddit](https://www.reddit.com/r/Tautulli), or the [Plex Forums](https://forums.plex.tv/t/tautulli-monitor-your-plex-media-server/225242). + +## Issues & Feature Requests + +[![Issues](https://img.shields.io/badge/github-issues-red?style=flat-square)](https://github.com/Tautulli/Tautulli-Issues) +[![Feathub](https://img.shields.io/badge/feathub-requests-lightgrey?style=flat-square)](https://feathub.com/Tautulli/Tautulli) + +* Please see the [Issues Repository](https://github.com/Tautulli/Tautulli-Issues). + +## License + +[![License](https://img.shields.io/github/license/Tautulli/Tautulli?style=flat-square)](https://github.com/Tautulli/Tautulli/blob/master/LICENSE) + +This is free software under the GPL v3 open source license. Feel free to do with it what you wish, but any modification must be open sourced. A copy of the license is included. + +This software includes Highsoft software libraries which you may freely distribute for non-commercial use. Commerical users must licence this software, for more information visit https://shop.highsoft.com/faq/non-commercial#non-commercial-redistribution. \ No newline at end of file From 038e3ce17eda55f02bee0369824c74c9f3ec1b96 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Mon, 20 Jul 2020 17:09:35 +0000 Subject: [PATCH 14/56] Update from https://github.com/jailmanager/iocage-plugin-sonarr/commit/3662fff50b09a50ade9e9dbaf991ae55c93d09c6) --- content/plugins/sonarr.md | 65 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 content/plugins/sonarr.md diff --git a/content/plugins/sonarr.md b/content/plugins/sonarr.md new file mode 100644 index 00000000..0edcb9cb --- /dev/null +++ b/content/plugins/sonarr.md @@ -0,0 +1,65 @@ +# Sonarr + +## Original README from the sonarr github: + +https://github.com/Sonarr/Sonarr + +# Sonarr + + +Sonarr is a PVR for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new episodes of your favorite shows and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available. + +## Major Features Include: + +* Support for major platforms: Windows, Linux, macOS, Raspberry Pi, etc. +* Automatically detects new episodes +* Can scan your existing library and download any missing episodes +* Can watch for better quality of the episodes you already have and do an automatic upgrade. *eg. from DVD to Blu-Ray* +* Automatic failed download handling will try another release if one fails +* Manual search so you can pick any release or to see why a release was not downloaded automatically +* Fully configurable episode renaming +* Full integration with SABnzbd and NZBGet +* Full integration with Kodi, Plex (notification, library update, metadata) +* Full support for specials and multi-episode releases +* And a beautiful UI + +## Configuring Development Environment: + +### Requirements + +* [Visual Studio 2017](https://www.visualstudio.com/vs/) +* [Git](https://git-scm.com/downloads) +* [NodeJS](https://nodejs.org/en/download/) +* [Yarn](https://yarnpkg.com/) + +### Setup + +* Make sure all the required software mentioned above are installed +* Clone the repository into your development machine. [*info*](https://help.github.com/en/articles/working-with-forks) +* Grab the submodules `git submodule init && git submodule update` +* Install the required Node Packages `yarn` + +### Backend Development + +* Run `yarn build` to build the UI +* Open `Sonarr.sln` in Visual Studio +* Make sure `NzbDrone.Console` is set as the startup project +* Build `NzbDrone.Windows` and `NzbDrone.Mono` projects +* Build Solution + +### UI Development + +* Run `yarn watch` to build UI and rebuild automatically when changes are detected +* Run Sonarr.Console.exe (or debug in Visual Studio) + +### License + + +* [GNU GPL v3](http://www.gnu.org/licenses/gpl.html) +* Copyright 2010-2019 + +### Sponsors + +* [JetBrains](http://www.jetbrains.com/) for providing us with free licenses to their great tools + * [ReSharper](http://www.jetbrains.com/resharper/) + * [TeamCity](http://www.jetbrains.com/teamcity/) From c5b6cea9d2fd5aca2c8ed6e959f2d49c0649b12c Mon Sep 17 00:00:00 2001 From: jailmanager Date: Mon, 20 Jul 2020 18:05:00 +0000 Subject: [PATCH 15/56] Update from https://github.com/jailmanager/iocage-plugin-lidarr/commit/2cd4da1d39cc76f2f61e9301a931ea153417de3e) --- content/plugins/lidarr.md | 73 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 content/plugins/lidarr.md diff --git a/content/plugins/lidarr.md b/content/plugins/lidarr.md new file mode 100644 index 00000000..6347fad9 --- /dev/null +++ b/content/plugins/lidarr.md @@ -0,0 +1,73 @@ +# Lidarr + +## Original README from the lidarr github: + +https://github.com/lidarr/Lidarr + +# Lidarr + +[![Build Status](https://dev.azure.com/Lidarr/Lidarr/_apis/build/status/lidarr.Lidarr?branchName=develop)](https://dev.azure.com/Lidarr/Lidarr/_build/latest?definitionId=1&branchName=develop) +[![BrowserStack Status](https://automate.browserstack.com/badge.svg?badge_key=Z1I4SVZOMitOdENIMHpkMlN3djJiRVJkTzBpdUJ5Q2ZtWVhnYTFvYS9qcz0tLTM5THJZRkVCZlk0blp5cXFBK1BDYWc9PQ==--67f41b00af03ab78148d3d711f22ca42ab348a52)](https://automate.browserstack.com/public-build/Z1I4SVZOMitOdENIMHpkMlN3djJiRVJkTzBpdUJ5Q2ZtWVhnYTFvYS9qcz0tLTM5THJZRkVCZlk0blp5cXFBK1BDYWc9PQ==--67f41b00af03ab78148d3d711f22ca42ab348a52) +[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/lidarr.svg)](https://github.com/lidarr/Lidarr/wiki/Docker) +![Github Downloads](https://img.shields.io/github/downloads/lidarr/lidarr/total.svg) +[![Backers on Open Collective](https://opencollective.com/lidarr/backers/badge.svg)](#backers) [![Sponsors on Open Collective](https://opencollective.com/lidarr/sponsors/badge.svg)](#sponsors) + +Lidarr is a music collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new tracks from your favorite artists and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available. + +## Major Features Include: + +* Support for major platforms: Windows, Linux, macOS, Raspberry Pi, etc. +* Automatically detects new tracks. +* Can scan your existing library and download any missing tracks. +* Can watch for better quality of the tracks you already have and do an automatic upgrade. +* Automatic failed download handling will try another release if one fails +* Manual search so you can pick any release or to see why a release was not downloaded automatically +* Fully configurable track renaming +* Full integration with SABnzbd and NZBGet +* Full integration with Kodi, Plex (notification, library update, metadata) +* Full support for specials and multi-album releases +* And a beautiful UI + +## Feature Requests + +[![Feature Requests](http://feathub.com/lidarr/Lidarr?format=svg)](http://feathub.com/lidarr/Lidarr) + +## Support + +[![Discord](https://img.shields.io/badge/discord-chat-7289DA.svg?maxAge=60)](https://discord.gg/8Y7rDc9) +[![Reddit](https://img.shields.io/badge/reddit-discussion-FF4500.svg?maxAge=60)](https://www.reddit.com/r/lidarr) +[![GitHub](https://img.shields.io/badge/github-issues-red.svg?maxAge=60)](https://github.com/Lidarr/Lidarr/issues) +[![GitHub Wiki](https://img.shields.io/badge/github-wiki-181717.svg?maxAge=60)](https://github.com/Lidarr/Lidarr/wiki) + +## Contributors + +This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)]. + + + +## Backers + +Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/lidarr#backer)] + + + + +## Sponsors + +Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/lidarr#sponsor)] + + + + + + + + + + + + +### License + +* [GNU GPL v3](http://www.gnu.org/licenses/gpl.html) +* Copyright 2010-2019 From 8547fb574fc5bc19f09642d89b256340f3f1a7d8 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Mon, 20 Jul 2020 19:48:53 +0000 Subject: [PATCH 16/56] Update from https://github.com/jailmanager/iocage-plugin-template/commit/23d4664ab93f6302fe0f5f4ddb9e3d1e3b183b2b) --- content/plugins/template.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 content/plugins/template.md diff --git a/content/plugins/template.md b/content/plugins/template.md new file mode 100644 index 00000000..4adbc543 --- /dev/null +++ b/content/plugins/template.md @@ -0,0 +1,4 @@ +# Plugin Template + +This Repository contains a templatate to base your plugin on. +Please be aware: When submitting your plugin, this readme gets added to the Wiki \ No newline at end of file From 99724a33864bbb77f84f303bbe18cf9203c4537a Mon Sep 17 00:00:00 2001 From: jailmanager Date: Mon, 20 Jul 2020 22:37:00 +0000 Subject: [PATCH 17/56] Update from https://github.com/jailmanager/iocage-plugin-kms/commit/9360d13a2a837f9d17d4eed2b348c13a83a788d9) --- content/plugins/kms.md | 79 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 content/plugins/kms.md diff --git a/content/plugins/kms.md b/content/plugins/kms.md new file mode 100644 index 00000000..298e6987 --- /dev/null +++ b/content/plugins/kms.md @@ -0,0 +1,79 @@ +# Py-KMS + +## Original README from the py-kms github: + +https://github.com/SystemRage/py-kms + +## History +_py-kms_ is a port of node-kms created by [cyrozap](http://forums.mydigitallife.info/members/183074-markedsword), which is a port of either the C##, C++, or .NET implementations of KMS Emulator. The original version was written by [CODYQX4](http://forums.mydigitallife.info/members/89933-CODYQX4) and is derived from the reverse-engineered code of Microsoft's official KMS. + +## Features +- Responds to V4, V5, and V6 KMS requests. +- Supports activating: + - Windows Vista + - Windows 7 + - Windows 8 + - Windows 8.1 + - Windows 10 ( 1511 / 1607 / 1703 / 1709 / 1803 / 1809 / 1903 / 1909 ) + - Windows Server 2008 + - Windows Server 2008 R2 + - Windows Server 2012 + - Windows Server 2012 R2 + - Windows Server 2016 + - Windows Server 2019 + - Microsoft Office 2010 ( Volume License ) + - Microsoft Office 2013 ( Volume License ) + - Microsoft Office 2016 ( Volume License ) + - Microsoft Office 2019 ( Volume License ) +- It's written in Python: + - tested with Python 2.7.15rc1 + - tested with Python 3.6.7 + +## Dependencies +- Python 3.x or Python 2.7.x or Python 2.6.x with the `argparse` module installed. +- Tkinter module. +- If the `tzlocal` module is installed, the "Request Time" in the verbose output will be converted into local time. Otherwise, it will be in UTC. +- It can use the `sqlite3` module so you can use the database function, storing activation data so it can be recalled again. +- Installation example on Ubuntu / Mint: + - `sudo apt-get update` + - for python3 + - `sudo apt-get install python3-tk python3-pip` + - `sudo pip3 install tzlocal pysqlite3` + - or for python2 + - `sudo apt-get install python-tk python-pip` + - `sudo pip install tzlocal pysqlite` + +## Usage +- __NOTE__: Pay attention to how invoke scripts, if you want to run with python2 use `python...` while for python3 use `python3...`, also depending on the Python versions that resides in your PC. +- To start the server, execute `python pykms_Server.py [IPADDRESS] [PORT]`, the default _IPADDRESS_ is "0.0.0.0" ( all interfaces ) and the default _PORT_ is "1688". +- To run the client (only for testing purposes), use `python pykms_Client.py [IPADDRESS] [PORT]`, with the same defaults of `pykms_Server.py`. +- To show the help pages type: `python pykms_Server.py -h` and `python pykms_Client.py -h`. +- To generate a random HWID use `-w` option: `python pykms_Server.py -w RANDOM`. +- To get the HWID from any server use the client, for example type: `python pykms_Client.py 0.0.0.0 1688 -m Windows8.1 -V INFO`. +- To view a minimal set of logging information use `-V MINI` option, for example: `python pykms_Server.py -F /path/to/your/logfile.log -V MINI`. +- To redirect logging on stdout use `-F STDOUT` option, for example: `python pykms_Server.py -F STDOUT -V DEBUG`. +- You can create logfile and view logging information on stdout at the same time with `-F FILESTDOUT` option, for example: `python pykms_Server.py -F FILESTDOUT /path/to/your/logfile.log -V DEBUG`. +- Select timeout (seconds) for py-kms with `-t` option, for example `python pykms_Server.py -t 10` +- For launching py-kms GUI make executable `pykms_Server.py` file with `chmod +x /path/to/folder/py-kms/pykms_Server.py`, then simply run `pykms_Server.py` double-clicking. +- You can run py-kms deamonized (via [Etrigan](https://github.com/SystemRage/Etrigan)) using a command like: `python pykms_Server.py etrigan start` and stop it with: `python pykms_Server.py etrigan stop`. +- With Etrigan you have another way to launch py-kms GUI (specially suitable if you're using a virtualenv), so: `python pykms_Server.py etrigan start -g` +and stop the GUI with the same precedent command (or interact with EXIT button). + +## Docker +![auto-docker](https://img.shields.io/docker/cloud/automated/pykmsorg/py-kms) +![status-docker](https://img.shields.io/docker/cloud/build/pykmsorg/py-kms) + +This projects has docker image support. You can find all available image configurations inside the docker folder. +There are three tags of the images available: +* `latest`, currently the same like minimal... +* `minimal`, wich is based on the python3 minimal configuration of py-kms. _This image does NOT include SQLLite support!_ +* `python2`, which is fully configurable and equiped with SQLLite support and web interface. +* `python3`, which is like the `python2` tag - just with Python 3... +If you just want to use the image and don't want to build them yourself, you can use the official image at the docker hub (`pykmsorg/py-kms`). +To ensure that the image is always up-to-date you should check [watchtower](https://github.com/containrrr/watchtower) out! + +## Other Important Stuff +Consult the [Wiki](https://github.com/SystemRage/py-kms/wiki) for more information about activation with _py-kms_ and to get GVLK keys. + +## License + [![License](https://img.shields.io/badge/license-unlicense-lightgray.svg)](https://github.com/SystemRage/py-kms/blob/master/LICENSE) From 4b9d4ba9ae008d1f517196dd0fe64e191b2ec4de Mon Sep 17 00:00:00 2001 From: jailmanager Date: Mon, 20 Jul 2020 22:37:04 +0000 Subject: [PATCH 18/56] Update from https://github.com/jailmanager/iocage-plugin-forked_daapd/commit/48472d7cadef8dab70fe688b35d7b27c700f1a19) --- content/plugins/forked_daapd.md | 14 ++++++ content/plugins/kms.md | 79 --------------------------------- 2 files changed, 14 insertions(+), 79 deletions(-) create mode 100644 content/plugins/forked_daapd.md delete mode 100644 content/plugins/kms.md diff --git a/content/plugins/forked_daapd.md b/content/plugins/forked_daapd.md new file mode 100644 index 00000000..0f0fb20e --- /dev/null +++ b/content/plugins/forked_daapd.md @@ -0,0 +1,14 @@ +# forked-dappd + +### intro + +This plugin installs forked-daapd with a current version of ffmpeg. +As it compiles ffmepg from sources the initialisation takes a while (~25 minutes +on a Xeon E3-1230 v5 @ 3.40GHz). + +#### Configuration parameters + +- itunes_media: Path to your itunes media that will be mounted in the jail. (ex. /mnt/tank/media/music/itunes/) + +`forked-daapd` needs to know the location of your iTunes Library. Add a `itunes_media:` +section to your `config.yaml` with the path to your itunes library as value. diff --git a/content/plugins/kms.md b/content/plugins/kms.md deleted file mode 100644 index 298e6987..00000000 --- a/content/plugins/kms.md +++ /dev/null @@ -1,79 +0,0 @@ -# Py-KMS - -## Original README from the py-kms github: - -https://github.com/SystemRage/py-kms - -## History -_py-kms_ is a port of node-kms created by [cyrozap](http://forums.mydigitallife.info/members/183074-markedsword), which is a port of either the C##, C++, or .NET implementations of KMS Emulator. The original version was written by [CODYQX4](http://forums.mydigitallife.info/members/89933-CODYQX4) and is derived from the reverse-engineered code of Microsoft's official KMS. - -## Features -- Responds to V4, V5, and V6 KMS requests. -- Supports activating: - - Windows Vista - - Windows 7 - - Windows 8 - - Windows 8.1 - - Windows 10 ( 1511 / 1607 / 1703 / 1709 / 1803 / 1809 / 1903 / 1909 ) - - Windows Server 2008 - - Windows Server 2008 R2 - - Windows Server 2012 - - Windows Server 2012 R2 - - Windows Server 2016 - - Windows Server 2019 - - Microsoft Office 2010 ( Volume License ) - - Microsoft Office 2013 ( Volume License ) - - Microsoft Office 2016 ( Volume License ) - - Microsoft Office 2019 ( Volume License ) -- It's written in Python: - - tested with Python 2.7.15rc1 - - tested with Python 3.6.7 - -## Dependencies -- Python 3.x or Python 2.7.x or Python 2.6.x with the `argparse` module installed. -- Tkinter module. -- If the `tzlocal` module is installed, the "Request Time" in the verbose output will be converted into local time. Otherwise, it will be in UTC. -- It can use the `sqlite3` module so you can use the database function, storing activation data so it can be recalled again. -- Installation example on Ubuntu / Mint: - - `sudo apt-get update` - - for python3 - - `sudo apt-get install python3-tk python3-pip` - - `sudo pip3 install tzlocal pysqlite3` - - or for python2 - - `sudo apt-get install python-tk python-pip` - - `sudo pip install tzlocal pysqlite` - -## Usage -- __NOTE__: Pay attention to how invoke scripts, if you want to run with python2 use `python...` while for python3 use `python3...`, also depending on the Python versions that resides in your PC. -- To start the server, execute `python pykms_Server.py [IPADDRESS] [PORT]`, the default _IPADDRESS_ is "0.0.0.0" ( all interfaces ) and the default _PORT_ is "1688". -- To run the client (only for testing purposes), use `python pykms_Client.py [IPADDRESS] [PORT]`, with the same defaults of `pykms_Server.py`. -- To show the help pages type: `python pykms_Server.py -h` and `python pykms_Client.py -h`. -- To generate a random HWID use `-w` option: `python pykms_Server.py -w RANDOM`. -- To get the HWID from any server use the client, for example type: `python pykms_Client.py 0.0.0.0 1688 -m Windows8.1 -V INFO`. -- To view a minimal set of logging information use `-V MINI` option, for example: `python pykms_Server.py -F /path/to/your/logfile.log -V MINI`. -- To redirect logging on stdout use `-F STDOUT` option, for example: `python pykms_Server.py -F STDOUT -V DEBUG`. -- You can create logfile and view logging information on stdout at the same time with `-F FILESTDOUT` option, for example: `python pykms_Server.py -F FILESTDOUT /path/to/your/logfile.log -V DEBUG`. -- Select timeout (seconds) for py-kms with `-t` option, for example `python pykms_Server.py -t 10` -- For launching py-kms GUI make executable `pykms_Server.py` file with `chmod +x /path/to/folder/py-kms/pykms_Server.py`, then simply run `pykms_Server.py` double-clicking. -- You can run py-kms deamonized (via [Etrigan](https://github.com/SystemRage/Etrigan)) using a command like: `python pykms_Server.py etrigan start` and stop it with: `python pykms_Server.py etrigan stop`. -- With Etrigan you have another way to launch py-kms GUI (specially suitable if you're using a virtualenv), so: `python pykms_Server.py etrigan start -g` -and stop the GUI with the same precedent command (or interact with EXIT button). - -## Docker -![auto-docker](https://img.shields.io/docker/cloud/automated/pykmsorg/py-kms) -![status-docker](https://img.shields.io/docker/cloud/build/pykmsorg/py-kms) - -This projects has docker image support. You can find all available image configurations inside the docker folder. -There are three tags of the images available: -* `latest`, currently the same like minimal... -* `minimal`, wich is based on the python3 minimal configuration of py-kms. _This image does NOT include SQLLite support!_ -* `python2`, which is fully configurable and equiped with SQLLite support and web interface. -* `python3`, which is like the `python2` tag - just with Python 3... -If you just want to use the image and don't want to build them yourself, you can use the official image at the docker hub (`pykmsorg/py-kms`). -To ensure that the image is always up-to-date you should check [watchtower](https://github.com/containrrr/watchtower) out! - -## Other Important Stuff -Consult the [Wiki](https://github.com/SystemRage/py-kms/wiki) for more information about activation with _py-kms_ and to get GVLK keys. - -## License - [![License](https://img.shields.io/badge/license-unlicense-lightgray.svg)](https://github.com/SystemRage/py-kms/blob/master/LICENSE) From caf2b65600131d69a8025b4428886d169fac97cb Mon Sep 17 00:00:00 2001 From: jailmanager Date: Tue, 21 Jul 2020 11:03:51 +0000 Subject: [PATCH 19/56] Update from https://github.com/jailmanager/iocage-plugin-bazarr/commit/17949b1fd41f64e1398a9f5de9341286b476159d) --- content/plugins/bazarr.md | 84 ++------------------------------------- 1 file changed, 4 insertions(+), 80 deletions(-) diff --git a/content/plugins/bazarr.md b/content/plugins/bazarr.md index 9f308147..bb1f0699 100644 --- a/content/plugins/bazarr.md +++ b/content/plugins/bazarr.md @@ -1,91 +1,15 @@ # Bazarr -## Original README from the lidarr github: - -https://github.com/morpheus65535/bazarr - -# bazarr Bazarr is a companion application to Sonarr and Radarr. It manages and downloads subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you. Be aware that Bazarr doesn't scan disk to detect series and movies: It only takes care of the series and movies that are indexed in Sonarr and Radarr. Thanks to the folks at OpenSubtitles for their logo that was an inspiration for ours. -## Support on Paypal -At the request of some, here is a way to demonstrate your appreciation for the efforts made in the development of Bazarr: -[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=XHHRWXT9YB7WE&source=url) +For more information about Bazarr, please checkout: -# Status -[![GitHub issues](https://img.shields.io/github/issues/morpheus65535/bazarr.svg?style=flat-square)](https://github.com/morpheus65535/bazarr/issues) -[![GitHub stars](https://img.shields.io/github/stars/morpheus65535/bazarr.svg?style=flat-square)](https://github.com/morpheus65535/bazarr/stargazers) -[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/bazarr.svg?style=flat-square)](https://hub.docker.com/r/linuxserver/bazarr/) -[![Docker Pulls](https://img.shields.io/docker/pulls/hotio/bazarr.svg?style=flat-square)](https://hub.docker.com/r/hotio/bazarr/) -[![Discord](https://img.shields.io/badge/discord-chat-MH2e2eb.svg?style=flat-square)](https://discord.gg/MH2e2eb) +https://github.com/morpheus65535/bazarr -# Support -For installation and configuration instructions, see [wiki](https://github.com/morpheus65535/bazarr/wiki). -You can reach us for support on [Discord](https://discord.gg/MH2e2eb). - -If you find a bug, please open an issue on [Github](https://github.com/morpheus65535/bazarr/issues). - -# Feature Requests -If you need something that is not already part of Bazarr, feel free to create a feature request on [Feature Upvote](http://features.bazarr.media). - -## Major Features Include: - -* Support for major platforms: Windows, Linux, macOS, Raspberry Pi, etc. -* Automatically add new series and episodes from Sonarr -* Automatically add new movies from Radarr -* Series or movies based configuration for subtitles languages -* Scan your existing library for internal and external subtitles and download any missing -* Keep history of what was downloaded from where and when -* Manual search so you can download subtitles on demand -* Upgrade subtitles previously downloaded when a better one is found -* Ability to delete external subtitles from disk -* Currently support 184 subtitles languages with support for forced/foreign subtitles (depending of providers) -* And a beautiful UI based on Sonarr - -## Supported subtitles providers: -* Addic7ed -* Argenteam -* Assrt -* BetaSeries -* BSPlayer -* GreekSubtitles -* Hosszupuska -* LegendasDivx -* LegendasTV -* Napiprojekt -* Napisy24 -* Nekur -* OpenSubtitles -* Podnapisi -* Subdivx -* Subs.sab.bz -* Subscene -* Subscenter -* Subsunacs.net -* Subs4Free -* Subs4Series -* Subtitri.id.lv -* Subtitri.nekur.net -* SubZ -* Supersubtitles -* Titlovi -* TVSubtitles -* Wizdom -* XSubs -* Yavka.net -* Zimuku - -## Screenshot - -You can get more in the [screenshot](https://github.com/morpheus65535/bazarr/tree/master/screenshot) directory but it should look familiar: - -![Series](/screenshot/1-series/series-2-episodes.png?raw=true "Series") - -### License - -* [GNU GPL v3](http://www.gnu.org/licenses/gpl.html) -* Copyright 2010-2019 +## Known issues +- The Bazarr installer might throw SSL errors if your TrueNAS "date and time" settings are incorrect, these errors break the installation process. \ No newline at end of file From dd81480990afb158728b5ac12c5b57c02dcc38a3 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Tue, 21 Jul 2020 11:22:35 +0000 Subject: [PATCH 20/56] Update from https://github.com/jailmanager/iocage-plugin-bazarr/commit/ab086548cbc0b0879d58cde7b39e3ddd2760cd90) --- content/plugins/bazarr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/plugins/bazarr.md b/content/plugins/bazarr.md index bb1f0699..7670055e 100644 --- a/content/plugins/bazarr.md +++ b/content/plugins/bazarr.md @@ -6,7 +6,7 @@ Be aware that Bazarr doesn't scan disk to detect series and movies: It only take Thanks to the folks at OpenSubtitles for their logo that was an inspiration for ours. -For more information about Bazarr, please checkout: +**For more information about Bazarr, please checkout:** https://github.com/morpheus65535/bazarr From 5e947c3c3e6aa41a9f9c22cda096584e210c88dd Mon Sep 17 00:00:00 2001 From: jailmanager Date: Tue, 21 Jul 2020 11:23:30 +0000 Subject: [PATCH 21/56] Update from https://github.com/jailmanager/iocage-plugin-sonarr/commit/253b1ffd597262ebf9671814a948822627688fa7) --- content/plugins/sonarr.md | 63 ++------------------------------------- 1 file changed, 2 insertions(+), 61 deletions(-) diff --git a/content/plugins/sonarr.md b/content/plugins/sonarr.md index 0edcb9cb..42f225f4 100644 --- a/content/plugins/sonarr.md +++ b/content/plugins/sonarr.md @@ -1,65 +1,6 @@ # Sonarr - -## Original README from the sonarr github: - -https://github.com/Sonarr/Sonarr - -# Sonarr - - Sonarr is a PVR for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new episodes of your favorite shows and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available. -## Major Features Include: +**For more information about Sonarr, please checkout:** -* Support for major platforms: Windows, Linux, macOS, Raspberry Pi, etc. -* Automatically detects new episodes -* Can scan your existing library and download any missing episodes -* Can watch for better quality of the episodes you already have and do an automatic upgrade. *eg. from DVD to Blu-Ray* -* Automatic failed download handling will try another release if one fails -* Manual search so you can pick any release or to see why a release was not downloaded automatically -* Fully configurable episode renaming -* Full integration with SABnzbd and NZBGet -* Full integration with Kodi, Plex (notification, library update, metadata) -* Full support for specials and multi-episode releases -* And a beautiful UI - -## Configuring Development Environment: - -### Requirements - -* [Visual Studio 2017](https://www.visualstudio.com/vs/) -* [Git](https://git-scm.com/downloads) -* [NodeJS](https://nodejs.org/en/download/) -* [Yarn](https://yarnpkg.com/) - -### Setup - -* Make sure all the required software mentioned above are installed -* Clone the repository into your development machine. [*info*](https://help.github.com/en/articles/working-with-forks) -* Grab the submodules `git submodule init && git submodule update` -* Install the required Node Packages `yarn` - -### Backend Development - -* Run `yarn build` to build the UI -* Open `Sonarr.sln` in Visual Studio -* Make sure `NzbDrone.Console` is set as the startup project -* Build `NzbDrone.Windows` and `NzbDrone.Mono` projects -* Build Solution - -### UI Development - -* Run `yarn watch` to build UI and rebuild automatically when changes are detected -* Run Sonarr.Console.exe (or debug in Visual Studio) - -### License - - -* [GNU GPL v3](http://www.gnu.org/licenses/gpl.html) -* Copyright 2010-2019 - -### Sponsors - -* [JetBrains](http://www.jetbrains.com/) for providing us with free licenses to their great tools - * [ReSharper](http://www.jetbrains.com/resharper/) - * [TeamCity](http://www.jetbrains.com/teamcity/) +https://github.com/Sonarr/Sonarr From 508545f473b16a36c8e8f58d61f51f3c4b51cafa Mon Sep 17 00:00:00 2001 From: jailmanager Date: Tue, 21 Jul 2020 11:23:52 +0000 Subject: [PATCH 22/56] Update from https://github.com/jailmanager/iocage-plugin-plex/commit/6ccc88c286d97075394831292e1df1f9dfdafb6b) --- content/plugins/plex.md | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/content/plugins/plex.md b/content/plugins/plex.md index 20078e4d..7ba00812 100644 --- a/content/plugins/plex.md +++ b/content/plugins/plex.md @@ -1,7 +1,8 @@ # Plex +Plex gives you one place to find and access all the media that matters to you. From personal media on your own server, to podcasts, web shows, and news, to streaming music, you can enjoy it all in one app, on any device. -### 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 checkout:** +https://plex.tv #### Advanced 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) @@ -12,12 +13,3 @@ These parameters are either not fully tested or expected to break with short-term OS updates. They are included in the release however, because they are suspected to become stable eventually. - hw_transcode: set this to "true" to enable hardware transcoding on compatible systems, to "false" to disable or, preferable, just leave it out to disable -- hw_transcode_ruleset: the devfs rulesetnumber to use for hardware transcoding -- ruleset_script: The location to save the ruleset-setting script to. (loaded at reboot) - - -# Original plex install script guide - -https://www.ixsystems.com/community/resources/fn11-3-iocage-jails-plex-tautulli-sonarr-radarr-lidarr-jackett-transmission-organizr.58/ - -For more information about plex, please see the Plex website. \ No newline at end of file From f9c26b94a0ddd55b6340a68602385bdc5962cd90 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Tue, 21 Jul 2020 11:24:05 +0000 Subject: [PATCH 23/56] Update from https://github.com/jailmanager/iocage-plugin-radarr/commit/4e8567082f6d817fad63dbdb45af165241af8e73) --- content/plugins/radarr.md | 167 +------------------------------------- 1 file changed, 2 insertions(+), 165 deletions(-) diff --git a/content/plugins/radarr.md b/content/plugins/radarr.md index 9dc41df9..f2950718 100644 --- a/content/plugins/radarr.md +++ b/content/plugins/radarr.md @@ -1,170 +1,7 @@ # Radarr -## Original README from the radarr github: - -https://github.com/Radarr/Radarr - -# Radarr - -

-Radarr -

- -**New UI Development:** For an overview of the new UI development see [DEVELOPMENT.md](https://github.com/Radarr/Radarr/blob/aphrodite/DEVELOPMENT.md). - Radarr is an __independent__ fork of [Sonarr](https://github.com/Sonarr/Sonarr) reworked for automatically downloading movies via Usenet and BitTorrent. -The project was inspired by other Usenet/BitTorrent movie downloaders such as CouchPotato. +**For more information about Radarr, please checkout:** -See the [Roadmap blogpost](https://blog.radarr.video/development/update/2018/11/11/roadmap-update.html) for an overview of planned features. - -## Getting Started - -[![Installation](https://img.shields.io/badge/wiki-installation-brightgreen.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/wiki/Installation) -[![Docker](https://img.shields.io/badge/wiki-docker-1488C6.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/wiki/Docker) -[![Setup Guide](https://img.shields.io/badge/wiki-setup_guide-orange.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/wiki/Setup-Guide) -[![FAQ](https://img.shields.io/badge/wiki-FAQ-BF55EC.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/wiki/FAQ) - -* [Install Radarr for your desired OS](https://github.com/Radarr/Radarr/wiki/Installation) *or* use [Docker](https://github.com/Radarr/Radarr/wiki/Docker) -* *For Linux users*, run `radarr` and *optionally* have [Radarr start automatically](https://github.com/Radarr/Radarr/wiki/Autostart-on-Linux) -* Connect to the UI through or in your web browser -* See the [Setup Guide](https://github.com/Radarr/Radarr/wiki/Setup-Guide) for further configuration - -## Downloads - -| Release Type | Branch: develop (stable) | Branch: nightly (semi-unstable) | Branch: aphrodite (very-unstable) | -|-----------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| Binary Releases | [![GitHub Releases](https://img.shields.io/badge/downloads-releases-brightgreen.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/releases) | [![AppVeyor Builds](https://img.shields.io/badge/downloads-nightly-green.svg?maxAge=60&style=flat-square)](https://ci.appveyor.com/project/galli-leo/radarr-usby1/branch/develop/artifacts) | | -| Docker | [![Docker release](https://img.shields.io/badge/linuxserver-radarr:latest-blue.svg?colorB=1488C6&maxAge=60&style=flat-square)](https://hub.docker.com/r/linuxserver/radarr) | [![Docker nightly](https://img.shields.io/badge/linuxserver-radarr:nightly-blue.svg?colorB=1488C6&maxAge=60&style=flat-square)](https://hub.docker.com/r/linuxserver/radarr) | [![Docker aphrodite](https://img.shields.io/badge/linuxserver-radarr:preview-blue.svg?colorB=1488C6&maxAge=60&style=flat-square)](https://hub.docker.com/r/linuxserver/radarr) | -| Docker | [![Docker release](https://img.shields.io/badge/hotio-radarr:latest-blue.svg?colorB=1488C6&maxAge=60&style=flat-square)](https://hub.docker.com/r/hotio/radarr) | [![Docker nightly](https://img.shields.io/badge/hotio-radarr:unstable-blue.svg?colorB=1488C6&maxAge=60&style=flat-square)](https://hub.docker.com/r/hotio/radarr) | [![Docker aphrodite](https://img.shields.io/badge/hotio-radarr:aphrodite-blue.svg?colorB=1488C6&maxAge=60&style=flat-square)](https://hub.docker.com/r/hotio/radarr) | - -## Support - -[![OpenCollective](https://opencollective.com/radarr/tiers/backer/badge.svg)](#backers) -[![OpenCollective](https://opencollective.com/radarr/tiers/flexible-sponsor/badge.svg)](#flexible-sponsors) -[![OpenCollective](https://opencollective.com/radarr/tiers/sponsor/badge.svg)](#sponsors) - -[![Discord](https://img.shields.io/badge/discord-chat-7289DA.svg?maxAge=60&style=flat-square)](https://discord.gg/AD3UP37) -[![Reddit](https://img.shields.io/badge/reddit-discussion-FF4500.svg?maxAge=60&style=flat-square)](https://www.reddit.com/r/radarr) -[![Feathub](https://img.shields.io/badge/feathub-requests-lightgrey.svg?maxAge=60&style=flat-square)](http://feathub.com/Radarr/Radarr) -[![GitHub](https://img.shields.io/badge/github-issues-red.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/issues) -[![GitHub Wiki](https://img.shields.io/badge/github-wiki-181717.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/wiki) - -## Status - -[![GitHub issues](https://img.shields.io/github/issues/radarr/radarr.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/issues) -[![GitHub pull requests](https://img.shields.io/github/issues-pr/radarr/radarr.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/pulls) -[![GNU GPL v3](https://img.shields.io/badge/license-GNU%20GPL%20v3-blue.svg?maxAge=60&style=flat-square)](http://www.gnu.org/licenses/gpl.html) -[![Copyright 2010-2017](https://img.shields.io/badge/copyright-2017-blue.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr) -[![Github Releases](https://img.shields.io/github/downloads/Radarr/Radarr/total.svg?maxAge=60&style=flat-square)](https://github.com/Radarr/Radarr/releases/) -[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/radarr.svg?maxAge=60&style=flat-square)](https://hub.docker.com/r/linuxserver/radarr/) -[![Changelog](https://img.shields.io/github/commit-activity/w/radarr/radarr.svg?style=flat-square)](/CHANGELOG.md#unreleased) - -| Service | Master | Develop | -|----------|:---------------------------:|:----------------------------:| -| AppVeyor | [![AppVeyor](https://img.shields.io/appveyor/ci/galli-leo/Radarr/master.svg?maxAge=60&style=flat-square)](https://ci.appveyor.com/project/galli-leo/Radarr) | [![AppVeyor](https://img.shields.io/appveyor/ci/galli-leo/Radarr-usby1/develop.svg?maxAge=60&style=flat-square)](https://ci.appveyor.com/project/galli-leo/Radarr-usby1) | -| Travis | [![Travis](https://img.shields.io/travis/Radarr/Radarr/master.svg?maxAge=60&style=flat-square)](https://travis-ci.org/Radarr/Radarr) | [![Travis](https://img.shields.io/travis/Radarr/Radarr/develop.svg?maxAge=60&style=flat-square)](https://travis-ci.org/Radarr/Radarr) | - -### [Site and API Status](https://status.radarr.video) - -| API | Updates | Sites | -|-------|:----:|:----:| -| [![API V2 (develop)](http://status.radarr.video/component/1/shield?style=flat-square)](https://api.radarr.video/v2/) | [![Update Server](http://status.radarr.video/component/4/shield?style=flat-square)](https://radarr.aeonlucid.com) | [![Radarr Mappings](http://status.radarr.video/component/6/shield?style=flat-square)](https://mappings.radarr.video/) -| [![API Staging (nightly)](http://status.radarr.video/component/2/shield?style=flat-square)](https://staging.api.radarr.video/) | [![Github Updates](http://status.radarr.video/component/5/shield?style=flat-square)](https://api.github.com/v3/) | [![Main Site](http://status.radarr.video/component/7/shield?style=flat-square)](https://radarr.video/) - -Radarr is currently undergoing rapid development and pull requests are actively added into the repository. - -## Features - -### Current Features - -* Adding new movies with lots of information, such as trailers, ratings, etc. -* Support for major platforms: Windows, Linux, macOS, Raspberry Pi, etc. -* Can watch for better quality of the movies you have and do an automatic upgrade. *eg. from DVD to Blu-Ray* -* Automatic failed download handling will try another release if one fails -* Manual search so you can pick any release or to see why a release was not downloaded automatically -* Full integration with SABnzbd and NZBGet -* Automatically searching for releases as well as RSS Sync -* Automatically importing downloaded movies -* Recognizing Special Editions, Director's Cut, etc. -* Identifying releases with hardcoded subs -* All indexers supported by Sonarr also supported -* New PassThePopcorn Indexer -* QBittorrent, Deluge, rTorrent, Transmission and uTorrent download client (Other clients are coming) -* New TorrentPotato Indexer -* Torznab Indexer now supports Movies (Works well with [Jackett](https://github.com/Jackett/Jackett)) -* Scanning PreDB to know when a new release is available -* Importing movies from various online sources, such as IMDb Watchlists (A complete list can be found [here](https://github.com/Radarr/Radarr/issues/114)) -* Full integration with Kodi, Plex (notification, library update) -* And a beautiful UI -* Importing Metadata such as trailers or subtitles -* Adding metadata such as posters and information for Kodi and others to use -* Advanced customization for profiles, such that Radarr will always download the copy you want - -### Planned Features - -See the [Roadmap blogpost](https://blog.radarr.video/development/update/2018/11/11/roadmap-update.html) for an overview of planned features. - -#### [Feature Requests](http://feathub.com/Radarr/Radarr) - -## Configuring the Development Environment - -### Requirements - -* [Visual Studio Community 2019](https://www.visualstudio.com/vs/community/) or [Rider](http://www.jetbrains.com/rider/) -* [Git](https://git-scm.com/downloads) -* [Node.js](https://nodejs.org/en/download/) -* [Yarn](https://yarnpkg.com/) - -### Setup - -* Make sure all the required software mentioned above are installed -* Clone the repository into your development machine ([*info*](https://help.github.com/desktop/guides/contributing/working-with-your-remote-repository-on-github-or-github-enterprise)) -* Grab the submodules `git submodule init && git submodule update` -* Install the required Node Packages `yarn install` -* Start gulp to monitor your dev environment for any changes that need post processing using `yarn start` command. - -> **Notice** -> Gulp must be running at all times while you are working with Radarr client source files. - -### Build - -* To build run `sh build.sh` - -**Note:** Windows users must have bash available to do this. If you installed git, you should have a git bash utility that works. - -### Development - -* Open `Radarr.sln` in Visual Studio 2017 or run the build.sh script, if Mono is installed. Alternatively you can use Jetbrains Rider, since it works on all Platforms. -* Make sure `NzbDrone.Console` is set as the startup project -* Run `build.sh` before running - -## Supporters - -This project would not be possible without the support by these amazing folks. [**Become a sponsor or backer**](https://opencollective.com/radarr) to help us out! - -### Sponsors - -[![Sponsors](https://opencollective.com/radarr/tiers/sponsor.svg)](https://opencollective.com/radarr/order/3851) - -### Flexible Sponsors - -[![Flexible Sponsors](https://opencollective.com/radarr/tiers/flexible-sponsor.svg?avatarHeight=54)](https://opencollective.com/radarr/order/3856) - -### Backers - -[![Backers](https://opencollective.com/radarr/tiers/backer.svg?avatarHeight=48)](https://opencollective.com/radarr/order/3850) - -### JetBrains - -Thank you to [JetBrains JetBrains](http://www.jetbrains.com/) for providing us with free licenses to their great tools - -* [ReSharper ReSharper](http://www.jetbrains.com/resharper/) -* [WebStorm WebStorm](http://www.jetbrains.com/webstorm/) -* [Rider Rider](http://www.jetbrains.com/rider/) -* [dotTrace dotTrace](http://www.jetbrains.com/dottrace/) - -## License - -* [GNU GPL v3](http://www.gnu.org/licenses/gpl.html) -* Copyright 2010-2019 +https://github.com/Radarr/Radarr From c35078ca453fd242991ad64e1feb89dadf6b58ab Mon Sep 17 00:00:00 2001 From: jailmanager Date: Tue, 21 Jul 2020 11:24:15 +0000 Subject: [PATCH 24/56] Update from https://github.com/jailmanager/iocage-plugin-lidarr/commit/a8c7d6833b14f7b0b385aefb568eceadc9673062) --- content/plugins/lidarr.md | 71 ++------------------------------------- 1 file changed, 2 insertions(+), 69 deletions(-) diff --git a/content/plugins/lidarr.md b/content/plugins/lidarr.md index 6347fad9..acfe2415 100644 --- a/content/plugins/lidarr.md +++ b/content/plugins/lidarr.md @@ -1,73 +1,6 @@ # Lidarr - -## Original README from the lidarr github: - -https://github.com/lidarr/Lidarr - -# Lidarr - -[![Build Status](https://dev.azure.com/Lidarr/Lidarr/_apis/build/status/lidarr.Lidarr?branchName=develop)](https://dev.azure.com/Lidarr/Lidarr/_build/latest?definitionId=1&branchName=develop) -[![BrowserStack Status](https://automate.browserstack.com/badge.svg?badge_key=Z1I4SVZOMitOdENIMHpkMlN3djJiRVJkTzBpdUJ5Q2ZtWVhnYTFvYS9qcz0tLTM5THJZRkVCZlk0blp5cXFBK1BDYWc9PQ==--67f41b00af03ab78148d3d711f22ca42ab348a52)](https://automate.browserstack.com/public-build/Z1I4SVZOMitOdENIMHpkMlN3djJiRVJkTzBpdUJ5Q2ZtWVhnYTFvYS9qcz0tLTM5THJZRkVCZlk0blp5cXFBK1BDYWc9PQ==--67f41b00af03ab78148d3d711f22ca42ab348a52) -[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/lidarr.svg)](https://github.com/lidarr/Lidarr/wiki/Docker) -![Github Downloads](https://img.shields.io/github/downloads/lidarr/lidarr/total.svg) -[![Backers on Open Collective](https://opencollective.com/lidarr/backers/badge.svg)](#backers) [![Sponsors on Open Collective](https://opencollective.com/lidarr/sponsors/badge.svg)](#sponsors) - Lidarr is a music collection manager for Usenet and BitTorrent users. It can monitor multiple RSS feeds for new tracks from your favorite artists and will grab, sort and rename them. It can also be configured to automatically upgrade the quality of files already downloaded when a better quality format becomes available. -## Major Features Include: +**For more information about Lidarr, please checkout:** -* Support for major platforms: Windows, Linux, macOS, Raspberry Pi, etc. -* Automatically detects new tracks. -* Can scan your existing library and download any missing tracks. -* Can watch for better quality of the tracks you already have and do an automatic upgrade. -* Automatic failed download handling will try another release if one fails -* Manual search so you can pick any release or to see why a release was not downloaded automatically -* Fully configurable track renaming -* Full integration with SABnzbd and NZBGet -* Full integration with Kodi, Plex (notification, library update, metadata) -* Full support for specials and multi-album releases -* And a beautiful UI - -## Feature Requests - -[![Feature Requests](http://feathub.com/lidarr/Lidarr?format=svg)](http://feathub.com/lidarr/Lidarr) - -## Support - -[![Discord](https://img.shields.io/badge/discord-chat-7289DA.svg?maxAge=60)](https://discord.gg/8Y7rDc9) -[![Reddit](https://img.shields.io/badge/reddit-discussion-FF4500.svg?maxAge=60)](https://www.reddit.com/r/lidarr) -[![GitHub](https://img.shields.io/badge/github-issues-red.svg?maxAge=60)](https://github.com/Lidarr/Lidarr/issues) -[![GitHub Wiki](https://img.shields.io/badge/github-wiki-181717.svg?maxAge=60)](https://github.com/Lidarr/Lidarr/wiki) - -## Contributors - -This project exists thanks to all the people who contribute. [[Contribute](CONTRIBUTING.md)]. - - - -## Backers - -Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/lidarr#backer)] - - - - -## Sponsors - -Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/lidarr#sponsor)] - - - - - - - - - - - - -### License - -* [GNU GPL v3](http://www.gnu.org/licenses/gpl.html) -* Copyright 2010-2019 +https://github.com/lidarr/Lidarr From 2ce73c6d7361fc3367f77011bd63ceea1552e7b3 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Tue, 21 Jul 2020 11:25:13 +0000 Subject: [PATCH 25/56] Update from https://github.com/jailmanager/iocage-plugin-influxdb/commit/ae4a9c5bf355b3736cf725ffe25ea87c0d41f8c9) --- content/plugins/influxdb.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 content/plugins/influxdb.md diff --git a/content/plugins/influxdb.md b/content/plugins/influxdb.md new file mode 100644 index 00000000..71042687 --- /dev/null +++ b/content/plugins/influxdb.md @@ -0,0 +1,5 @@ +# InfluxDB +InfluxDB is an open source time series platform. This includes APIs for storing and querying data, processing it in the background for ETL or monitoring and alerting purposes, user dashboards, and visualizing and exploring the data and more. The master branch on this repo now represents the latest InfluxDB, which now includes functionality for Kapacitor (background processing) and Chronograf (the UI) all in a single binary. + +**For more information about InfluxDB, please checkout:** +https://github.com/influxdata/influxdb From f257b324ac1a3ba4343398ada9bc7ccdf23fad4e Mon Sep 17 00:00:00 2001 From: jailmanager Date: Tue, 21 Jul 2020 12:51:29 +0000 Subject: [PATCH 26/56] Update from https://github.com/jailmanager/iocage-plugin-kms/commit/4a3ede5d0bc0b339bfaa2cadd8d142b24a2cae7e) --- content/plugins/kms.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 content/plugins/kms.md diff --git a/content/plugins/kms.md b/content/plugins/kms.md new file mode 100644 index 00000000..609a5642 --- /dev/null +++ b/content/plugins/kms.md @@ -0,0 +1,5 @@ +# Py-KMS +_py-kms_ is a port of node-kms created by [cyrozap](http://forums.mydigitallife.info/members/183074-markedsword), which is a port of either the C##, C++, or .NET implementations of KMS Emulator. The original version was written by [CODYQX4](http://forums.mydigitallife.info/members/89933-CODYQX4) and is derived from the reverse-engineered code of Microsoft's official KMS. + +**For more information about Py-KMS, please checkout:** +https://github.com/SystemRage/py-kms From 321e40993903599e8ebbe591ca3d6da412f3aa9f Mon Sep 17 00:00:00 2001 From: jailmanager Date: Tue, 21 Jul 2020 12:54:45 +0000 Subject: [PATCH 27/56] Update from https://github.com/jailmanager/iocage-plugin-jackett/commit/918aeab7f18c90ed1e66b20ea96298576e3e68a7) --- content/plugins/jackett.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 content/plugins/jackett.md diff --git a/content/plugins/jackett.md b/content/plugins/jackett.md new file mode 100644 index 00000000..d9a1627b --- /dev/null +++ b/content/plugins/jackett.md @@ -0,0 +1,9 @@ +## jackett + +Jackett is tool designed to combine and search multiple bittorrent trackers like a proxy. + +**For more information about Jackett, please checkout:** +https://github.com/Jackett/Jackett + +### Post-install +Currently there are not relevant post-install steps, other than your own personal preferences for setting up Jacket. From c9205c42abc779a5c43269a6325f73be555dd74b Mon Sep 17 00:00:00 2001 From: Kjeld Schouten-Lebbing Date: Tue, 21 Jul 2020 15:07:55 +0200 Subject: [PATCH 28/56] Update mkdocs.yml --- mkdocs.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mkdocs.yml b/mkdocs.yml index cbc6dc1d..5ff2ea07 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -6,9 +6,9 @@ docs_dir: content/ site_url: 'https://wiki2.jailmanager.org' # Repository -repo_name: 'jailmanager/wiki' -repo_url: 'https://github.com/jailmanager/wiki' -edit_uri: 'edit/dev/docs/' +repo_name: 'jailmanager/jailman' +repo_url: 'https://github.com/jailmanager/jailman' +edit_uri: 'edit/content/' theme: name: 'material' @@ -21,4 +21,4 @@ markdown_extensions: - codehilite: guess_lang: false - toc: - permalink: true \ No newline at end of file + permalink: true From 98a8e959e60dd1596f5f9f72e10f28e7c3f853ad Mon Sep 17 00:00:00 2001 From: jailmanager Date: Tue, 21 Jul 2020 14:11:33 +0000 Subject: [PATCH 29/56] Update from https://github.com/jailmanager/iocage-plugin-tautulli/commit/3520ea4c585c610d7f5c83242ba362fdcf7edae7) --- content/plugins/tautulli.md | 68 ++----------------------------------- 1 file changed, 2 insertions(+), 66 deletions(-) diff --git a/content/plugins/tautulli.md b/content/plugins/tautulli.md index 6d4c4855..7d2835de 100644 --- a/content/plugins/tautulli.md +++ b/content/plugins/tautulli.md @@ -1,69 +1,5 @@ # Tautulli - -## Original README from the tautulli github: - -https://github.com/Tautulli/Tautulli - -# Tautulli - A python based web application for monitoring, analytics and notifications for [Plex Media Server](https://plex.tv). -This project is based on code from [Headphones](https://github.com/rembo10/headphones) and [PlexWatchWeb](https://github.com/ecleese/plexWatchWeb). - -## Features - -* Responsive web design viewable on desktop, tablet and mobile web browsers. -* Themed to complement Plex/Web. -* Easy configuration setup (no separate web server required). -* Monitor current Plex Media Server activity. -* Fully customizable notifications for stream activity and recently added media. -* Top statistics on home page with configurable duration and measurement metric. -* Global watching history with search/filtering & dynamic column sorting. -* Full user list with general information and comparison stats. -* Individual user information including devices IP addresses. -* Complete library statistics and media file information. -* Rich analytics presented using Highcharts graphing. -* Beautiful content information pages. -* Full sync list data on all users syncing items from your library. -* And many more!! - -## Preview - -* [Full preview gallery available on our website](https://tautulli.com) - -![Tautulli Homepage](https://tautulli.com/images/screenshots/activity-compressed.jpg?v=2) - -## Installation & Support - -[![Python](https://img.shields.io/badge/python-v2.7.17-blue?style=flat-square)](https://python.org/downloads/release/python-2717/) -[![Docker Pulls](https://img.shields.io/docker/pulls/tautulli/tautulli?style=flat-square)](https://hub.docker.com/r/tautulli/tautulli) -[![Docker Stars](https://img.shields.io/docker/stars/tautulli/tautulli?style=flat-square)](https://hub.docker.com/r/tautulli/tautulli) - -| Status | Branch: `master` | Branch: `beta` | Branch: `nightly` | -| --- | --- | --- | --- | -| Release | [![Release@master](https://img.shields.io/github/v/release/Tautulli/Tautulli?style=flat-square)](https://github.com/Tautulli/Tautulli/releases/latest)
[![Release Date@master](https://img.shields.io/github/release-date/Tautulli/Tautulli?style=flat-square&color=blue)](https://github.com/Tautulli/Tautulli/releases/latest) | [![Release@beta](https://img.shields.io/github/v/release/Tautulli/Tautulli?include_prereleases&style=flat-square)](https://github.com/Tautulli/Tautulli/releases)
[![Commits@nightly](https://img.shields.io/github/commits-since/Tautulli/Tautulli/latest/beta?style=flat-square&color=blue)](https://github.com/Tautulli/Tautulli/commits/beta) | [![Last Commits@nightly](https://img.shields.io/github/last-commit/Tautulli/Tautulli/nightly?style=flat-square&color=blue)](https://github.com/Tautulli/Tautulli/commits/nightly)
[![Commits@nightly](https://img.shields.io/github/commits-since/Tautulli/Tautulli/latest/nightly?style=flat-square&color=blue)](https://github.com/Tautulli/Tautulli/commits/nightly) | -| Docker | [![Docker@master](https://img.shields.io/badge/tautulli-tautulli:latest-blue?style=flat-square)](https://hub.docker.com/r/tautulli/tautulli)
[![Docker Build@master](https://img.shields.io/github/workflow/status/Tautulli/Tautulli/Publish%20Docker%20Branch/master?style=flat-square)](https://github.com/Tautulli/Tautulli/actions?query=branch%3Amaster) | [![Docker@beta](https://img.shields.io/badge/tautulli-tautulli:beta-blue?style=flat-square)](https://hub.docker.com/r/tautulli/tautulli)
[![Docker Build@beta](https://img.shields.io/github/workflow/status/Tautulli/Tautulli/Publish%20Docker%20Branch/beta?style=flat-square)](https://github.com/Tautulli/Tautulli/actions?query=branch%3Abeta) | [![Docker@nightly](https://img.shields.io/badge/tautulli-tautulli:nightly-blue?style=flat-square)](https://hub.docker.com/r/tautulli/tautulli)
[![Docker Build@nightly](https://img.shields.io/github/workflow/status/Tautulli/Tautulli/Publish%20Docker%20Branch/nightly?style=flat-square)](https://github.com/Tautulli/Tautulli/actions?query=branch%3Anightly) | - -[![Wiki](https://img.shields.io/badge/github-wiki-black?style=flat-square)](https://github.com/Tautulli/Tautulli-Wiki/wiki) -[![Discord](https://img.shields.io/discord/183396325142822912?label=discord&style=flat-square&color=7289DA)](https://tautulli.com/discord) -[![Reddit](https://img.shields.io/reddit/subreddit-subscribers/tautulli?label=reddit&style=flat-square&color=FF5700)](https://www.reddit.com/r/Tautulli/) -[![Plex Forums](https://img.shields.io/badge/plex%20forums-discussion-E5A00D?style=flat-square)](https://forums.plex.tv/t/tautulli-monitor-your-plex-media-server/225242) - -* Read the [Installation Guides](https://github.com/Tautulli/Tautulli-Wiki/wiki/Installation) for instructions to install Tautulli. -* The [Frequently Asked Questions](https://github.com/Tautulli/Tautulli-Wiki/wiki/Frequently-Asked-Questions) in the wiki can help you with common problems. -* Support is available on [Discord](https://tautulli.com/discord), [Reddit](https://www.reddit.com/r/Tautulli), or the [Plex Forums](https://forums.plex.tv/t/tautulli-monitor-your-plex-media-server/225242). - -## Issues & Feature Requests - -[![Issues](https://img.shields.io/badge/github-issues-red?style=flat-square)](https://github.com/Tautulli/Tautulli-Issues) -[![Feathub](https://img.shields.io/badge/feathub-requests-lightgrey?style=flat-square)](https://feathub.com/Tautulli/Tautulli) - -* Please see the [Issues Repository](https://github.com/Tautulli/Tautulli-Issues). - -## License - -[![License](https://img.shields.io/github/license/Tautulli/Tautulli?style=flat-square)](https://github.com/Tautulli/Tautulli/blob/master/LICENSE) - -This is free software under the GPL v3 open source license. Feel free to do with it what you wish, but any modification must be open sourced. A copy of the license is included. - -This software includes Highsoft software libraries which you may freely distribute for non-commercial use. Commerical users must licence this software, for more information visit https://shop.highsoft.com/faq/non-commercial#non-commercial-redistribution. \ No newline at end of file +**For more information about Tautulli, please checkout:** +https://github.com/Tautulli/Tautulli From 3e91ebca27911c6a858367f52f947aaf0c1b120e Mon Sep 17 00:00:00 2001 From: jailmanager Date: Tue, 21 Jul 2020 17:23:22 +0000 Subject: [PATCH 30/56] Update from https://github.com/jailmanager/iocage-plugin-transmission/commit/f3fb7b197ff7e81c784153233051d1da0dc502f4) --- content/plugins/transmission.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 content/plugins/transmission.md diff --git a/content/plugins/transmission.md b/content/plugins/transmission.md new file mode 100644 index 00000000..21ee6535 --- /dev/null +++ b/content/plugins/transmission.md @@ -0,0 +1,5 @@ +# Transmission +Transmission is a fast, easy, and free BitTorrent client. + +**For more information about Transmission, please checkout:** +https://github.com/transmission/transmission From d0aab6798fb51a9802fa3ca485ae0b4470e9f061 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Tue, 21 Jul 2020 18:19:20 +0000 Subject: [PATCH 31/56] Update from https://github.com/jailmanager/iocage-plugin-organizr/commit/cc46f581fd84f1e15656e7a85e4e112eaadb96f4) --- content/plugins/organizr.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 content/plugins/organizr.md diff --git a/content/plugins/organizr.md b/content/plugins/organizr.md new file mode 100644 index 00000000..0a5fe0a3 --- /dev/null +++ b/content/plugins/organizr.md @@ -0,0 +1,5 @@ +# Organizr +Do you have quite a bit of services running on your computer or server? Do you have a lot of bookmarks or have to memorize a bunch of ip's and ports? Well, Organizr is here to help with that. Organizr allows you to setup "Tabs" that will be loaded all in one webpage. You can then work on your server with ease. Want to give users access to some Tabs? No problem, just enable user support and have them make an account. Want guests to be able to visit too? Enable Guest support for those tabs. + +**For more information about Organizr, please checkout:** +https://github.com/causefx/Organizr From b13bebf0dca0132ae3e7351ef0b0c7ae80e1b6c4 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Tue, 21 Jul 2020 20:03:53 +0000 Subject: [PATCH 32/56] Update from https://github.com/jailmanager/iocage-plugin-mariadb/commit/3cb69d96bf7c2e933e2c4a27f703dda870140605) --- content/plugins/mariadb.md | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 content/plugins/mariadb.md diff --git a/content/plugins/mariadb.md b/content/plugins/mariadb.md new file mode 100644 index 00000000..31cbd345 --- /dev/null +++ b/content/plugins/mariadb.md @@ -0,0 +1,11 @@ +# MariaDB +MariaDB is designed as a drop-in replacement of MySQL(R) with more +features, new storage engines, fewer bugs, and better performance. + +**For more information about MariaDB, please checkout:** +https://github.com/MariaDB/server/ + +## Configuration Parameters: + cert_email: Currently not used, but required due to a caddy bug. + root_password: The root password used for MariaDB + From ae79f2f369632d95c8c3692e5b1a37be422ba183 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Wed, 22 Jul 2020 10:58:42 +0000 Subject: [PATCH 33/56] Update from https://github.com/jailmanager/iocage-plugin-traefik/commit/8423d50b866e94e25187ccfbfbe226e04bd5651e) --- content/plugins/traefik.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 content/plugins/traefik.md diff --git a/content/plugins/traefik.md b/content/plugins/traefik.md new file mode 100644 index 00000000..4adbc543 --- /dev/null +++ b/content/plugins/traefik.md @@ -0,0 +1,4 @@ +# Plugin Template + +This Repository contains a templatate to base your plugin on. +Please be aware: When submitting your plugin, this readme gets added to the Wiki \ No newline at end of file From 9b0483f16ec6ecc33e99c9988619de308b98b7d0 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Wed, 22 Jul 2020 10:59:41 +0000 Subject: [PATCH 34/56] Update from https://github.com/jailmanager/iocage-plugin-traefik/commit/3b0ebc69492f1e5aa92a582e61d161202643f33c) --- content/plugins/traefik.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/content/plugins/traefik.md b/content/plugins/traefik.md index 4adbc543..6cb3557d 100644 --- a/content/plugins/traefik.md +++ b/content/plugins/traefik.md @@ -1,4 +1,6 @@ -# Plugin Template +# Traefik -This Repository contains a templatate to base your plugin on. -Please be aware: When submitting your plugin, this readme gets added to the Wiki \ No newline at end of file +Traefik is a leading modern reverse proxy and load balancer that makes deploying microservices easy + +**For more information about Traefik, please checkout:** +https://containo.us/traefik/ From e260bc051f54b8f5c95b350b5337a6e087625ef0 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Wed, 22 Jul 2020 11:05:35 +0000 Subject: [PATCH 35/56] Update from https://github.com/jailmanager/iocage-plugin-forked_daapd/commit/509b4a51fd19752b235668c877d015f0a7bd9d31) --- content/plugins/forked_daapd.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/content/plugins/forked_daapd.md b/content/plugins/forked_daapd.md index 0f0fb20e..e1404682 100644 --- a/content/plugins/forked_daapd.md +++ b/content/plugins/forked_daapd.md @@ -1,7 +1,5 @@ # forked-dappd -### intro - This plugin installs forked-daapd with a current version of ffmpeg. As it compiles ffmepg from sources the initialisation takes a while (~25 minutes on a Xeon E3-1230 v5 @ 3.40GHz). From 8e6bc101f97be389d4f5f83af59a1e5732eeaead Mon Sep 17 00:00:00 2001 From: jailmanager Date: Wed, 22 Jul 2020 11:35:33 +0000 Subject: [PATCH 36/56] Update from https://github.com/jailmanager/iocage-plugin-sabnzbd3/commit/befc79ca57018bab3bbfd6f3a5b910154d194fb9) --- content/plugins/sabnzbd3.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 content/plugins/sabnzbd3.md diff --git a/content/plugins/sabnzbd3.md b/content/plugins/sabnzbd3.md new file mode 100644 index 00000000..4adbc543 --- /dev/null +++ b/content/plugins/sabnzbd3.md @@ -0,0 +1,4 @@ +# Plugin Template + +This Repository contains a templatate to base your plugin on. +Please be aware: When submitting your plugin, this readme gets added to the Wiki \ No newline at end of file From 51e3db028938de1ac10977df9cec43523280d167 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Wed, 22 Jul 2020 11:38:55 +0000 Subject: [PATCH 37/56] Update from https://github.com/jailmanager/iocage-plugin-sabnzbd3/commit/c73d83e124318700ced2c96b14039453a23b29f5) --- content/plugins/sabnzbd3.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/content/plugins/sabnzbd3.md b/content/plugins/sabnzbd3.md index 4adbc543..d5751fd7 100644 --- a/content/plugins/sabnzbd3.md +++ b/content/plugins/sabnzbd3.md @@ -1,4 +1,7 @@ -# Plugin Template +# Sabnzbd v3 -This Repository contains a templatate to base your plugin on. -Please be aware: When submitting your plugin, this readme gets added to the Wiki \ No newline at end of file +SABnzbd is a multi-platform binary newsgroup downloader. The program works in the background and simplifies the downloading verifying and extracting of files from Usenet. +V3. is the newest (beta) version of Sabnzbd + +**For more information about Sabnzbd, please checkout:** +https://sabnzbd.org/ From 0f8355db822bb4b6d8faf412e145c0c46249fc95 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Wed, 22 Jul 2020 13:03:01 +0000 Subject: [PATCH 38/56] Update from https://github.com/jailmanager/iocage-plugin-sabnzbd/commit/2fdd71ff2e4892c3aadd362924c963b849c41915) --- content/plugins/sabnzbd.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 content/plugins/sabnzbd.md diff --git a/content/plugins/sabnzbd.md b/content/plugins/sabnzbd.md new file mode 100644 index 00000000..c75ddac5 --- /dev/null +++ b/content/plugins/sabnzbd.md @@ -0,0 +1,5 @@ +# Sabnzbd +plugin for Sabnzbd news reader. + +**For more information about Sabnzbd, please checkout:** +https://github.com/sabnzbd/sabnzbd \ No newline at end of file From 896f0296572f59240d664a63b4be79b76597eed1 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Wed, 22 Jul 2020 14:18:13 +0000 Subject: [PATCH 39/56] Update from https://github.com/jailmanager/iocage-plugin-bitwarden/commit/2f9b4d9b1593ad7662649d73efb0d64683e7d40e) --- content/plugins/bitwarden.md | 71 ++---------------------------------- 1 file changed, 4 insertions(+), 67 deletions(-) diff --git a/content/plugins/bitwarden.md b/content/plugins/bitwarden.md index 7908dae2..75d742ac 100644 --- a/content/plugins/bitwarden.md +++ b/content/plugins/bitwarden.md @@ -1,4 +1,8 @@ # Bitwarden_RS +This is a Bitwarden server API implementation written in Rust compatible with [upstream Bitwarden clients](https://bitwarden.com/#download)*, perfect for self-hosted deployment where running the official resource-heavy service might not be ideal. + +**For more information about Bitwarden_RS, please checkout:** +https://github.com/dani-garcia/bitwarden_rs ## Configuration Parameters - admin_token: Long (preferable random) password to be used to open the Bitwarden_rs admin interface. Admin interface is disabled when empty @@ -6,70 +10,3 @@ - mariadb_database: The name of the database used for (encrypted) credential storage. defaults to the jail name. Will be created on first install. - mariadb_user: The name of the database user to be used for (encrypted) credential storage. defaults to the database name. Will be created on first install. - mariadb_password: The password of the database user to be used for (encrypted) credential storage. defaults to the database name. - -## Original README from the Bitwarden_rs github: - -https://github.com/dani-garcia/bitwarden_rs - -# Bitwarden_RS -### This is a Bitwarden server API implementation written in Rust compatible with [upstream Bitwarden clients](https://bitwarden.com/#download)*, perfect for self-hosted deployment where running the official resource-heavy service might not be ideal. - ---- - -[![Travis Build Status](https://travis-ci.org/dani-garcia/bitwarden_rs.svg?branch=master)](https://travis-ci.org/dani-garcia/bitwarden_rs) -[![Docker Pulls](https://img.shields.io/docker/pulls/bitwardenrs/server.svg)](https://hub.docker.com/r/bitwardenrs/server) -[![Dependency Status](https://deps.rs/repo/github/dani-garcia/bitwarden_rs/status.svg)](https://deps.rs/repo/github/dani-garcia/bitwarden_rs) -[![GitHub Release](https://img.shields.io/github/release/dani-garcia/bitwarden_rs.svg)](https://github.com/dani-garcia/bitwarden_rs/releases/latest) -[![GPL-3.0 Licensed](https://img.shields.io/github/license/dani-garcia/bitwarden_rs.svg)](https://github.com/dani-garcia/bitwarden_rs/blob/master/LICENSE.txt) -[![Matrix Chat](https://img.shields.io/matrix/bitwarden_rs:matrix.org.svg?logo=matrix)](https://matrix.to/#/#bitwarden_rs:matrix.org) - -Image is based on [Rust implementation of Bitwarden API](https://github.com/dani-garcia/bitwarden_rs). - -**This project is not associated with the [Bitwarden](https://bitwarden.com/) project nor 8bit Solutions LLC.** - -#### ⚠️**IMPORTANT**⚠️: When using this server, please report any bugs or suggestions to us directly (look at the bottom of this page for ways to get in touch), regardless of whatever clients you are using (mobile, desktop, browser...). DO NOT use the official support channels. - ---- - -## Features - -Basically full implementation of Bitwarden API is provided including: - - * Single user functionality - * Organizations support - * Attachments - * Vault API support - * Serving the static files for Vault interface - * Website icons API - * Authenticator and U2F support - * YubiKey and Duo support - -## Installation -Pull the docker image and mount a volume from the host for persistent storage: - -```sh -docker pull bitwardenrs/server:latest -docker run -d --name bitwarden -v /bw-data/:/data/ -p 80:80 bitwardenrs/server:latest -``` -This will preserve any persistent data under /bw-data/, you can adapt the path to whatever suits you. - -**IMPORTANT**: Some web browsers, like Chrome, disallow the use of Web Crypto APIs in insecure contexts. In this case, you might get an error like `Cannot read property 'importKey'`. To solve this problem, you need to access the web vault from HTTPS. - -This can be configured in [bitwarden_rs directly](https://github.com/dani-garcia/bitwarden_rs/wiki/Enabling-HTTPS) or using a third-party reverse proxy ([some examples](https://github.com/dani-garcia/bitwarden_rs/wiki/Proxy-examples)). - -If you have an available domain name, you can get HTTPS certificates with [Let's Encrypt](https://letsencrypt.org/), or you can generate self-signed certificates with utilities like [mkcert](https://github.com/FiloSottile/mkcert). Some proxies automatically do this step, like Caddy (see examples linked above). - -## Usage -See the [bitwarden_rs wiki](https://github.com/dani-garcia/bitwarden_rs/wiki) for more information on how to configure and run the bitwarden_rs server. - -## Get in touch -To ask a question, offer suggestions or new features or to get help configuring or installing the software, please [use the forum](https://bitwardenrs.discourse.group/). - -If you spot any bugs or crashes with bitwarden_rs itself, please [create an issue](https://github.com/dani-garcia/bitwarden_rs/issues/). Make sure there aren't any similar issues open, though! - -If you prefer to chat, we're usually hanging around at [#bitwarden_rs:matrix.org](https://matrix.to/#/#bitwarden_rs:matrix.org) room on Matrix. Feel free to join us! - -### Sponsors -Thanks for your contribution to the project! - -- [@ChonoN](https://github.com/ChonoN) From 81d2f29b8233878002917df32599df51623ae594 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Wed, 22 Jul 2020 20:24:18 +0000 Subject: [PATCH 40/56] Update from https://github.com/jailmanager/iocage-plugin-grafana/commit/133b5647a50c4b6c7cc7dbd9e794e7adf340450b) --- content/plugins/grafana.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 content/plugins/grafana.md diff --git a/content/plugins/grafana.md b/content/plugins/grafana.md new file mode 100644 index 00000000..ec1cbad3 --- /dev/null +++ b/content/plugins/grafana.md @@ -0,0 +1,10 @@ +# Grafana +Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data driven culture: + +**For more information about Grafana, please checkout:** +https://grafana.com + +#### Configuration Parameters +- password (req): The password for the default admin account (admin). Required. +- link_influxdb (opt): set to the name of the influxdb jail to set as datasource, if desired. +- link_unifi (opt): set to the name of the Unifi jail with Unifi Poller to automatically get its data from influxdb. (requires link_influxdb) From 2faea2f09ce265bbf55f0f87f20dee7a9acf9e56 Mon Sep 17 00:00:00 2001 From: Kjeld Schouten-Lebbing Date: Wed, 22 Jul 2020 22:41:07 +0200 Subject: [PATCH 41/56] Create v1.2.x to v1.3.x.md --- content/migration/v1.2.x to v1.3.x.md | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 content/migration/v1.2.x to v1.3.x.md diff --git a/content/migration/v1.2.x to v1.3.x.md b/content/migration/v1.2.x to v1.3.x.md new file mode 100644 index 00000000..0e7ea987 --- /dev/null +++ b/content/migration/v1.2.x to v1.3.x.md @@ -0,0 +1,33 @@ +# v1.2.x to v1.3.x + +With v1.3.0 all our code has been completely rewriten and redesigned. +While we tried to minimize the effects on the user, there are some consequences. + +Please read this document completely before migrating. +We are **NOT** responsible if you ignore anything from this document. + +### Plugin backend +With v1.3.0 we started to use plugins as a backend for jailman. +Besides the plugins now being visable in the TrueNAS UI and the renaming of "blueprints" to "plugins" this should not have any significant changes to the user experience. + +However: This means all our previous jails are now not compatible with jailman anymore. A reinstall is required. +As all our jails save their data in persistent storage, it would not have any side effects to just reinstall all your jails. +You can still use jailman.sh -d $jail or jailman.sh -r $jail to remove or reinstall the old jails. + +However, please always make sure you create a snapshot before doing any possible destructive operations! + +#### Persistence warning on Organizr +Due to bad design choices from the organizr team, we can't be 100% sure our current setup is persistent. +While we do our best, we currently can't give guarantees about it + +### Different reinstall detection. +With v1.3.0 we simplyfied reinstall detection. +If a install finishes alright, it now adds a file called "INSTALLED" to the persistent config directory (by default: /apps/$jailname). As long as this file is present it will allways try to reinstall. +As your current persistent config directories do not contain this file, all reinstalls will fail. +You can easily fix this by manually add a filled named `INSTALLED` to all the persistent config directories. + +### SSL +With v1.3.0 we centralised all SSL to a traefik proxy. Traefik is a great utility to keep track of all SSL certificates and guarantees a more solid experience. +This also means we do **NOT** offer any SSL-setup ourselves anymore, but in return we fully integrated traefik into the config.yml file... so you can generate your certificates even faster than before. + +We have a limited amount of developers and by using traefik, we can focus on things that mater: Stability and functionality, instead of working custom SSL config for every jail. From 3d9fc0fb74ec5cf37bfe833764bbfea8dc113447 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Wed, 22 Jul 2020 21:13:50 +0000 Subject: [PATCH 42/56] Update from https://github.com/jailmanager/iocage-plugin-unifi/commit/05e473a5fb09cdee7c821a9fcd6ffe23a9c4d2f6) --- content/plugins/unifi.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 content/plugins/unifi.md diff --git a/content/plugins/unifi.md b/content/plugins/unifi.md new file mode 100644 index 00000000..2d9b7863 --- /dev/null +++ b/content/plugins/unifi.md @@ -0,0 +1,26 @@ +# Unifi Controller +The UniFi® Controller is a wireless network managementsoftware solution from Ubiquiti Networks™. It allows you tomanage multiple wireless networks using a web browser. + +**For more information about Unifi Controller, please checkout:** +https://www.ui.com + +**For more information about Unifi Poller, please checkout:** +https://github.com/unifi-poller/unifi-poller + +### Installation: + +- This jail requires an existing InfluxDB jail. InfluxDB may be created using the same install command, as long as influxdb is listed first. +- Once the script runs, a user must be created in the Unifi Controller software for your Unifi-Poller user. +- To view the data from Unifi-Poller, Grafana is required. Add the unifi InfluxDB database as a data source in Grafana. + +### Config Description + +- unifi_poller: boolean, true if you want to also install unifi-poller +- link_influxdb: This is the name of your influxdb database jail, should be influxdb. +- influxdb_database: The name of the database that will be created in influxdb for Unifi Poller. +- influxdb_user & influxdb_password: The created database's credentials for Unifi Poller. +- poller_user & poller_password: The Unifi-Poller user credentials. This user must be created in the Unifi Controller web gui after install matching these credentials. This is for the connection between Unifi Controller & Unifi Poller + +### Unifi-Controller Post-Install + +After the script runs and the unifi jail is running, open the web gui of the unifi jail at port 8443 (i.e. https://192.168.2.250:8443). After completing the initial setup wizard, go to Admins --> Add New Admin. Select "Manually set and share the password", enter the username and password used for up_user & up_password. Uncheck 'Require the user to change their password'. Verify "Role" is set to 'Read Only'. Click Create. From 049e51e051b7e20e0f85c6d640cfa0c5593db7ec Mon Sep 17 00:00:00 2001 From: kjeld Schouten-Lebbing Date: Wed, 22 Jul 2020 23:20:53 +0200 Subject: [PATCH 43/56] Wiki test fix --- content/CNAME | 1 + 1 file changed, 1 insertion(+) create mode 100644 content/CNAME diff --git a/content/CNAME b/content/CNAME new file mode 100644 index 00000000..96efd642 --- /dev/null +++ b/content/CNAME @@ -0,0 +1 @@ +wiki2.jailmanager.org \ No newline at end of file From d3965bf26afbb2ef89a350f136ee172e088ae9b3 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Thu, 23 Jul 2020 17:43:48 +0000 Subject: [PATCH 44/56] Update from https://github.com/jailmanager/iocage-plugin-nextcloud/commit/c553909040ba648dd7a9d6d93ec0b889b6f82304) --- content/plugins/nextcloud.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 content/plugins/nextcloud.md diff --git a/content/plugins/nextcloud.md b/content/plugins/nextcloud.md new file mode 100644 index 00000000..3f02b3e4 --- /dev/null +++ b/content/plugins/nextcloud.md @@ -0,0 +1,19 @@ +# Nextcloud +Nextcloud is the most deployed on-premises file share and collaboration platform. Access & collaborate across your devices. + +**For more information about Nextcloud, please checkout:** +https://nextcloud.com/ + +## Configuration parameters: + +- time_zone: Is the time zone of your location, in PHP notation--see the [PHP manual](http://php.net/manual/en/timezones.php) for a list of all valid time zones. +- cert_type: DNS_CERT, STANDALONE_CERT, SELFSIGNED_CERT, and NO_CERT determine which method will be used to generate a TLS certificate (or, in the case of NO_CERT, indicate that you don't want to use SSL at all). DNS_CERT and STANDALONE_CERT indicate use of DNS or HTTP validation for Let's Encrypt, respectively. +- cert_email: The email address Let's Encrypt will use to notify you of certificate expiration. This is mandatory regardless of whether you're using Let's Encrypt (Caddy won't start without it), but it's only used with Let's Encrypt. If you are **not** using one of the Let's Encrypt certificate options, you can set this to a dummy address as above. If you **are** using Let's Encrypt, though, it should be set to a valid address for the system admin. +- dns_plugin: If DNS_CERT is set, DNS_PLUGIN must contain the name of the DNS validation plugin you'll use with Caddy to validate domain control. See the [Caddy documentation](https://caddyserver.com/docs) under the heading of "DNS Providers" for the available plugins, but omit the leading "tls.dns.". For example, to use Cloudflare, set `DNS_PLUGIN="cloudflare"`. +- dns_env: If DNS_CERT is set, DNS_ENV must contain the authentication credentials for your DNS provider. See the [Caddy documentation](https://caddyserver.com/docs) under the heading of "DNS Providers" for further details. For Cloudflare, you'd set `DNS_ENV="CLOUDFLARE_EMAIL=foo@bar.baz CLOUDFLARE_API_KEY=blah"`, using your the email address of your Cloudflare account and your Global API key--the newer API tokens aren't currently supported. +- link_mariadb: The name of the MariaDB database jail you want to use. +- mariadb_password: The Password for the mariadb database user you want to use. Will be created on first install. +- mariadb_user: The name for the mariadb database user you want to use. Will be created on first install. Will default to the database name. +- mariadb_database: The name of the mariadb database you want to use. Will be created on first install. Will default to the jail name. +- admin_password: The password for the default Nextcloud admin user you want to create. Not created on reinstall. + From a610a7167384fe96e5f677407081371cb564ed4a Mon Sep 17 00:00:00 2001 From: jailmanager Date: Thu, 23 Jul 2020 20:07:16 +0000 Subject: [PATCH 45/56] Update from https://github.com/jailmanager/iocage-plugin-lazylibrarian/commit/f8246d9c85b1d059924a9a280de9d3eccc1b1e90) --- content/plugins/lazylibrarian.md | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 content/plugins/lazylibrarian.md diff --git a/content/plugins/lazylibrarian.md b/content/plugins/lazylibrarian.md new file mode 100644 index 00000000..4adbc543 --- /dev/null +++ b/content/plugins/lazylibrarian.md @@ -0,0 +1,4 @@ +# Plugin Template + +This Repository contains a templatate to base your plugin on. +Please be aware: When submitting your plugin, this readme gets added to the Wiki \ No newline at end of file From 3214c8baf979c9652322d446b283a0ff2d74dcbe Mon Sep 17 00:00:00 2001 From: jailmanager Date: Thu, 23 Jul 2020 20:50:35 +0000 Subject: [PATCH 46/56] Update from https://github.com/jailmanager/iocage-plugin-traefik/commit/aab0f05e789fa16400a763c2cc3bae492ae0692c) --- content/plugins/traefik.md | 45 +++++++++++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/content/plugins/traefik.md b/content/plugins/traefik.md index 6cb3557d..d3e6d2ff 100644 --- a/content/plugins/traefik.md +++ b/content/plugins/traefik.md @@ -1,6 +1,49 @@ # Traefik -Traefik is a leading modern reverse proxy and load balancer that makes deploying microservices easy +Traefik is a reverse proxy, this means it sits in-between your servers and the internet. Often these reverse proxies also, just like traefik, function as SSL endpoints, this means they encrypt the traffic comming from/to your servers. + +Standalone without docker Traefik is quite a challenge to setup right. JailMan tries to make it as easy as possible for your, by doing most of the groundwork and tweaking for you. +This also means we don't support all features of traefik. We use traefik as a central reverse proxy and ssl termination endpoint for all our jails. Nothing more, Nothing less. + +To make things as streamlined as possible we had to make choices. Hence we only support DNS-verification for certificate generation. No http(s) verification is included. + **For more information about Traefik, please checkout:** https://containo.us/traefik/ + +## Configuration Parameters + +Traefik requires a little more variables to setup in config.yml than other jails. +Here is the list of configuration parameters: + +- dns_provider: The DNS provider you are using to verify ownership of the domain. This is required to get a letsencrypt certificate. We only support DNS-verification for certificate generation. +- domain_name: The domain name you want to use to connect to traefik. Needs to be accessable at the DNS provider (cert_provider) with the DNS credentials (cert_env) provided. +- cert_email: The email adress to link to the Lets Encrypt certificate +- dashboard: set to "true" to enable the dashboard. +- cert_env: For DNS verification we need login credentials and need to write those in a way Traefik understands. You can find the requirements for your DNS provider at the traefik website: https://docs.traefik.io/https/acme/ +You will need to use 2 spaces(!) in front and enter them below this configuration option. Like this: +``` + cert_env: + CF_API_EMAIL: fake@email.adress + CF_API_KEY: ftyhsfgufsgusfgjhsfghjsgfhj +``` + +### Advanced settings + +These settings are normally not required or normally used, but might come in handy for advanced users. +- cert_staging: Set this to "true" if you want to test it out using the Lets Encrypt staging server. Set it to "false" or (preferable) just leave it out to use the production server. +- cert_wildcard_domain: If you want to generate wildcard certificates, please enter the domain name here, without `*.` (ex. `test.testdomain.com`) +- cert_strict_sni: set to "true" to enable strict SNI checking, set to false or (preferably) just leave it out to disable strict-SNI checking. + + +## Installing + +Just do the usual install procedures, like any other JailMan jail. +If you have done it right, you can reach the Traefik admin dashboard using the domain_name you entered in the config file. + +## Usages + +Currently we haven't migrated all jails to sit behind the traefik reverse proxy yet. We also didn't add security for the dashboard yet. +Thus it is currently not usable out of the box, although the Traefik installation is fully configured. + +Although the web interface shows port 9080 and 9443, Traefik is actually also listening on the (more common) port 80 and 443, also known as normal (without port in the URL) http and https ports. \ No newline at end of file From 614c5968a05972fa094a278a8b9f9b8854524476 Mon Sep 17 00:00:00 2001 From: Kjeld Schouten-Lebbing Date: Fri, 24 Jul 2020 17:27:21 +0200 Subject: [PATCH 47/56] Update v1.2.x to v1.3.x.md --- content/migration/v1.2.x to v1.3.x.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/content/migration/v1.2.x to v1.3.x.md b/content/migration/v1.2.x to v1.3.x.md index 0e7ea987..6a896a55 100644 --- a/content/migration/v1.2.x to v1.3.x.md +++ b/content/migration/v1.2.x to v1.3.x.md @@ -1,6 +1,6 @@ # v1.2.x to v1.3.x -With v1.3.0 all our code has been completely rewriten and redesigned. +With v1.3.0 all our code has been completely redesigned and rewriten. While we tried to minimize the effects on the user, there are some consequences. Please read this document completely before migrating. @@ -31,3 +31,23 @@ With v1.3.0 we centralised all SSL to a traefik proxy. Traefik is a great utilit This also means we do **NOT** offer any SSL-setup ourselves anymore, but in return we fully integrated traefik into the config.yml file... so you can generate your certificates even faster than before. We have a limited amount of developers and by using traefik, we can focus on things that mater: Stability and functionality, instead of working custom SSL config for every jail. + +### Config file format +Because we simplified the internal config file structure, the config.yml structure has been simplified. +Some options have been removed and the "jail" main category has been removed. + +An example what this means: +``` +jail: + sonarrjail: + blueprint: sonarr +``` + +Will become: +``` +sonarrjail: + plugin: sonarr +``` +Where there will be NO spaces in front of the jailname anymore. + + From 23e0b7154a667a573e975843f45142720d7ee9ab Mon Sep 17 00:00:00 2001 From: Kjeld Schouten-Lebbing Date: Sat, 25 Jul 2020 15:45:54 +0200 Subject: [PATCH 48/56] Delete config options.md --- content/config options.md | 49 --------------------------------------- 1 file changed, 49 deletions(-) delete mode 100644 content/config options.md diff --git a/content/config options.md b/content/config options.md deleted file mode 100644 index 9b55155f..00000000 --- a/content/config options.md +++ /dev/null @@ -1,49 +0,0 @@ -## Config Options - -There are a lot of possibly configuration options in config.yml. -For jail specific config options, please see the wiki documentation for your specific jail. This page only list general and global config options, that are the same for every jail. - -## Global config options - -Global options apply to every jail. Use and change with caution. - -### dataset - -All config options under "dataset" change dataset creation and linking. The indentation and "dataset" flag are not optional. -All Datasets are auto-created if they do not exist already, no need to worry about creating them! - -- config: The dataset that is going to contain the persistant data for every jail. For example: Nextcloud user files for nextcloud or the actual database for mariadb. -- iocage: The dataset containing the iocage config. In FreeNAS often `poolname/iocage` -- media: The dataset that is going to contain all media files for plex, Sonarr, Radarr etc. Such as movies and music. Music, Movie etc. sub-datasets are auto-created. -- downloads: The dataset containging temporary download files. These are moved to media when finished. complete, incomplete etc. sub-datasets are auto-created. - -## jails -All config options under "jails" change default jail settings that are the same for every created jail. The indentation and "jails" flag are not optional. -- version: the current to-be-installed version for jails -- pkgs: packages that are installed to all created jails - -## (hidden) Auto created datasets - -Some datasets are auto created and can not be changed from the config file. This is done to ease troubleshooting. - -- `media/music` created as a sub-dataset of media, contains music -- `media/movies` created as a sub-dataset of media, contains movies -- `media/shows` created as a sub-dataset of media, contains tv-shows -- `downloads/complete` created as a sub-dataset of downloads, contains completed downloads -- `downloads/incomplete` created as a sub-dataset of downloads, contains not-yet-completed downloads - -## General config options - -### Networking - -Please be aware that dhcp is not actively supported, many of the jails depend on having a fixed IP-adress in the config file. -Some also depend on other jails having a fixed IP in the config file. Use of DHCP is on your own risk and might not work. - -- ip4_addr: To set a static IP (recommended), enter the desired ip address here. Leave blank (or remove the line) for DHCP. -- gateway: Set the gateway IP for static IP setup. Leave blank (or remove the line) for DHCP. - -### Advanced -- interfaces: Set the "interfaces" flag for iocage. Example: `vnet0:bridge0` (optional) -- dhcp: Set to "on" to force DHCP (not required for DHCP, see above) -- pkgs: Override the to-be-install packages for this jail (might break now or break updates) -- custom_iocage: Adds additional custom options to iocage create (NOT actively supported, use on your own risk) \ No newline at end of file From f6764feb9c11bd0eff3075cd2723772abb6aa1cf Mon Sep 17 00:00:00 2001 From: kjeld Schouten-Lebbing Date: Sat, 25 Jul 2020 15:51:28 +0200 Subject: [PATCH 49/56] Revert "Delete config options.md" This reverts commit 23e0b7154a667a573e975843f45142720d7ee9ab. --- content/config options.md | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 content/config options.md diff --git a/content/config options.md b/content/config options.md new file mode 100644 index 00000000..9b55155f --- /dev/null +++ b/content/config options.md @@ -0,0 +1,49 @@ +## Config Options + +There are a lot of possibly configuration options in config.yml. +For jail specific config options, please see the wiki documentation for your specific jail. This page only list general and global config options, that are the same for every jail. + +## Global config options + +Global options apply to every jail. Use and change with caution. + +### dataset + +All config options under "dataset" change dataset creation and linking. The indentation and "dataset" flag are not optional. +All Datasets are auto-created if they do not exist already, no need to worry about creating them! + +- config: The dataset that is going to contain the persistant data for every jail. For example: Nextcloud user files for nextcloud or the actual database for mariadb. +- iocage: The dataset containing the iocage config. In FreeNAS often `poolname/iocage` +- media: The dataset that is going to contain all media files for plex, Sonarr, Radarr etc. Such as movies and music. Music, Movie etc. sub-datasets are auto-created. +- downloads: The dataset containging temporary download files. These are moved to media when finished. complete, incomplete etc. sub-datasets are auto-created. + +## jails +All config options under "jails" change default jail settings that are the same for every created jail. The indentation and "jails" flag are not optional. +- version: the current to-be-installed version for jails +- pkgs: packages that are installed to all created jails + +## (hidden) Auto created datasets + +Some datasets are auto created and can not be changed from the config file. This is done to ease troubleshooting. + +- `media/music` created as a sub-dataset of media, contains music +- `media/movies` created as a sub-dataset of media, contains movies +- `media/shows` created as a sub-dataset of media, contains tv-shows +- `downloads/complete` created as a sub-dataset of downloads, contains completed downloads +- `downloads/incomplete` created as a sub-dataset of downloads, contains not-yet-completed downloads + +## General config options + +### Networking + +Please be aware that dhcp is not actively supported, many of the jails depend on having a fixed IP-adress in the config file. +Some also depend on other jails having a fixed IP in the config file. Use of DHCP is on your own risk and might not work. + +- ip4_addr: To set a static IP (recommended), enter the desired ip address here. Leave blank (or remove the line) for DHCP. +- gateway: Set the gateway IP for static IP setup. Leave blank (or remove the line) for DHCP. + +### Advanced +- interfaces: Set the "interfaces" flag for iocage. Example: `vnet0:bridge0` (optional) +- dhcp: Set to "on" to force DHCP (not required for DHCP, see above) +- pkgs: Override the to-be-install packages for this jail (might break now or break updates) +- custom_iocage: Adds additional custom options to iocage create (NOT actively supported, use on your own risk) \ No newline at end of file From f862a460f038815212faa2b41062e06fae93115f Mon Sep 17 00:00:00 2001 From: kjeld Schouten-Lebbing Date: Sat, 25 Jul 2020 15:51:54 +0200 Subject: [PATCH 50/56] slight edit --- content/development/linked_configs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/development/linked_configs.md b/content/development/linked_configs.md index 2239ad85..3eb7af80 100644 --- a/content/development/linked_configs.md +++ b/content/development/linked_configs.md @@ -15,5 +15,5 @@ Once setup one can reach all the variables of the linked jail using the followin `link_$Name_$variable` For example if we want the ipv4 address of the jail we linked earlier, during the install of another jail, we would do: -`link_testjail_ip4_addr` +`${link_testjail_ip4_addr}` From 472afa6f9e673f48d444f8a4235c2d5e45055e74 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Sat, 25 Jul 2020 13:55:17 +0000 Subject: [PATCH 51/56] Update from https://github.com/jailmanager/.github/commit/5343c4ca25002e1f18513de29524d5a8e579a567) --- content/CODE_OF_CONDUCT.md | 71 +++++++++++++++++++++++++ content/CONTRIBUTING.md | 105 +++++++++++++++++++++++++++++++++++++ content/SECURITY.md | 18 +++++++ content/SUPPORT.md | 18 +++++++ 4 files changed, 212 insertions(+) create mode 100644 content/CODE_OF_CONDUCT.md create mode 100644 content/CONTRIBUTING.md create mode 100644 content/SECURITY.md create mode 100644 content/SUPPORT.md diff --git a/content/CODE_OF_CONDUCT.md b/content/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..3dcfef28 --- /dev/null +++ b/content/CODE_OF_CONDUCT.md @@ -0,0 +1,71 @@ +# Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, sex characteristics, gender, level of experience, +education, socio-economic status, nationality, personal appearance, race, +religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community + +Examples of unacceptable behavior by participants include: + +* The use of sexual imagery and unwelcome sexual advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting the project team at jailman@schouten-lebbing.nl. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html + +[homepage]: https://www.contributor-covenant.org + +For answers to common questions about this code of conduct, see +https://www.contributor-covenant.org/faq diff --git a/content/CONTRIBUTING.md b/content/CONTRIBUTING.md new file mode 100644 index 00000000..7c9e514f --- /dev/null +++ b/content/CONTRIBUTING.md @@ -0,0 +1,105 @@ +# Contribution and Review Guidelines + +This project welcomes any and all input, but we need to have a few quality guidelines. These guidelines will be examplained here, in this document. + +### GIT Guidelines +*** +#### New to GIT + +If you have never used git before, you can look up our general reference on our wiki. + +#### Git and You + +GIT is a fantastic system, but while using it we have a few guidelines to keep it fantastic for everyone. + +* Submit complete PR's. +* Add [DNM] if you do not want your PR merged yet. +* Always try and fill in the whole form, even for small PR's. +* Don't close when a reviewer requests changes (just push the changes or ask for help). +* Explain what you did in your PR. +* Be thorough. +* If you can add screenshots to clarify. +* Always try to add "Fixes #000" (where 000 is the Issue your PR fixes) +* found something you want to fix yourself? Please do make an issue too. + +### Structure Guidelines +*** +#### Naming scheme + +File and folder names are important and making mistakes in them may give conflicts an/or annoyance in the future. Remember, your garbage needs to be cleaned by someone sometime in the future! For that reason, we have a few guidelines in regards to naming files and folder. + +* Always start files and folders WITHOUT a Capital. + +#### Inclusion of files and folders + +Although GIT is quite friendly in what it accepts in terms of files and folder changes in a commit, a reviewer's or bugfixer's time is not unlimited. For that reason, we have a few specific guidelines in regards to the inclusion of files and folders in your PR. + +* Only include files you actually changed. +* Try not to include multiple changes in one PR +* Want to change the formatting of multiple files too? Make a separate PR. + +*Always include the following files when creating a new jail* + +- install.sh +- update.sh +- readme.md +- config.yml + + +### Code Guidelines +*** +#### Your code, your style, my review + +Here at jailman, we value people having their own style. But your code needs to be reviewable and editable by others too. For that reason, we have a few basic coding guidelines + +* **Always** explain regex in a comment within your code. +* Write simple code and don't try to impress. +* We will run (Basic) automated reformating of code once in a while. +* Document your changes in your code and if need be, on the wiki. +* All PR's should be able to pass our automated shellcheck. +* It's okey to add shellcheck ignores, but only AFTER you checked the warning! + +#### jail requirements + +- Jails should always save user-specific data in a persistant location. Which is the location specified in the config.yml file under "config:", which is automatically mounted to every jail under /config. There should be no user specific data in the jail itself +- Jails should not require the user to edit any config file themselves. All config changes should be automated +- Jails should not use default passwords, the user should always be forced(!) to put credentials in config.yml manually + +#### Variable style + +Here at JailMan we use a consistant style for variables. We also automated the process of loading the variables from the config file into your plugin, therefore you need to list all variables and required variables into the config.yml file in your plugin folder. + +The following variables do not need to be included in your plugin config.yml, because they are always loaded: + +ip4_addr +host_name +gateway + +The style requirements for your plugin variables are as follows: +Simple variables: clear names, no references to other jails. (ex. `admin_token` ) +Referencing another jail: prefix `link_` suffix a clear description of the jail you are linking. Preferably a plugin name. (ex. `link_mariadb` ) +For referencing settings for specific applications or other plugins: prefix: `$pluginname_` or `$application_` where $plugin and $application are the names of the plugin/application the value is used for. (ex. `mariadb_database`) + + +### Review Guidelines +*** +Even us review gods need some guidelines once in a while. + +* Let people learn from their mistakes +* Review instead of merging without comments +* Abide by these guidelines in your review +* Tests exist for a reason. Don't merge with test-failures + + + +### Todo vs Feature vs bug: +*** +Please take note of the difference between a TODO and Feature + +* Bug: An unexpected behavior of the script or a crash. Including, but not limited to, errors and warnings. +* Todo: When you come across something that needs tweaking/adding during development, is not an unexpected behavior +* Feature: When you, out of personal preference, want something added or changed. + +### That's it! +*** +Someone will come along and review the changes. If everything looks good then they will merge it with the main repo. If you need any help don't be afraid to ask in the discord channel: [https://discord.gg/tFcTpBp](https://discord.gg/tFcTpBp) diff --git a/content/SECURITY.md b/content/SECURITY.md new file mode 100644 index 00000000..3ba5b5e5 --- /dev/null +++ b/content/SECURITY.md @@ -0,0 +1,18 @@ +# Security Policy + +## Supported Versions + +| Version | TrueNAS version | Supported with updates | +| ------- | ------- |------------------ | +| 1.3.0 | 12.0 | NOT RELEASED YET | +| 1.2.x | 11.3U2-3 | :white_check_mark: | +| 1.1.x | 11.3U1-2 | :x: | +| 1.0.x | 11.3U1 | :x: | + +## Reporting a Vulnerability + +If you find any security issue, please email the project maintainer. + +Currently the Project Maintainer is: +[Ornias1993](https://github.com/Ornias1993) + diff --git a/content/SUPPORT.md b/content/SUPPORT.md new file mode 100644 index 00000000..3ba5b5e5 --- /dev/null +++ b/content/SUPPORT.md @@ -0,0 +1,18 @@ +# Security Policy + +## Supported Versions + +| Version | TrueNAS version | Supported with updates | +| ------- | ------- |------------------ | +| 1.3.0 | 12.0 | NOT RELEASED YET | +| 1.2.x | 11.3U2-3 | :white_check_mark: | +| 1.1.x | 11.3U1-2 | :x: | +| 1.0.x | 11.3U1 | :x: | + +## Reporting a Vulnerability + +If you find any security issue, please email the project maintainer. + +Currently the Project Maintainer is: +[Ornias1993](https://github.com/Ornias1993) + From 1aa1a93e8b7ae009fcd0dbe53d1c4ec6d6ad02df Mon Sep 17 00:00:00 2001 From: jailmanager Date: Sat, 25 Jul 2020 14:00:24 +0000 Subject: [PATCH 52/56] Update from https://github.com/jailmanager/.github/commit/6294ac67662a35820e6f8950fc210bd0969ca9ab) --- content/SUPPORT.md | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/content/SUPPORT.md b/content/SUPPORT.md index 3ba5b5e5..e69de29b 100644 --- a/content/SUPPORT.md +++ b/content/SUPPORT.md @@ -1,18 +0,0 @@ -# Security Policy - -## Supported Versions - -| Version | TrueNAS version | Supported with updates | -| ------- | ------- |------------------ | -| 1.3.0 | 12.0 | NOT RELEASED YET | -| 1.2.x | 11.3U2-3 | :white_check_mark: | -| 1.1.x | 11.3U1-2 | :x: | -| 1.0.x | 11.3U1 | :x: | - -## Reporting a Vulnerability - -If you find any security issue, please email the project maintainer. - -Currently the Project Maintainer is: -[Ornias1993](https://github.com/Ornias1993) - From f65a2ecb4060e7a8025a4160d7ca033c79a0d40e Mon Sep 17 00:00:00 2001 From: kjeld Schouten-Lebbing Date: Sat, 25 Jul 2020 16:11:24 +0200 Subject: [PATCH 53/56] copy readme to wiki --- content/index.md | 130 +++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 127 insertions(+), 3 deletions(-) diff --git a/content/index.md b/content/index.md index f2dbf1aa..811bb538 100644 --- a/content/index.md +++ b/content/index.md @@ -1,5 +1,129 @@ -# Introduction -Welcome to Jailam. An open source effort to create an easy management tool for Freenas Jails. +# Introduction -As this project is in its early stages, this wiki will serve the purpose of providing a foundation and a almost (not) up-to-date scripting reference to the underlying structure of jailman. +**Jailman is a collection of shell scripts designed to make it easier to install all sorts of iocage Jails on FreeNAS.** +--- + +[![GitHub last commit](https://img.shields.io/github/last-commit/jailmanager/jailman/dev.svg)](https://github.com/jailmanager/jailman/commits/dev) [![GitHub Release](https://img.shields.io/github/release/jailmanager/jailman.svg)](https://github.com/jailmanager/jailman/releases/latest) [![License: GPL v2](https://img.shields.io/badge/License-GPL%20v2-blue.svg)](https://github.com/jailmanager/jailman/blob/master/docs/LICENSE.GPLV2) [![License](https://img.shields.io/badge/License-BSD%202--Clause-orange.svg)](https://github.com/jailmanager/jailman/blob/master/docs/LICENSE.BSD2) + +There are a lot of great scripts out there to create all sorts of custom jails on FreeNAS. Sadly enough, they all take their own approach to configuration, which lead to a lot of time wasted configuring all sorts of different scripts. + +We do not aim to be some sort of XKCD like "solution to replace all solutions", but aim to simply improve, iterate and integrate the great work others have already put forward. + +The goal of this project is to be able to install, update, reinstall, upgrade and delete most of your services by just running a single command using a single config file. While doing this we aim for a "docker like" scenario, where the jail is completely disposable and all configuration is saved outside of the jail. + +## Getting started +### Installing +- Get into FreeNAS using the in-gui console or SSH. +Run the following commands to install jailman: +- `git clone https://github.com/jailmanager/jailman.git` +- `cd jailman` +- `cp config.yml.example config.yml` +- edit config.yml to reflect your personal settings (optional, see "use") +- Run one of the commands under "How-To Use" + + +### Updating +This script includes an autoupdate feature which checks if changes to the script has been posted to github. + + +## How-To Use +Replace $jailname with the name of the jail you want to install. +For supported jails, please see this readme or config.yml.example + +- First: CD into the directory you downloaded jailman into (see above) +example: +`cd /root/jailman` + +- Install: +`./jailman.sh -i $jailname` +Example: +`./jailman.sh -i sonarr` + +- ReInstall: +`./jailman.sh -r $jailname` +Example: +`./jailman.sh -r sonarr` + +- Update: +`./jailman.sh -u $jailname` +Example: +`./jailman.sh -u sonarr` + +- Destroy +`./jailman.sh -d $jailname` +Example: +`./jailman.sh -d sonarr` + +You can also do multiple jails in one pass: +Example: +`jailman.sh -i sonarr radarr lidarr` + +This installs the jail, creates the config dataset if needed, installs all packages and sets them up for you. +Only thing you need to do is do the setup of the packages in their respective GUI. +All settings for the applications inside the jails are persistent across reinstalls, so don't worry reinstalling! + +config.yml.example includes basic configuration for all jails. +Basic means: The same setup as a FreeNAS plugin would've, DHCP on bridge0. + +### Currently Supported Services + +#### General + +- organizr +- py-kms +- nextcloud (currently broken, fix ready for 1.3.0) +- bitwarden +- unifi controller + +#### Backend +- mariadb +- influxdb + +#### Downloads + +- transmission +- jackett + +#### Media + +- plex +- tautulli +- sonarr +- radarr +- lidarr + +## Get involved + +### Preparing your own copy of JailMan +Getting involved with JailMan and creating your own Jails, is really simple although experience with Bash, BSD and iocage is highly recommended. + +- Fork the JailMan Repository and clone your own fork to disk. +- Create a new branch, starting from the dev branch (with all current development changes) +- Open Jailman.sh and `BRANCH="dev"`into your own branch. + +### Making changes +To add a jail, you need 4 things: + +- A jailfolder under jails/ +- an install script in the jail folder, named `install.sh` +- an update script in the jail folder, named `update.sh` +- an entry in `config.yml` with the name of your jail + +All jails created by JailMan start with their own persistant data folder in a seperate dataset, mounted under `/config`. +You can safely use this, or create additional datasets and mount those. + +To make your experience making changes to Jailman as easy as possible, we already made some convenience functions in global.sh, those are available to your jail install and update scripts from the start! + +But above all: Have fun building it! + +## LICENCE +This work is dual licenced under GPLv2 and BSD-2 clause + +### Sub-Licences +Some sub-modules available under "jails" might be licenced under a different licence. +Please be aware of this and take note of any LICENCE files signaling a differently licenced sub-module. + + +--- +![built-with-resentment](http://forthebadge.com/images/badges/built-with-resentment.svg) ![contains-technical-debt](http://forthebadge.com/images/badges/contains-technical-debt.svg) From 0fcd7cc590b137e357709bb577aab420ee675cc9 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Sat, 25 Jul 2020 21:04:35 +0000 Subject: [PATCH 54/56] Update from https://github.com/jailmanager/iocage-plugin-traefik/commit/e2162b1b97cd3df11f1aaaf92ef88dc370ac9bc5) --- content/plugins/traefik.md | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/content/plugins/traefik.md b/content/plugins/traefik.md index d3e6d2ff..d0e53622 100644 --- a/content/plugins/traefik.md +++ b/content/plugins/traefik.md @@ -43,7 +43,27 @@ If you have done it right, you can reach the Traefik admin dashboard using the d ## Usages -Currently we haven't migrated all jails to sit behind the traefik reverse proxy yet. We also didn't add security for the dashboard yet. -Thus it is currently not usable out of the box, although the Traefik installation is fully configured. +To add a jail to traefik, just add the following config parameter to the other jail (not traefik), where $traefikjail is the name of your traefik-jail: +``` + traefik_proxy: $traefikjail + +``` + + +If you want to add security to a jail, there are two opions: basic_auth or forward_auth. +**basic_auth:** +Basic_auth uses a simpel username and passowrd prompt before it allows anyone to open the site. It can be enabled by adding the following config parameter in addition to traefik_proxy. +``` + traefik_basic_auth: user1:password1 user2:password2 + +``` + +**forward_auth:** +forward_auth checks if you already have access (http not-403) to another website. It's more advanced to setup, but it (for example) enables you to easily add central authentication to jails using organizr. +The following is an example config, using an organizr jail. It needs to be added in addition to traefik_proxy: +``` + traefik_auth_forward: https://organizr.testdomain.com/api/?v1/auth&group=1 + +``` Although the web interface shows port 9080 and 9443, Traefik is actually also listening on the (more common) port 80 and 443, also known as normal (without port in the URL) http and https ports. \ No newline at end of file From 3795630f8e5b9d012d110781c43efd57de746bf1 Mon Sep 17 00:00:00 2001 From: jailmanager Date: Sat, 25 Jul 2020 21:22:52 +0000 Subject: [PATCH 55/56] Update from https://github.com/jailmanager/iocage-plugin-traefik/commit/30d9342bcbc7951e0ce31e4082325bc73d595b77) --- content/plugins/traefik.md | 35 ++++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/content/plugins/traefik.md b/content/plugins/traefik.md index d0e53622..9c9b1af0 100644 --- a/content/plugins/traefik.md +++ b/content/plugins/traefik.md @@ -34,21 +34,46 @@ These settings are normally not required or normally used, but might come in han - cert_staging: Set this to "true" if you want to test it out using the Lets Encrypt staging server. Set it to "false" or (preferable) just leave it out to use the production server. - cert_wildcard_domain: If you want to generate wildcard certificates, please enter the domain name here, without `*.` (ex. `test.testdomain.com`) - cert_strict_sni: set to "true" to enable strict SNI checking, set to false or (preferably) just leave it out to disable strict-SNI checking. - +- link_influxdb: This links traefik to a influxdb jail to store metrics data (influxdb_password required) +- influxdb_password: this sets up a password to use for the influxdb database +- traefik_auth_basic: Add basic authentication to the traefik dashboard itself (if used on the traefik jail) or another jail (if used on another jail) +- traefik_forward_auth: Add forwarded authentication to the traefik dashboard itself (if used on the traefik jail) or another jail (if used on another jail) ## Installing -Just do the usual install procedures, like any other JailMan jail. -If you have done it right, you can reach the Traefik admin dashboard using the domain_name you entered in the config file. +To make traefik as easy as possible to install, we advice to base your config.yml settings on the following example: +``` +traefikjail: + blueprint: traefik + ip4_addr: 192.168.1.200/24 + gateway: 192.168.1.1 + dashboard: true + traefik_auth_basic: user:password user2:pass2 + domain_name: traefik.test.placeholder.net + dns_provider: cloudflare + cert_staging: true + cert_email: fake@email.net + cert_wildcard_domain: test.placeholder.net + # Please follow the guide here: https://docs.traefik.io/https/acme/ + # and enter your DNS providers environment variables below (2 spaces indent) of cert_env + cert_env: + CF_API_EMAIL: fake@email.adress + CF_API_KEY: ftyhsfgufsgusfgjhsfghjsgfhj + link_influxdb: influxdbjail + influxdb_password: traefikmetricspass +``` + ## Usages -To add a jail to traefik, just add the following config parameter to the other jail (not traefik), where $traefikjail is the name of your traefik-jail: +To add a jail to traefik, you will need a domain name (which can be accessed using the cert_env settings on traefik). +If you have the domain name configured correctly on traefik, just add the following config parameter to the other jail (not traefik), where $traefikjail is the name of your traefik-jail: ``` + domain_name: myjail.test.com traefik_proxy: $traefikjail - ``` +## Security If you want to add security to a jail, there are two opions: basic_auth or forward_auth. **basic_auth:** From 476683809b174c3639799cae88938531e4b5e0ca Mon Sep 17 00:00:00 2001 From: Kjeld Schouten-Lebbing Date: Thu, 16 Mar 2023 09:57:54 +0100 Subject: [PATCH 56/56] move --- {.github => jailman/wiki/.github}/workflows/deploy.yml | 0 .gitignore => jailman/wiki/.gitignore | 0 CNAME => jailman/wiki/CNAME | 0 LICENSE => jailman/wiki/LICENSE | 0 LICENSE.BSD2 => jailman/wiki/LICENSE.BSD2 | 0 LICENSE.GPLV2 => jailman/wiki/LICENSE.GPLV2 | 0 {content => jailman/wiki/content}/CNAME | 0 {content => jailman/wiki/content}/CODE_OF_CONDUCT.md | 0 {content => jailman/wiki/content}/CONTRIBUTING.md | 0 {content => jailman/wiki/content}/SECURITY.md | 0 {content => jailman/wiki/content}/SUPPORT.md | 0 {content => jailman/wiki/content}/config options.md | 0 {content => jailman/wiki/content}/development/functions.md | 0 {content => jailman/wiki/content}/development/linked_configs.md | 0 {content => jailman/wiki/content}/index.md | 0 {content => jailman/wiki/content}/migration/v1.1.x to v1.2.x.md | 0 {content => jailman/wiki/content}/migration/v1.2.x to v1.3.x.md | 0 {content => jailman/wiki/content}/plugins/General | 0 {content => jailman/wiki/content}/plugins/bazarr.md | 0 {content => jailman/wiki/content}/plugins/bitwarden.md | 0 {content => jailman/wiki/content}/plugins/forked_daapd.md | 0 {content => jailman/wiki/content}/plugins/grafana.md | 0 {content => jailman/wiki/content}/plugins/influxdb.md | 0 {content => jailman/wiki/content}/plugins/jackett.md | 0 {content => jailman/wiki/content}/plugins/kms.md | 0 {content => jailman/wiki/content}/plugins/lazylibrarian.md | 0 {content => jailman/wiki/content}/plugins/lidarr.md | 0 {content => jailman/wiki/content}/plugins/mariadb.md | 0 {content => jailman/wiki/content}/plugins/nextcloud.md | 0 {content => jailman/wiki/content}/plugins/organizr.md | 0 {content => jailman/wiki/content}/plugins/plex.md | 0 {content => jailman/wiki/content}/plugins/radarr.md | 0 {content => jailman/wiki/content}/plugins/sabnzbd.md | 0 {content => jailman/wiki/content}/plugins/sabnzbd3.md | 0 {content => jailman/wiki/content}/plugins/sonarr.md | 0 {content => jailman/wiki/content}/plugins/tautulli.md | 0 {content => jailman/wiki/content}/plugins/template.md | 0 {content => jailman/wiki/content}/plugins/traefik.md | 0 {content => jailman/wiki/content}/plugins/transmission.md | 0 {content => jailman/wiki/content}/plugins/unifi.md | 0 mkdocs.yml => jailman/wiki/mkdocs.yml | 0 41 files changed, 0 insertions(+), 0 deletions(-) rename {.github => jailman/wiki/.github}/workflows/deploy.yml (100%) rename .gitignore => jailman/wiki/.gitignore (100%) rename CNAME => jailman/wiki/CNAME (100%) rename LICENSE => jailman/wiki/LICENSE (100%) rename LICENSE.BSD2 => jailman/wiki/LICENSE.BSD2 (100%) rename LICENSE.GPLV2 => jailman/wiki/LICENSE.GPLV2 (100%) rename {content => jailman/wiki/content}/CNAME (100%) rename {content => jailman/wiki/content}/CODE_OF_CONDUCT.md (100%) rename {content => jailman/wiki/content}/CONTRIBUTING.md (100%) rename {content => jailman/wiki/content}/SECURITY.md (100%) rename {content => jailman/wiki/content}/SUPPORT.md (100%) rename {content => jailman/wiki/content}/config options.md (100%) rename {content => jailman/wiki/content}/development/functions.md (100%) rename {content => jailman/wiki/content}/development/linked_configs.md (100%) rename {content => jailman/wiki/content}/index.md (100%) rename {content => jailman/wiki/content}/migration/v1.1.x to v1.2.x.md (100%) rename {content => jailman/wiki/content}/migration/v1.2.x to v1.3.x.md (100%) rename {content => jailman/wiki/content}/plugins/General (100%) rename {content => jailman/wiki/content}/plugins/bazarr.md (100%) rename {content => jailman/wiki/content}/plugins/bitwarden.md (100%) rename {content => jailman/wiki/content}/plugins/forked_daapd.md (100%) rename {content => jailman/wiki/content}/plugins/grafana.md (100%) rename {content => jailman/wiki/content}/plugins/influxdb.md (100%) rename {content => jailman/wiki/content}/plugins/jackett.md (100%) rename {content => jailman/wiki/content}/plugins/kms.md (100%) rename {content => jailman/wiki/content}/plugins/lazylibrarian.md (100%) rename {content => jailman/wiki/content}/plugins/lidarr.md (100%) rename {content => jailman/wiki/content}/plugins/mariadb.md (100%) rename {content => jailman/wiki/content}/plugins/nextcloud.md (100%) rename {content => jailman/wiki/content}/plugins/organizr.md (100%) rename {content => jailman/wiki/content}/plugins/plex.md (100%) rename {content => jailman/wiki/content}/plugins/radarr.md (100%) rename {content => jailman/wiki/content}/plugins/sabnzbd.md (100%) rename {content => jailman/wiki/content}/plugins/sabnzbd3.md (100%) rename {content => jailman/wiki/content}/plugins/sonarr.md (100%) rename {content => jailman/wiki/content}/plugins/tautulli.md (100%) rename {content => jailman/wiki/content}/plugins/template.md (100%) rename {content => jailman/wiki/content}/plugins/traefik.md (100%) rename {content => jailman/wiki/content}/plugins/transmission.md (100%) rename {content => jailman/wiki/content}/plugins/unifi.md (100%) rename mkdocs.yml => jailman/wiki/mkdocs.yml (100%) diff --git a/.github/workflows/deploy.yml b/jailman/wiki/.github/workflows/deploy.yml similarity index 100% rename from .github/workflows/deploy.yml rename to jailman/wiki/.github/workflows/deploy.yml diff --git a/.gitignore b/jailman/wiki/.gitignore similarity index 100% rename from .gitignore rename to jailman/wiki/.gitignore diff --git a/CNAME b/jailman/wiki/CNAME similarity index 100% rename from CNAME rename to jailman/wiki/CNAME diff --git a/LICENSE b/jailman/wiki/LICENSE similarity index 100% rename from LICENSE rename to jailman/wiki/LICENSE diff --git a/LICENSE.BSD2 b/jailman/wiki/LICENSE.BSD2 similarity index 100% rename from LICENSE.BSD2 rename to jailman/wiki/LICENSE.BSD2 diff --git a/LICENSE.GPLV2 b/jailman/wiki/LICENSE.GPLV2 similarity index 100% rename from LICENSE.GPLV2 rename to jailman/wiki/LICENSE.GPLV2 diff --git a/content/CNAME b/jailman/wiki/content/CNAME similarity index 100% rename from content/CNAME rename to jailman/wiki/content/CNAME diff --git a/content/CODE_OF_CONDUCT.md b/jailman/wiki/content/CODE_OF_CONDUCT.md similarity index 100% rename from content/CODE_OF_CONDUCT.md rename to jailman/wiki/content/CODE_OF_CONDUCT.md diff --git a/content/CONTRIBUTING.md b/jailman/wiki/content/CONTRIBUTING.md similarity index 100% rename from content/CONTRIBUTING.md rename to jailman/wiki/content/CONTRIBUTING.md diff --git a/content/SECURITY.md b/jailman/wiki/content/SECURITY.md similarity index 100% rename from content/SECURITY.md rename to jailman/wiki/content/SECURITY.md diff --git a/content/SUPPORT.md b/jailman/wiki/content/SUPPORT.md similarity index 100% rename from content/SUPPORT.md rename to jailman/wiki/content/SUPPORT.md diff --git a/content/config options.md b/jailman/wiki/content/config options.md similarity index 100% rename from content/config options.md rename to jailman/wiki/content/config options.md diff --git a/content/development/functions.md b/jailman/wiki/content/development/functions.md similarity index 100% rename from content/development/functions.md rename to jailman/wiki/content/development/functions.md diff --git a/content/development/linked_configs.md b/jailman/wiki/content/development/linked_configs.md similarity index 100% rename from content/development/linked_configs.md rename to jailman/wiki/content/development/linked_configs.md diff --git a/content/index.md b/jailman/wiki/content/index.md similarity index 100% rename from content/index.md rename to jailman/wiki/content/index.md diff --git a/content/migration/v1.1.x to v1.2.x.md b/jailman/wiki/content/migration/v1.1.x to v1.2.x.md similarity index 100% rename from content/migration/v1.1.x to v1.2.x.md rename to jailman/wiki/content/migration/v1.1.x to v1.2.x.md diff --git a/content/migration/v1.2.x to v1.3.x.md b/jailman/wiki/content/migration/v1.2.x to v1.3.x.md similarity index 100% rename from content/migration/v1.2.x to v1.3.x.md rename to jailman/wiki/content/migration/v1.2.x to v1.3.x.md diff --git a/content/plugins/General b/jailman/wiki/content/plugins/General similarity index 100% rename from content/plugins/General rename to jailman/wiki/content/plugins/General diff --git a/content/plugins/bazarr.md b/jailman/wiki/content/plugins/bazarr.md similarity index 100% rename from content/plugins/bazarr.md rename to jailman/wiki/content/plugins/bazarr.md diff --git a/content/plugins/bitwarden.md b/jailman/wiki/content/plugins/bitwarden.md similarity index 100% rename from content/plugins/bitwarden.md rename to jailman/wiki/content/plugins/bitwarden.md diff --git a/content/plugins/forked_daapd.md b/jailman/wiki/content/plugins/forked_daapd.md similarity index 100% rename from content/plugins/forked_daapd.md rename to jailman/wiki/content/plugins/forked_daapd.md diff --git a/content/plugins/grafana.md b/jailman/wiki/content/plugins/grafana.md similarity index 100% rename from content/plugins/grafana.md rename to jailman/wiki/content/plugins/grafana.md diff --git a/content/plugins/influxdb.md b/jailman/wiki/content/plugins/influxdb.md similarity index 100% rename from content/plugins/influxdb.md rename to jailman/wiki/content/plugins/influxdb.md diff --git a/content/plugins/jackett.md b/jailman/wiki/content/plugins/jackett.md similarity index 100% rename from content/plugins/jackett.md rename to jailman/wiki/content/plugins/jackett.md diff --git a/content/plugins/kms.md b/jailman/wiki/content/plugins/kms.md similarity index 100% rename from content/plugins/kms.md rename to jailman/wiki/content/plugins/kms.md diff --git a/content/plugins/lazylibrarian.md b/jailman/wiki/content/plugins/lazylibrarian.md similarity index 100% rename from content/plugins/lazylibrarian.md rename to jailman/wiki/content/plugins/lazylibrarian.md diff --git a/content/plugins/lidarr.md b/jailman/wiki/content/plugins/lidarr.md similarity index 100% rename from content/plugins/lidarr.md rename to jailman/wiki/content/plugins/lidarr.md diff --git a/content/plugins/mariadb.md b/jailman/wiki/content/plugins/mariadb.md similarity index 100% rename from content/plugins/mariadb.md rename to jailman/wiki/content/plugins/mariadb.md diff --git a/content/plugins/nextcloud.md b/jailman/wiki/content/plugins/nextcloud.md similarity index 100% rename from content/plugins/nextcloud.md rename to jailman/wiki/content/plugins/nextcloud.md diff --git a/content/plugins/organizr.md b/jailman/wiki/content/plugins/organizr.md similarity index 100% rename from content/plugins/organizr.md rename to jailman/wiki/content/plugins/organizr.md diff --git a/content/plugins/plex.md b/jailman/wiki/content/plugins/plex.md similarity index 100% rename from content/plugins/plex.md rename to jailman/wiki/content/plugins/plex.md diff --git a/content/plugins/radarr.md b/jailman/wiki/content/plugins/radarr.md similarity index 100% rename from content/plugins/radarr.md rename to jailman/wiki/content/plugins/radarr.md diff --git a/content/plugins/sabnzbd.md b/jailman/wiki/content/plugins/sabnzbd.md similarity index 100% rename from content/plugins/sabnzbd.md rename to jailman/wiki/content/plugins/sabnzbd.md diff --git a/content/plugins/sabnzbd3.md b/jailman/wiki/content/plugins/sabnzbd3.md similarity index 100% rename from content/plugins/sabnzbd3.md rename to jailman/wiki/content/plugins/sabnzbd3.md diff --git a/content/plugins/sonarr.md b/jailman/wiki/content/plugins/sonarr.md similarity index 100% rename from content/plugins/sonarr.md rename to jailman/wiki/content/plugins/sonarr.md diff --git a/content/plugins/tautulli.md b/jailman/wiki/content/plugins/tautulli.md similarity index 100% rename from content/plugins/tautulli.md rename to jailman/wiki/content/plugins/tautulli.md diff --git a/content/plugins/template.md b/jailman/wiki/content/plugins/template.md similarity index 100% rename from content/plugins/template.md rename to jailman/wiki/content/plugins/template.md diff --git a/content/plugins/traefik.md b/jailman/wiki/content/plugins/traefik.md similarity index 100% rename from content/plugins/traefik.md rename to jailman/wiki/content/plugins/traefik.md diff --git a/content/plugins/transmission.md b/jailman/wiki/content/plugins/transmission.md similarity index 100% rename from content/plugins/transmission.md rename to jailman/wiki/content/plugins/transmission.md diff --git a/content/plugins/unifi.md b/jailman/wiki/content/plugins/unifi.md similarity index 100% rename from content/plugins/unifi.md rename to jailman/wiki/content/plugins/unifi.md diff --git a/mkdocs.yml b/jailman/wiki/mkdocs.yml similarity index 100% rename from mkdocs.yml rename to jailman/wiki/mkdocs.yml