Compare commits
26 Commits
add-licens
...
master
Author | SHA1 | Date | |
---|---|---|---|
48a96c5548 | |||
|
848a5bf82f | ||
|
8250dc8cf3 | ||
|
78addc6cff | ||
|
d4ca078eb8 | ||
|
0610dd994d | ||
|
725a6fa66d | ||
|
a599383924 | ||
|
bef8a37adf | ||
|
6e20d7041b | ||
|
1e6bf4ac37 | ||
|
e57ef1e8ad | ||
|
446cd90be0 | ||
|
e5233c4bdb | ||
|
2a4a9af3b3 | ||
|
ca2c8da00d | ||
|
2527706f00 | ||
|
a993a1e3e1 | ||
|
1f9b9d1de3 | ||
|
03255a53e7 | ||
|
ae26428af9 | ||
|
a96c9ef3e5 | ||
|
fbbad21f9c | ||
|
7c477aecfb | ||
|
bee15195f1 | ||
|
8ddf8724dc |
47
.gitlab-ci.yml
Normal file
47
.gitlab-ci.yml
Normal 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
|
||||
|
10
Dockerfile
10
Dockerfile
@ -5,26 +5,26 @@ COPY config /opt/
|
||||
|
||||
RUN useradd -u 54000 radio && \
|
||||
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 && \
|
||||
wget https://bootstrap.pypa.io/pip/2.7/get-pip.py && \
|
||||
python2 ./get-pip.py && \
|
||||
pip install twisted && \
|
||||
git clone https://github.com/hacknix/DMRlink.git && \
|
||||
git clone https://gitlab.hacknix.net/hacknix/DMRlink.git && \
|
||||
cd /opt/DMRlink && \
|
||||
git checkout IPSC_Bridge && \
|
||||
sh ./mk-dmrlink && \
|
||||
cd .. && \
|
||||
git clone https://github.com/hacknix/HBLink.git && \
|
||||
git clone https://gitlab.hacknix.net/hacknix/HBLink.git && \
|
||||
cd HBLink && \
|
||||
git checkout HB_Bridge && \
|
||||
sh ./mk-required && \
|
||||
cd .. && \
|
||||
git clone https://github.com/hacknix/DMRGateway.git && \
|
||||
git clone https://github.com/g4klx/DMRGateway.git && \
|
||||
cd DMRGateway && \
|
||||
git reset --hard 6e89e4922f8c5eb7ec3797729a82137d70bc8940 && \
|
||||
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 purge && \
|
||||
rm -rvf /var/cache/apt/archives/* && \
|
||||
|
6
README.md
Normal file
6
README.md
Normal 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.
|
@ -21,7 +21,7 @@ Debug=0
|
||||
[Log]
|
||||
# Logging levels, 0=No logging
|
||||
DisplayLevel=1
|
||||
FileLevel=1
|
||||
FileLevel=0
|
||||
FilePath=.
|
||||
FileRoot=DMRGateway
|
||||
FileRotate=1
|
||||
@ -80,11 +80,10 @@ TypeRewrite=2,4000,2,4000
|
||||
PassAllTG=1
|
||||
PassAllTG=2
|
||||
|
||||
|
||||
|
||||
Password=passw0rd
|
||||
Location=1
|
||||
Debug=0
|
||||
Options={{DMRG_OPTIONS}}
|
||||
|
||||
|
||||
|
||||
|
@ -165,12 +165,12 @@ MASTER_PORT: 50000
|
||||
GROUP_HANGTIME: 5
|
||||
|
||||
|
||||
[DEFAULTS]
|
||||
[IPSC_Bridge]
|
||||
ENABLED: True
|
||||
RADIO_ID: {{IPSC_RADIO_ID}}
|
||||
IP:
|
||||
PORT: 55000
|
||||
ALIVE_TIMER: 10
|
||||
ALIVE_TIMER: 6
|
||||
MAX_MISSED: 20
|
||||
PEER_OPER: True
|
||||
IPSC_MODE: DIGITAL
|
||||
@ -185,7 +185,7 @@ DATA_CALL: True
|
||||
VOICE_CALL: True
|
||||
MASTER_PEER: {{IPSC_MASTER_PEER}}
|
||||
AUTH_ENABLED: False
|
||||
AUTH_KEY:
|
||||
AUTH_KEY: {{IPSC_AUTH_KEY}}
|
||||
# Below not used for a Master
|
||||
MASTER_IP: {{IPSC_MASTER_IP}}
|
||||
MASTER_PORT: {{IPSC_MASTER_PORT}}
|
||||
|
@ -28,7 +28,7 @@ MAX_MISSED: 3
|
||||
[LOGGER]
|
||||
LOG_FILE: /tmp/hblink.log
|
||||
LOG_HANDLERS: console-timed
|
||||
LOG_LEVEL: DEBUG
|
||||
LOG_LEVEL: INFO
|
||||
LOG_NAME: HBlink
|
||||
|
||||
# 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.
|
||||
# This will allow HBlink to connect to a non-compliant system such as XLXD, DMR+ etc.
|
||||
|
||||
[DMRGATEWAY]
|
||||
[HB_Bridge]
|
||||
MODE: CLIENT
|
||||
ENABLED: True
|
||||
LOOSE: True
|
||||
@ -96,7 +96,7 @@ RX_FREQ: {{HB_RX_FREQ}}
|
||||
TX_FREQ: {{HB_TX_FREQ}}
|
||||
TX_POWER: {{HB_TX_POWER}}
|
||||
COLORCODE: {{HB_COLORCODE}}
|
||||
SLOTS: 3
|
||||
SLOTS: {{HB_SLOTS}}
|
||||
LATITUDE: {{HB_LAT}}
|
||||
LONGITUDE: {{HB_LON}}
|
||||
HEIGHT: {{HB_HEIGHT}}
|
||||
|
@ -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'
|
||||
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
|
||||
# volumes:
|
||||
# - './DMRGateway.ini:/opt/hytera-stack/DMRGateway.ini'
|
||||
ports:
|
||||
- '62005:62005/udp'
|
||||
- '62006:62006/udp'
|
||||
- '62007:62007/udp'
|
||||
image: 'hacknix/freedmr:FreeDMR-IPSC'
|
||||
#IPSC port - right side always stays the same (inside container), left side is
|
||||
#the port you want to present on the outside.
|
||||
#This is automatically mapped - docker uses iptables to do this
|
||||
- '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"
|
||||
|
@ -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_TS2}}/$IPSC_TS2/" /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_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_HEIGHT}}/$HB_HEIGHT/" /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
|
||||
|
||||
#Run processes
|
||||
|
Loading…
x
Reference in New Issue
Block a user