HomebrewDocker/README.md

90 lines
2.5 KiB
Markdown
Raw Normal View History

2017-12-09 02:51:11 -05:00
DMR Homebrew Server with IPSC Bridge
===============================
2017-12-11 21:45:16 -05:00
## Dockerfile
This Dockerfile packages up some great code the other people wrote:
2017-12-11 18:40:45 -05:00
- dmrlink by N0MJS, IPSC_Bridge branch, https://github.com/n0mjs710/DMRlink/tree/IPSC_Bridge
- hblink by N0MJS, HB_Brige branch, https://github.com/n0mjs710/HBlink/tree/HB_Bridge
2017-12-11 21:45:16 -05:00
- ipscbuild by Vance w6ss@dx40.com
2017-12-11 18:40:45 -05:00
2017-12-11 21:45:16 -05:00
Docker is best at running a single application. In this case, we wanted to run 2 applications.
Supervisord is employed to run HB_Bridge and IPSC_Bridge, Docker thinks we're just running Supervisor.
2017-12-11 18:40:45 -05:00
2017-12-11 21:45:16 -05:00
## Config
2017-12-11 18:40:45 -05:00
Before you begin, you must edit the configuration files.
2017-12-11 21:45:16 -05:00
### hblink.cfg
2017-12-11 18:40:45 -05:00
Defines parameters for homebrew.
Master means: open a port and wait for HB clients to connect. Your hotspot
(Pi-Star or openSpot, etc) will connect here. The default port is 55555/udp.
Docker requires an additional layer of port mapping, so be sure to
connect to your exposed port.
2017-12-11 21:45:16 -05:00
### HB_Bridge.cfg
2017-12-11 18:40:45 -05:00
Defines AMBE ports for talking to IPSC_Bridge.
Also, defines the talkgroup deck.
2017-12-11 21:45:16 -05:00
### dmrlink.cfg
2017-12-11 18:40:45 -05:00
Defines parameters for IPSC master and peers.
If you have a cBridge, use it as an IPSC master.
2017-12-11 21:45:16 -05:00
### IPSC_Bridge.cfg
2017-12-11 18:40:45 -05:00
Settings paired (inverted) from HB_Bridge.cfg. HB_Bridge and IPSC_Bridge will use these 2 ports to communicate.
2017-12-11 21:45:16 -05:00
### Other Config
supervisord.conf
2017-12-11 18:40:45 -05:00
2017-12-11 21:45:16 -05:00
# Build
2017-12-11 18:40:45 -05:00
2017-12-11 21:45:16 -05:00
## Clone a copy of the Dockerfile
2017-12-11 18:40:45 -05:00
git clone https://github.com/KI7SBI/HomebrewDocker.git
2017-12-11 21:45:16 -05:00
## Edit your config files
2017-12-11 18:40:45 -05:00
cd HomebrewDocker
nano ...
2017-12-11 21:45:16 -05:00
## Build the Dockerfile
2017-12-11 18:40:45 -05:00
When you run the following build command, config files are copied into the docker image.
Name:Tag can be set to any value you wish.
sudo docker build -t HBIPSCDocker:config1
2017-12-11 21:45:16 -05:00
## Multiple copies or versions
2017-12-11 18:40:45 -05:00
Edit config files, and build again, using a different tag. For example,
sudo docker build -t HBIPSCDocker:pnwdigital
#Run
Remember to map exposed ports.
sudo docker run -d -p 50001:55555 HBIPSCDocker:config1
sudo docker run -d -p 50002:55555 HBIPSCDocker:pnwdigital
2017-12-11 21:45:16 -05:00
# Connect your hotspot
2017-12-11 18:40:45 -05:00
Hotspots in MMDVM Server mode may connect to your port 50001 to use config1 bridge settings.
Or, connect to 50002 to use pnwdigital bridge settings.
2017-12-11 21:45:16 -05:00
# Manage Docker Instances
2017-12-11 18:40:45 -05:00
docker ps
docker images
docker kill
#Why Docker?
Yes, docker has a learning curve. It may seem unnecessary for you, and perhaps it is in your case.
The goal in containerizing the HB+IPSC pair is primarily to simplify running multiple instances on a single server.
If you dont care to run multiple instances, then you may always just install these apps directly.
2017-12-09 02:51:11 -05:00