Docker Settings


#1

I did some testing and found out some of the ports arent even needed, edited the original post

Unfortunately

still trying to nail down the settings and its not 100% yet

The main issue that rises up is the oddity of you as the host not being able to see anyone if the host pc is on the same network.

Would still point to that, since the logic is still the same , you create multiple containers and forward ports to them.

Let me elaborate however on the direction:

So if you want to run more than 2 containers, then compose method is better.


Compose Method

Along with docker and configuring it, you also need to install docker compose

After,

Create a new folder, and create two files in it,

.env
hifi.yml

Add to .env, You maintain this file when ever there is an update

HIFI_VERSION=0.69.0

then in hifi.yml file

version: "3.6"
services:
  domaina:
    hostname: domaina
    image: highfidelity/hifi:${HIFI_VERSION}
    ports:
    - "40100-40109:40100-40109"
    - "40100-40109:40100-40109/udp"
    volumes:
    - "hifiVol1:/root/.local/share/High Fidelity"
  domainb:
    hostname: domainb
    image: highfidelity/hifi:${HIFI_VERSION}
    ports:
    - "40110-40119:40100-40109"
    - "40110-40119:40100-40109/udp"
    volumes:
    - "hifiVol2:/root/.local/share/High Fidelity"
  myotherdomain:
    hostname: myotherdomain
    image: highfidelity/hifi:${HIFI_VERSION}
    ports:
    - "40120-40129:40100-40109"
    - "40120-40129:40100-40109/udp"
    volumes:
    - "hifiVol3:/root/.local/share/High Fidelity"
volumes:
  hifiVol1: {}
  hifiVol2: {}
  hifiVol3: {}

General pattern for ports

    ports:
    - "HTTP_PORT:40100"
    - "UDP_PORT_GIVEN:40102/udp"

After thats done, while in the folder, you can run everything

 docker-compose -f hifi.yml pull # Pulls changes to files, creates volumes if they dont exist, and automatically 
 docker-compose -f hifi.yml up -d # Runs all compose files at the same time, if some changes, then turns them off and replaces them with the containers created during pull.

When updating you simply update the tag defined in the .env file.

then to turn all things off

docker-compose -f hifi.yml stop

Then every time you create a new server, you just run pull

Configuring Servers

For Each Domain, connect to each http service you opened up and go through their configurations

You can try using Full automatic, but I didnt have much luck with that, so I kept to IP only.

Then after that is done, forward the router to the machine.

Good luck


Tired of compiling your Linux HiFi server every release? Docker!
#2

that is very cool. I’ll try to follow your indications with docker-compose. It seems a very promising way for solving the problem. The point is that it can be quite heavy to have only one domain with hundreds of heavy models inside, I am under the sensation that heavy domains might call for heavy load under clients, so I wanted to be able to split it in subdomains with teleports, but dont’ want to buy expensive servers only to host multiple subdomains.
Thanks anyway for your continued assistance on newbie questions, you are so helpful @Menithal :slight_smile: