Compare commits

...

26 Commits

Author SHA1 Message Date
48a96c5548 Update 'README.md'
Update readme
2021-10-11 17:21:13 -04:00
Simon
848a5bf82f Update .gitlab-ci.yml file 2021-10-10 17:34:14 +00:00
Simon
8250dc8cf3
Fix dockerfile 2021-10-10 13:51:39 +01:00
Simon
78addc6cff Update Dockerfile 2021-10-09 20:14:07 +00:00
Simon
d4ca078eb8 Update Dockerfile 2021-10-09 20:10:15 +00:00
Simon
0610dd994d DMRGateway comes from KLX's repo 2021-10-09 20:52:30 +01:00
Simon
725a6fa66d MUSL is not required on Debian 2021-10-09 18:11:13 +01:00
Simon
a599383924 Update git locations in docker file to point to the right repos 2021-10-09 12:12:39 +01:00
Simon
bef8a37adf Update .gitlab-ci.yml file 2021-10-09 11:01:09 +00:00
Simon
6e20d7041b Merge branch 'main' into 'master'
Main

See merge request hacknix/Docker-FreeDMR-IPSC!2
2021-10-09 10:59:41 +00:00
Simon
1e6bf4ac37 Update .gitlab-ci.yml file 2021-10-09 10:50:12 +00:00
Simon
e57ef1e8ad Update .gitlab-ci.yml file 2021-10-09 10:38:54 +00:00
Simon
446cd90be0 Merge branch 'main' of ssh://gitlab.hacknix.net:2222/hacknix/Docker-FreeDMR-IPSC into main 2021-10-09 11:38:22 +01:00
Simon
e5233c4bdb remove ci 2021-10-09 11:38:05 +01:00
Simon
2a4a9af3b3 Update .gitlab-ci.yml file 2021-10-09 10:36:40 +00:00
Simon
ca2c8da00d Update .gitlab-ci.yml file 2021-10-09 10:24:07 +00:00
Simon
2527706f00 Add CI file 2021-10-09 11:22:47 +01:00
Simon
a993a1e3e1 Fix left/right 2021-09-17 23:52:03 +01:00
Simon
1f9b9d1de3 Update compose file 2021-09-12 20:12:02 +01:00
Simon
03255a53e7 Add AUTH_KEY 2021-09-10 14:19:59 +01:00
Simon
ae26428af9 Correct image name 2021-09-05 02:59:56 +01:00
hacknix
a96c9ef3e5
Create README.md 2021-09-05 02:48:42 +01:00
Simon
fbbad21f9c Add docker-compose.yml 2021-09-05 02:36:19 +01:00
Simon
7c477aecfb Merge branch 'main' of github.com:hacknix/Docker-FreeDMR-IPSC into main 2021-09-05 02:34:04 +01:00
Simon
bee15195f1 Remove docker-compose.yml 2021-09-05 02:33:42 +01:00
hacknix
8ddf8724dc
Merge pull request #1 from hacknix/add-license-1
Create LICENSE
2021-09-05 02:33:12 +01:00
8 changed files with 125 additions and 22 deletions

47
.gitlab-ci.yml Normal file
View File

@ -0,0 +1,47 @@
# This file is a template, and might need editing before it works on your project.
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Getting-Started.gitlab-ci.yml
# This is a sample GitLab CI/CD configuration file that should run without any modifications.
# It demonstrates a basic 3 stage CI/CD pipeline. Instead of real tests or scripts,
# it uses echo commands to simulate the pipeline execution.
#
# A pipeline is composed of independent jobs that run scripts, grouped into stages.
# Stages run in sequential order, but jobs within stages run in parallel.
#
# For more information, see: https://docs.gitlab.com/ee/ci/yaml/index.html#stages
stages: # List of stages for jobs, and their order of execution
- build
build-dev: # This job runs in the build stage, which runs first.
stage: build
tags:
- buildx
script:
- echo "Compiling the code..."
- docker buildx build --no-cache -t hacknix/freedmr-ipsc:development-latest -t gitlab.hacknix.net:5050/hacknix/docker-freedmr-ipsc:development-latest --platform linux/arm/v7,linux/amd64,linux/i386,linux/arm64 --push .
- echo "Compile complete."
only:
- master
build-release: # This job runs in the build stage, which runs first.
stage: build
tags:
- buildx
script:
- echo "Compiling the code..."
- cd docker-configs
- docker buildx build --no-cache -f Dockerfile-proxy -t hacknix/freedmr-ipsc:latest -t gitlab.hacknix.net:5050/hacknix/docker-freedmr-ipsc:latest -t hacknix/freedmr-ipsc:$CI_COMMIT_TAG -t gitlab.hacknix.net:5050/hacknix/docker-freedmr-ipsc:$CI_COMMIT_TAG -t hacknix/freedmr-ipsc:development-latest -t gitlab.hacknix.net:5050/hacknix/docker-freedmr-ipsc:development-latest --platform linux/arm/v7,linux/amd64,linux/i386,linux/arm64 --push .
- echo "Compile complete."
only:
- tags

View File

@ -5,26 +5,26 @@ COPY config /opt/
RUN useradd -u 54000 radio && \ RUN useradd -u 54000 radio && \
apt-get update && \ apt-get update && \
apt-get install -y git gcc g++ musl-dev python2 wget make && \ apt-get install -y git gcc g++ python2 python2-dev wget make && \
cd /opt && \ cd /opt && \
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py && \ wget https://bootstrap.pypa.io/pip/2.7/get-pip.py && \
python2 ./get-pip.py && \ python2 ./get-pip.py && \
pip install twisted && \ pip install twisted && \
git clone https://github.com/hacknix/DMRlink.git && \ git clone https://gitlab.hacknix.net/hacknix/DMRlink.git && \
cd /opt/DMRlink && \ cd /opt/DMRlink && \
git checkout IPSC_Bridge && \ git checkout IPSC_Bridge && \
sh ./mk-dmrlink && \ sh ./mk-dmrlink && \
cd .. && \ cd .. && \
git clone https://github.com/hacknix/HBLink.git && \ git clone https://gitlab.hacknix.net/hacknix/HBLink.git && \
cd HBLink && \ cd HBLink && \
git checkout HB_Bridge && \ git checkout HB_Bridge && \
sh ./mk-required && \ sh ./mk-required && \
cd .. && \ cd .. && \
git clone https://github.com/hacknix/DMRGateway.git && \ git clone https://github.com/g4klx/DMRGateway.git && \
cd DMRGateway && \ cd DMRGateway && \
git reset --hard 6e89e4922f8c5eb7ec3797729a82137d70bc8940 && \ git reset --hard 6e89e4922f8c5eb7ec3797729a82137d70bc8940 && \
make && \ make && \
apt-get remove -y musl-dev gcc g++ make git wget && \ apt-get remove -y gcc g++ make git wget && \
apt-get -y autoremove && \ apt-get -y autoremove && \
apt-get -y purge && \ apt-get -y purge && \
rm -rvf /var/cache/apt/archives/* && \ rm -rvf /var/cache/apt/archives/* && \

6
README.md Normal file
View File

@ -0,0 +1,6 @@
# IPSCConnect #
IPSC repeater stack for RYSEN Master+
This is a fork from the HackNix repo.
If you just want to use this, all you need is the docker-compose.yml file. Edit it, run docker-compose up and docker-compose will do the rest.

View File

@ -21,7 +21,7 @@ Debug=0
[Log] [Log]
# Logging levels, 0=No logging # Logging levels, 0=No logging
DisplayLevel=1 DisplayLevel=1
FileLevel=1 FileLevel=0
FilePath=. FilePath=.
FileRoot=DMRGateway FileRoot=DMRGateway
FileRotate=1 FileRotate=1
@ -80,11 +80,10 @@ TypeRewrite=2,4000,2,4000
PassAllTG=1 PassAllTG=1
PassAllTG=2 PassAllTG=2
Password=passw0rd Password=passw0rd
Location=1 Location=1
Debug=0 Debug=0
Options={{DMRG_OPTIONS}}

View File

@ -165,12 +165,12 @@ MASTER_PORT: 50000
GROUP_HANGTIME: 5 GROUP_HANGTIME: 5
[DEFAULTS] [IPSC_Bridge]
ENABLED: True ENABLED: True
RADIO_ID: {{IPSC_RADIO_ID}} RADIO_ID: {{IPSC_RADIO_ID}}
IP: IP:
PORT: 55000 PORT: 55000
ALIVE_TIMER: 10 ALIVE_TIMER: 6
MAX_MISSED: 20 MAX_MISSED: 20
PEER_OPER: True PEER_OPER: True
IPSC_MODE: DIGITAL IPSC_MODE: DIGITAL
@ -185,7 +185,7 @@ DATA_CALL: True
VOICE_CALL: True VOICE_CALL: True
MASTER_PEER: {{IPSC_MASTER_PEER}} MASTER_PEER: {{IPSC_MASTER_PEER}}
AUTH_ENABLED: False AUTH_ENABLED: False
AUTH_KEY: AUTH_KEY: {{IPSC_AUTH_KEY}}
# Below not used for a Master # Below not used for a Master
MASTER_IP: {{IPSC_MASTER_IP}} MASTER_IP: {{IPSC_MASTER_IP}}
MASTER_PORT: {{IPSC_MASTER_PORT}} MASTER_PORT: {{IPSC_MASTER_PORT}}

View File

@ -28,7 +28,7 @@ MAX_MISSED: 3
[LOGGER] [LOGGER]
LOG_FILE: /tmp/hblink.log LOG_FILE: /tmp/hblink.log
LOG_HANDLERS: console-timed LOG_HANDLERS: console-timed
LOG_LEVEL: DEBUG LOG_LEVEL: INFO
LOG_NAME: HBlink LOG_NAME: HBlink
# DOWNLOAD AND IMPORT SUBSCRIBER, PEER and TGID ALIASES # DOWNLOAD AND IMPORT SUBSCRIBER, PEER and TGID ALIASES
@ -80,7 +80,7 @@ GROUP_HANGTIME: 5
# Setting Loose to True relaxes the validation on packets received from the master. # Setting Loose to True relaxes the validation on packets received from the master.
# This will allow HBlink to connect to a non-compliant system such as XLXD, DMR+ etc. # This will allow HBlink to connect to a non-compliant system such as XLXD, DMR+ etc.
[DMRGATEWAY] [HB_Bridge]
MODE: CLIENT MODE: CLIENT
ENABLED: True ENABLED: True
LOOSE: True LOOSE: True
@ -96,7 +96,7 @@ RX_FREQ: {{HB_RX_FREQ}}
TX_FREQ: {{HB_TX_FREQ}} TX_FREQ: {{HB_TX_FREQ}}
TX_POWER: {{HB_TX_POWER}} TX_POWER: {{HB_TX_POWER}}
COLORCODE: {{HB_COLORCODE}} COLORCODE: {{HB_COLORCODE}}
SLOTS: 3 SLOTS: {{HB_SLOTS}}
LATITUDE: {{HB_LAT}} LATITUDE: {{HB_LAT}}
LONGITUDE: {{HB_LON}} LONGITUDE: {{HB_LON}}
HEIGHT: {{HB_HEIGHT}} HEIGHT: {{HB_HEIGHT}}

View File

@ -1,12 +1,60 @@
#Dockerised IPSC <--> HomeBrew Protocol stack.
#
#For connecting Motorola repeaters to FreeDMR
#NB: If you get strange audio problems, try only
#enabling one timelot. This is a known issue
#with the current tools.
version: '3.3' version: '3.3'
services: services:
FreeDMR-Mytera: #Duplicate this section for each repeater
#do docker-compose down and then docker-compose up -d in this
#directory afterwards to stop and start the containers
#you may need to do conntrack -F after the restart
FreeDMR-IPSC:
container_name: FreeDMR-IPSC container_name: FreeDMR-IPSC
# volumes:
# - './DMRGateway.ini:/opt/hytera-stack/DMRGateway.ini'
ports: ports:
- '62005:62005/udp' #IPSC port - right side always stays the same (inside container), left side is
- '62006:62006/udp' #the port you want to present on the outside.
- '62007:62007/udp' #This is automatically mapped - docker uses iptables to do this
image: 'hacknix/freedmr:FreeDMR-IPSC' - '55000:55000/udp'
environment:
#Configure IPSC side (IPSC_Bridge)
#True if we are the master
#False if we are connecting to an existing IPSC network
- IPSC_MASTER_PEER=True
#IP and Port only needed if the above is False
- IPSC_MASTER_IP=
- IPSC_MASTER_PORT=
#Which timeslots to forward
- IPSC_TS1=True
- IPSC_TS2=True
#DMR ID we use to talk to the IPSC network
#This should probably be the repeater server's SERVER_ID
- IPSC_RADIO_ID=2341
- IPSC_AUTH_KEY=
#Configure HBP (repeater) details (HB_Bridge)
- HB_CALLSIGN=
- HB_RADIO_ID=
- HB_RX_FREQ=
- HB_TX_FREQ=
- HB_TX_POWER=
- HB_COLORCODE=
- 'HB_LAT='
- 'HB_LON=-'
- HB_HEIGHT=
- HB_LOCATION=
#Which slots to enable:
# 1 = 1, 2 = 2, 3 = both
# Note there are some issues with both slots
# at this time.
# Slot 2 is setup to work with dial-a-tg **only**
- HB_SLOTS=1
#Configure Repeater server side (DMRGateway)
#Put an Options line here to configure static TGs etc
- 'DMRG_OPTIONS='
#Target server
- DMRG_TARGET=
image: 'hacknix/freedmr-ipsc:latest'
#Container will persist over reboots
restart: "unless-stopped" restart: "unless-stopped"

View File

@ -9,6 +9,8 @@ sed -i "s/{{IPSC_MASTER_PEER}}/$IPSC_MASTER_PEER/" /opt/dmrlink.cfg
sed -i "s/{{IPSC_TS1}}/$IPSC_TS1/" /opt/dmrlink.cfg sed -i "s/{{IPSC_TS1}}/$IPSC_TS1/" /opt/dmrlink.cfg
sed -i "s/{{IPSC_TS2}}/$IPSC_TS2/" /opt/dmrlink.cfg sed -i "s/{{IPSC_TS2}}/$IPSC_TS2/" /opt/dmrlink.cfg
sed -i "s/{{IPSC_RADIO_ID}}/$IPSC_RADIO_ID/" /opt/dmrlink.cfg sed -i "s/{{IPSC_RADIO_ID}}/$IPSC_RADIO_ID/" /opt/dmrlink.cfg
sed -i "s/{{IPSC_AUTH_KEY}}/$IPSC_AUTH_KEY/" /opt/dmrlink.cfg
sed -i "s/{{HB_CALLSIGN}}/$HB_CALLSIGN/" /opt/hblink.cfg sed -i "s/{{HB_CALLSIGN}}/$HB_CALLSIGN/" /opt/hblink.cfg
sed -i "s/{{HB_RADIO_ID}}/$HB_RADIO_ID/" /opt/hblink.cfg sed -i "s/{{HB_RADIO_ID}}/$HB_RADIO_ID/" /opt/hblink.cfg
@ -20,8 +22,9 @@ sed -i "s/{{HB_LAT}}/$HB_LAT/" /opt/hblink.cfg
sed -i "s/{{HB_LON}}/$HB_LON/" /opt/hblink.cfg sed -i "s/{{HB_LON}}/$HB_LON/" /opt/hblink.cfg
sed -i "s/{{HB_HEIGHT}}/$HB_HEIGHT/" /opt/hblink.cfg sed -i "s/{{HB_HEIGHT}}/$HB_HEIGHT/" /opt/hblink.cfg
sed -i "s/{{HB_LOCATION}}/$HB_LOCATION/" /opt/hblink.cfg sed -i "s/{{HB_LOCATION}}/$HB_LOCATION/" /opt/hblink.cfg
sed -i "s/{{HB_OPTIONS}}/$HB_OPTIONS/" /opt/hblink.cfg sed -i "s/{{HB_SLOTS}}/$HB_SLOTS/" /opt/hblink.cfg
sed -i "s/{{DMRG_OPTIONS}}/$DMRG_OPTIONS/" /opt/DMRGateway.ini
sed -i "s/{{DMRG_TARGET}}/$DMRG_TARGET/" /opt/DMRGateway.ini sed -i "s/{{DMRG_TARGET}}/$DMRG_TARGET/" /opt/DMRGateway.ini
#Run processes #Run processes