/joix

Primary LanguageHTMLGNU General Public License v3.0GPL-3.0

Joix

Simpliest media server ever - Press enter installation

screenshot

Tonton Jo

Join the community:

Youtube Discord Tonton Jo

Support my work, give a thanks and help the youtube channel:

Ko-Fi Infomaniak Express VPN

Demonstration:

You can watch a demonstration here

News:

13.10.2021

  • Following some changes made by linuxserver.io on their registries and to ensure update of your containers, if you installed Joix before 13.10.2021, you should update Joix following the guide below.

Disclaimer

  • Simplicity implies limitations
  • This has not been extensively tested and is provided as-is.
  • There's no way to customize storages, targets or anything and no consideration about anything else than what's provided
  • There's certainly a lot of things that can be improved - if you think so, please make a PR.

WARNING - ATTENTION:

The iso is configured with simplicity in mind and is a "press enter" installation - No jokes.

This means it will nuke the first hard drive the installer find to install Joix, be carfull on the hardware you use.

L'installer de Joix va complétement effacer le premier disque trouvé, faites donc attention a votre matériel.

What's in the box?

This Will start the following apps in docker containers with preconfigured storages and default ports ran with "joix" user:

The application will use the following content folders:

  • /etc/joix/
  • /opt/joix/downloads
  • /opt/joix/media/
    • /opt/joix/media/tvshows
    • /opt/joix/media/movies
    • /opt/joix/media/music

Prerequisits that you probably match:

This is intended to be executed by joix.iso installer - the script is not tested with anything else.

  • A working internet connexion with DNS and DHCP
  • A small tower / NUC or VM with x86/64 processor only or a raspberry pi (pi 3 tested)
    • LAN networking (debian supported hardware)
    • A single drive or SD card of the biggest size you can afford to loose for storage. Rapid storage is always a +
      • not tested on NVME drives or special hardware: only sata and vitual hard drive

Installation:

Computer or VM using ISO:

The installation and startup will not allow you to change anything, but once it has booted, it's debian and docker so you can do whatever you want.

  • Read the WARNING please :-) - or cry when you lose everything
  • Write the latest ISO on an USB key with RUFUS or load it on a VM
  • Boot on ISO and press enter to install Joix
  • Wait for the magic to happen after 2 reboots
  • Configure all the apps you want / need

Raspberry Pi

Warning: Raspi 3 is very slow with Jellyfin and flarsolverr was reported to cause timeout due to slowness - that's why they're disabled by default

  • Write an raspi OS lite image on your SD Card
  • Create a file named "ssh" in boot partition
  • Boot your raspberry and find his IP adress
  • SSH in your Pi with default login: pi - raspberry
  • Execute thoses commands to start Joix Installation
sudo wget -q https://raw.githubusercontent.com/Tontonjo/joix/main/pipostinstall.sh
sudo bash pipostinstall.sh
  • If you want to try jellyfin:
sudo docker start jellyfin
  • If you want to try flaresolverr:
sudo docker start flaresolverr

After the installation you should:

  • Configure the applications to use the path specified at "What's in the box"
  • Set a static IP adress
  • Change the default passwords
  • Ensure your data are safe with backups

Default passwords:

OS Service username password
ISO debian SSH root joix
Raspberry SSH pi raspberry
both smb joix joix

To change the default ssh password

if [[ $(id -u) -ne 0 ]] ; then sudo passwd pi ; else passwd root ; fi

To change the smb password:

if [[ $(id -u) -ne 0 ]] ; then sudo smbpasswd -a joix ; else smbpasswd -a joix ; fi

Update Joix OS

Update your host (a reboot is recommanded after updating)

if [[ $(id -u) -ne 0 ]] ; then sudo apt-get update -y && sudo apt-get upgrade  -y && sudo apt-get dist-upgrade -y ; else apt-get update -y && apt-get upgrade  -y && apt-get dist-upgrade -y ; fi

Update Joix.yml file to latest

if [[ $(id -u) -ne 0 ]] ; then sudo wget -q -O /etc/joix/joix.yml https://github.com/Tontonjo/joix/raw/main/joix.yml ; else wget -q -O /etc/joix/joix.yml https://github.com/Tontonjo/joix/raw/main/joix.yml ; fi

Update stack:

if [[ $(id -u) -ne 0 ]] ; then sudo docker-compose -f /etc/joix/joix.yml -p joix up --remove-orphans -d ; else docker-compose -f /etc/joix/joix.yml -p joix up --remove-orphans -d ; fi

Add other containers

  • If you want to add containers, i'd suggest you to edit /etc/joix/joix.yml and to run (dont update joix.yml then)
docker-compose -f /etc/joix/joix.yml -p joix up -d

What could be added or enhanced?

  • A lot of things
  • backup / restore configuration
  • update tool
  • Maybe i'd like to port this to raspberry