G’day Guys,
I decided to make a video describing TrueNAS Scale Dragonfish’s new Sandbox feature.
In the video I demonstrate Jailmaker, and describe how to set up networking, Docker, and Dockge the Docker Compose stacks manager, as well as a Jellyfin Server.
Although its possible to script the installation, I go through a fairly complicated install, and demonstate both MAC-VLAN networking as well as Bridge Networking.
Enjoy
YouTube: Setting up Sandboxes with Jailmaker
IMPORTANT: Jailmaker 2.0 removed the install function used in the above video, where I use install, you should instead follow the instructions for creating an alias, otherwise you will see the following error: jlmkr.py: error: argument : invalid choice: 'install'
Other common issues:
How do I install jailmaker your way?
- make a jailmaker dataset on the root of your pool using generic presets (in the examples below my pool is called “tank”)
- in a shell session, cd into the jailmaker dataset and clone the repo
cd /mnt/tank/jailmaker
git clone https://github.com/Jip-Hop/jailmaker.git .
- follow the instructions for creating an alias
- set a post-init startup command to run the jailmaker startup command, eg:
/mnt/tank/jailmaker/jlmkr.py startup
How do I upgrade the version of jailmaker I have installed?
If you followed my instructions to clone the jailmaker repo, then just cd into your jailmaker dataset and pull the new version
cd /mnt/tank/jailmaker
git pull
That will update your jailmaker install. If you need to adjust your jail’s config you can compare to the current version of the template you used to create the jail .
Otherwise, re-install the jailmaker script to update it, alternatively, delete it and clone jailmaker’s repo as per my install instructions above.
Does the sandbox persist within each scale update?
Yes.
This is a quote from the TrueNAS docs: “These containers persist across upgrades in 24.04 (Dragonfish) and later SCALE major versions”
When I run jlmkr I get `zsh: permission denied: ./jlmkr.py`
- check the permissions on jlmkr.py script. If you cloned the repo, they should be correct.
- if you are not logged in as root, then you need to use sudo, if you setup the alias, the alias should do this for you
- check the “Exec” property on the jailmaker dataset. It needs to be “ON” or “Inherited (ON)”. You may not have Exec defaulting to ON on your root dataset.