4.7 KiB
Main | Setup and Usage | xumo | Credits/Related Projects
fun Home Distribution Hiatus Recreation
Basic Configuration | Advanced Configuration | WebUI
Author Notes
- All Testing is currently done in Proxmox LXC, Ubuntu 20.04, Python 3.8
Prerequisites
- A Linux or Mac "Server". Windows currently does not work. A "Server" is a computer that is typically always online.
- Python 3.7 or later.
- Consult This Page for additional setup specific to this variant of fHDHR.
Optional Prerequisites
- If you intend to use Docker, This Guide should help you get started. The author of fHDHR is not a docker user, but will still try to help.
fHDHR uses direct connections with video sources by default. Alternatively, you can install and update the config accordingly. You will need to make these available to your systems PATH, or manually set their path via the config file.
- ffmpeg
- vlc
Installation
Linux
-
Download the zip, or git clone
-
Navigate into your script directory and run
pip3 install -r requirements.txt -
Copy the included
config.example.inifile to a known location. The script will not run without this. There is no default configuration file location. Modify the configuration file to suit your needs. -
Run with
python3 main.py -c=and the path to the config file.
Docker
This portion of the guide assumes you are using a Linux system with both docker and docker-compose installed. This (or some variation thereof) may work on Mac or Windows, but has not been tested.
- this guide assumes we wish to use the
~/fhdhrdirectory for our install (you can use whatever directory you like, just make the appropriate changes elsewhere in this guide) and that we are installing for xumo support - run the following commands to clone the repo into
~/fhdhr/fHDHR_XUMO
cd ~/fhdhr
git clone https://github.com/fHDHR/fHDHR_XUMO.git
- create your config.ini file (as described earlier in this guide) in the
~/fhdhr/fHDHR_XUMOdirectory - while still in the
~/fhdhrdirectory, create the followingdocker-compose.ymlfile
version: '3'
services:
xumo:
build: ./fHDHR_XUMO
container_name: xumo
network_mode: host
volumes:
- ./fHDHR_XUMO/config.ini:/app/config/config.ini
- run the following command to build and launch the container
docker-compose up --build -d xumo
After a short period of time (during which docker will build your new fHDHR container), you should now have a working build of fHDHR running inside a docker container.
As the code changes and new versions / bug fixes are released, at any point you can pull the latest version of the code and rebuild your container with the following commands:
cd ~/fhdhr/fHDHR_XUMO
git checkout master
git pull
cd ~/fhdhr
docker-compose up --build -d xumo
You can also run multiple instances of fHDHR to support additional sources by cloning the appropriate repo into your ~/fhdhr directory and adding the necessary services to the docker-compose file we created above.
- for example, if we also wanted xumo support, you would clone the xumo repository:
cd ~/fhdhr
git clone https://github.com/fHDHR/fHDHR_XUMO.git
- NOTE: if you are running multiple services on the same machine, you must change the port in your config.ini file for each one. For example, if xumo was using the default port of 5004, xumo cannot also use that port. You must change the port in your xumo config.ini file to something else (5005, for example).
- add xumo as a service in your
docker-compose.ymlfile
version: '3'
services:
xumo:
build: ./fHDHR_XUMO
container_name: xumo
network_mode: host
volumes:
- ./fHDHR_XUMO/config.ini:/app/config/config.ini
xumo:
build: ./fHDHR_XUMO
container_name: xumo
network_mode: host
volumes:
- ./fHDHR_XUMO/config.ini:/app/config/config.ini
- run the following command to build and launch the container
docker-compose up --build -d xumo
You can repeat these instructions for as many fHDHR containers as your system resources will allow.
Setup
Now that you have fHDHR running, You can navigate (in a web browser) to the IP:Port from the configuration step above.
If you did not setup a discovery_address in your config, SSDP will be disabled. This is not a problem as clients like Plex can have the IP:Port entered manually!
You can copy the xmltv link from the webUI and use that in your client software to provide Channel Guide information.