Jailmaker GUI - a web grafical interface for Truenas Scale management
This app is docker based, needs to be installed on a diffrent host than Truenas itself because needs to ssh connect to server
Fisrt page: - create an user, this is the application local user
Second Page - server credentials
3th page - introduce the paths from Truenas where jails are installed, up to 3
4th page - Jails management page
-
List all Jails or sort them by paths
-
Connect SSH to Truenas
-
Modify Truenas details saved on Page 2 and Page 3
-
Create New Jail Here you can choose from diffrent options:
- with Docker already installed or without Docker - _for this function to work you need to create the file "jailmakerconfig" outside jailmaker folder. Ex. if your jails path is /mnt/tank/Jailmaker/jailmaker/ the file needs to be placed in /mnt/tank/Jailmaker/_ - creeate jail using a config file - _for this function to work you need to create the file "jailmakerconfig" outside jailmaker folder. Ex. if your jails path is /mnt/tank/Jailmaker/jailmaker/ the file needs to be placed in /mnt/tank/Jailmaker/_ - host paths binded to the jails or not; - choose what failvor you want to install
-
Jails management like stop, restart, start, delete, edit (planned), connect (ssh, planned), update jail (planned)
download the files on the host where docker compose is installed, execute - docker compose build then docker compose up -d
Access it from http://host IP:8080
example of docker-compose.yaml file
services:
db:
image: postgres:15
container_name: jailmaker-db
restart: always
build: /root/jailmaker/db-folder
environment:
POSTGRES_USER: YOURUSER
POSTGRES_PASSWORD: YOURPASSWORD
POSTGRES_DB: jailmakerdb
volumes:
- db-data:/var/lib/postgresql/data
networks:
- jailmaker-net
ports:
- "5432:5432"
jailmaker-gui:
image: kosztyk/jailmaker-jailmaker-gui:latest
container_name: jailmaker-gui
restart: unless-stopped
ports:
- "8080:8080"
environment:
# The Node.js app reads these to connect to Postgres
DB_HOST: db
DB_PORT: 5432
DB_USER: YOURUSER
DB_PASS: YOURPASSWORD
DB_NAME: jailmakerdb
networks:
- jailmaker-net
pgadmin:
image: dpage/pgadmin4
container_name: pgadmin
restart: always
environment:
PGADMIN_DEFAULT_EMAIL: YOUREMAIL
PGADMIN_DEFAULT_PASSWORD: YOURPASSWORD
ports:
- "5050:80" # Exposes pgAdmin on port 5050
volumes:
- /root/jailmaker/servers.json:/pgadmin4/servers.json:ro
networks:
- jailmaker-net
depends_on:
- db
networks:
jailmaker-net:
driver: bridge
volumes:
db-data: