All Projects → Ornias1993 → jailman

Ornias1993 / jailman

Licence: BSD-2-Clause and 2 other licenses found Licenses found BSD-2-Clause LICENSE BSD-2-Clause LICENSE.BSD2 GPL-2.0 LICENSE.GPLV2
Automated iocage Jail manager for FreeNAS

Programming Languages

shell
77523 projects
PHP
23972 projects - #3 most used programming language
Batchfile
5799 projects

Projects that are alternatives of or similar to jailman

utility-scripts-for-freenas-and-vmware-esxi
All-In-One utility scripts for FreeNAS and VMware ESXi
Stars: ✭ 59 (+126.92%)
Mutual labels:  freenas, freenas-scripts, freenas-forum
FreeNas-DiskList
FreeNas "Disklist" script for report informations about installed hard drives, volumes and partitions
Stars: ✭ 34 (+30.77%)
Mutual labels:  freenas, freenas-scripts
ansible-sshjail
An Ansible connection plugin for provisioning FreeBSD jails remotely
Stars: ✭ 57 (+119.23%)
Mutual labels:  freebsd, freebsd-jails
deploy-freenas
Python script to automate deploying TLS certificates to FreeNAS servers
Stars: ✭ 164 (+530.77%)
Mutual labels:  freenas, freenas-scripts
ioc
libioc command line tool for BSD jail management
Stars: ✭ 13 (-50%)
Mutual labels:  freebsd, iocage
knast
Experimental OCI & CRI-compatible container runtimes for FreeBSD
Stars: ✭ 20 (-23.08%)
Mutual labels:  freebsd, freebsd-jails
libjail-rs
Rust implementation of a FreeBSD jail library
Stars: ✭ 32 (+23.08%)
Mutual labels:  freebsd, freebsd-jails
Pfatt
enable true bridge mode for AT&T U-Verse and pfSense
Stars: ✭ 216 (+730.77%)
Mutual labels:  freebsd
Tuptime
Report the historical and statistical real time of the system, keeping it between restarts. Like uptime command but with more interesting output.
Stars: ✭ 214 (+723.08%)
Mutual labels:  freebsd
Iowow
The skiplist based persistent key/value storage engine
Stars: ✭ 206 (+692.31%)
Mutual labels:  freebsd
Zfs Snap Diff
helps you with your zfs snapshots
Stars: ✭ 202 (+676.92%)
Mutual labels:  freebsd
Punes
Nintendo Entertaiment System emulator and NSF/NSFe Music Player (Linux, FreeBSD, OpenBSD and Windows)
Stars: ✭ 217 (+734.62%)
Mutual labels:  freebsd
libcluon
libcluon is a small and efficient, single-file and header-only library written in modern C++ to power microservices.
Stars: ✭ 81 (+211.54%)
Mutual labels:  freebsd
portshaker
Maintain a set of FreeBSD ports trees.
Stars: ✭ 22 (-15.38%)
Mutual labels:  freebsd
InitWare
The InitWare Suite of Middleware allows you to manage services and system resources as logical entities called units. Its main component is a service management ("init") system.
Stars: ✭ 164 (+530.77%)
Mutual labels:  freebsd
yastack
YAStack: User-space network-stack based on DPDK, FreeBSD TCP/IP Stack, EnvoyProxy
Stars: ✭ 90 (+246.15%)
Mutual labels:  freebsd
Runj
runj is an experimental, proof-of-concept OCI-compatible runtime for FreeBSD jails.
Stars: ✭ 211 (+711.54%)
Mutual labels:  freebsd
Minio Service
Collection of MinIO server scripts for upstart, systemd, sysvinit, launchd.
Stars: ✭ 205 (+688.46%)
Mutual labels:  freebsd
Awesome Bsd
A collection of awesome BSD related stuff
Stars: ✭ 236 (+807.69%)
Mutual labels:  freebsd
freebsd
Development repository for the freebsd cookbook
Stars: ✭ 27 (+3.85%)
Mutual labels:  freebsd

JailMan is a collection of shell scripts designed to make it easier to install all sorts of iocage Jails on FreeNAS.

Important:

Jailman as a project has stopped development in favor of TrueCharts for TrueNAS SCALE.


GitHub last commit GitHub Release License: GPL v2 License

Intro

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 contains-technical-debt

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].