Logo Dupac Server Wiki

Set up jails with dockge in Truenas

DEPRECATED#

With the updated to Truenas 24.10 EE, this guide is no longer relevant. Instead of creating a jail system, just install the Dockge Truenas app. 


Based on this video

This guide is for installing jails on Truenas using jailmaker. This will allow you to run docker apps, and uses dockge to manage docker compose. 

Step 1: Create datasets#

Create the following datasets on the “scratch” disk. 

  • jailmaker
  • docker
    • data
    • stacks

Step 2: Install jailmaker#

Go to a shell and run the following commands

cd /mnt/scratch/jailmaker 
git clone https://github.com/Jip-Hop/jailmaker.git .
./jlmkr.py install

Step 3: Trigger jlmkr on startup#

In truenas go to System Settings > Advanced. 

Under Init/Shutdown scripts, click “add” and enter the following info:

  • description
    • start jailmaker
  • type
    • command
  • command
    • /mnt/scratch/jailmaker/jlmkr.py startup
  • when
    • post-init
  • enabled
    • check
  • timeout
    • 30

Step 4: Create a jail#

Go back to the shell and run the following commands

cd /mnt/scratch/jailmaker
./jlmkr.py create

It will open a text editor, copy the template config file and paste it. Save and close the file. 

When prompted for a jail name, type “docker”. 

Run the following command to ensure the jail has been created correctly. 

./jlmkr.py list

At any point, you can edit the config with this command. 

./jlmkr.py edit docker
./jlmkr.py restart docker

Step 5: Install Dockge#

Run the following command to access the docker jail's shell. 

./jlmkr.py shell docker

Ensure your network is running and see the ip address. 

ip a

Run the following commands to install dockge.

mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
curl "https://dockge.kuma.pet/compose.yaml?port=5001&stacksPath=%2Fopt%2Fstacks" --output compose.yaml
docker compose up -d

Done#

In a new browser tab, go to the following address:

192.168.0.31:5001

You can now begin to use dockge to deploy containers with docker compose.