Skip to content

Kosztyk/TrueNas-Scale-Jailmaker-GUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Home-Assistant Custom Components

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

Screenshot 2025-02-04 at 20 35 46

Second Page - server credentials

Screenshot 2025-02-04 at 20 36 19

3th page - introduce the paths from Truenas where jails are installed, up to 3

Screenshot 2025-02-04 at 20 36 52

4th page - Jails management page

Screenshot 2025-02-04 at 20 37 31

** Functions **

  • List all Jails or sort them by paths

    Screenshot 2025-02-04 at 20 37 31
  • Connect SSH to Truenas

    Screenshot 2025-02-04 at 20 37 56
  • Modify Truenas details saved on Page 2 and Page 3

Screenshot 2025-02-04 at 20 38 12
  • 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
    
Screenshot 2025-02-04 at 20 38 34
  • Jails management like stop, restart, start, delete, edit (planned), connect (ssh, planned), update jail (planned)

    Screenshot 2025-02-04 at 21 00 12

Installation:

   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

Install it using docker-compose.yaml

  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: