From 081101267645d221da1cc2b288db7e36ad3bbef9 Mon Sep 17 00:00:00 2001 From: Simon Date: Sat, 10 Sep 2022 20:58:49 +0100 Subject: [PATCH 01/10] fix bug in port from enviornment variable --- hotspot_proxy_v2.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hotspot_proxy_v2.py b/hotspot_proxy_v2.py index d1e1efb..35bb2ee 100644 --- a/hotspot_proxy_v2.py +++ b/hotspot_proxy_v2.py @@ -312,7 +312,7 @@ if __name__ == '__main__': if 'FDPROXY_CLIENTINFO' in os.environ: ClientInfo = bool(os.environ['FDPROXY_CLIENTINFO']) if 'FDPROXY_LISTENPORT' in os.environ: - ListenPort = os.environ['FDPROXY_LISTENPORT'] + ListenPort = int(os.environ['FDPROXY_LISTENPORT']) for port in range(DestportStart,DestPortEnd+1,1): CONNTRACK[port] = False From 048e87d7d4afd709b38c94f29b77a85ef24d3b1e Mon Sep 17 00:00:00 2001 From: Simon Date: Sun, 11 Sep 2022 00:17:50 +0100 Subject: [PATCH 02/10] Update Docker and one-shot install --- docker-configs/docker-compose.yml | 5 +-- docker-configs/docker-compose_install.sh | 57 +++++++++++++++++------- 2 files changed, 44 insertions(+), 18 deletions(-) diff --git a/docker-configs/docker-compose.yml b/docker-configs/docker-compose.yml index c4c3738..6da1a22 100644 --- a/docker-configs/docker-compose.yml +++ b/docker-configs/docker-compose.yml @@ -24,7 +24,6 @@ services: mem_reservation: 600m volumes: - '/etc/freedmr/freedmr.cfg:/opt/freedmr/freedmr.cfg' - - '/var/log/freedmr/:/opt/freedmr/log/' - '/etc/freedmr/rules.py:/opt/freedmr/rules.py' #Write JSON files outside of container - '/etc/freedmr/json/:/opt/freedmr/json/' @@ -32,8 +31,8 @@ services: ports: - '62031:62031/udp' #Change the below to inlude ports used for your OBP(s) - - '62041:62041/udp' - image: 'hacknix/freedmr:latest' + #- '62041:62041/udp' + image: 'gitlab.hacknix.net:5050/hacknix/freedmr:development-latest' restart: "unless-stopped" networks: app_net: diff --git a/docker-configs/docker-compose_install.sh b/docker-configs/docker-compose_install.sh index f1a2bc1..a434306 100644 --- a/docker-configs/docker-compose_install.sh +++ b/docker-configs/docker-compose_install.sh @@ -21,9 +21,29 @@ echo FreeDMR Docker installer... echo Installing required packages... -apt-get -y install docker.io && +#apt-get -y install docker.io && +#apt-get -y install docker-compose && +#apt-get -y install conntrack && + +echo Install Docker Community Edition... +apt-get remove docker docker-engine docker.io && +apt-get -y update && +apt-get install \ + apt-transport-https \ + ca-certificates \ + curl \ + gnupg2 \ + software-properties-common && +curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - && +add-apt-repository \ + "deb [arch=amd64] https://download.docker.com/linux/debian \ + $(lsb_release -cs) \ + stable" && +apt-get -y update && +apt-get -y install docker-ce && + +echo Install Docker Compose... apt-get -y install docker-compose && -apt-get -y install conntrack && echo Set userland-proxy to false... echo '{ "userland-proxy": false}' > /etc/docker/daemon.json && @@ -54,6 +74,8 @@ GEN_STAT_BRIDGES: True ALLOW_NULL_PASSPHRASE: True ANNOUNCEMENT_LANGUAGES: SERVER_ID: 0 +DATA_GATEWAY: False +VALIDATE_SERVER_IDS: True [REPORTS] @@ -63,8 +85,8 @@ REPORT_PORT: 4321 REPORT_CLIENTS: * [LOGGER] -LOG_FILE: log/freedmr.log -LOG_HANDLERS: file-timed +LOG_FILE: /dev/null +LOG_HANDLERS: console-timed LOG_LEVEL: INFO LOG_NAME: FreeDMR @@ -75,20 +97,24 @@ PEER_FILE: peer_ids.json SUBSCRIBER_FILE: subscriber_ids.json TGID_FILE: talkgroup_ids.json PEER_URL: https://www.radioid.net/static/rptrs.json -SUBSCRIBER_URL: http://downloads.freedmr.uk/downloads/local_subscriber_ids.json -TGID_URL: TGID_URL: https://freedmr.cymru/talkgroups/talkgroup_ids_json.php +SUBSCRIBER_URL: https://www.radioid.net/static/users.json +TGID_URL: http://downloads.freedmr.uk/downloads/talkgroup_ids.json +LOCAL_SUBSCRIBER_FILE: local_subscriber_ids.json STALE_DAYS: 1 -LOCAL_SUBSCRIBER_FILE: local_subcriber_ids.json SUB_MAP_FILE: sub_map.pkl +SERVER_ID_URL: http://downloads.freedmr.uk/downloads/FreeDMR_Hosts.csv +SERVER_ID_FILE: server_ids.tsv +TOPO_FILE: topography.json -[MYSQL] -USE_MYSQL: False -USER: hblink -PASS: mypassword -DB: hblink -SERVER: 127.0.0.1 -PORT: 3306 -TABLE: repeaters + +#Control server shared allstar instance via dial / AMI +[ALLSTAR] +ENABLED: True +USER:admin +PASS: password +SERVER: asl.example.com +PORT: 5038 +NODE: 11111 [OBP-TEST] MODE: OPENBRIDGE @@ -132,6 +158,7 @@ ANNOUNCEMENT_LANGUAGE: en_GB GENERATOR: 100 ALLOW_UNREG_ID: False PROXY_CONTROL: True +OVERRIDE_IDENT_TG: [ECHO] MODE: PEER From 3c8000e79a2eb7c52ed93884fe03f809c15f8037 Mon Sep 17 00:00:00 2001 From: Simon Date: Sun, 11 Sep 2022 00:29:46 +0100 Subject: [PATCH 03/10] cly --- docker-configs/docker-compose_install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-configs/docker-compose_install.sh b/docker-configs/docker-compose_install.sh index a434306..010a376 100644 --- a/docker-configs/docker-compose_install.sh +++ b/docker-configs/docker-compose_install.sh @@ -26,7 +26,7 @@ echo Installing required packages... #apt-get -y install conntrack && echo Install Docker Community Edition... -apt-get remove docker docker-engine docker.io && +#apt-get remove docker docker-engine docker.io && apt-get -y update && apt-get install \ apt-transport-https \ From 8614390f23855bb1e808994e2cf89b7999b4be74 Mon Sep 17 00:00:00 2001 From: Simon Date: Sun, 11 Sep 2022 00:39:36 +0100 Subject: [PATCH 04/10] jfksjy# with '#' will be ignored, and an empty message aborts the commit. --- docker-configs/docker-compose_install.sh | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/docker-configs/docker-compose_install.sh b/docker-configs/docker-compose_install.sh index 010a376..996ff09 100644 --- a/docker-configs/docker-compose_install.sh +++ b/docker-configs/docker-compose_install.sh @@ -28,12 +28,7 @@ echo Installing required packages... echo Install Docker Community Edition... #apt-get remove docker docker-engine docker.io && apt-get -y update && -apt-get install \ - apt-transport-https \ - ca-certificates \ - curl \ - gnupg2 \ - software-properties-common && +apt-get -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common && curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - && add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/debian \ From 31484385911e7197817d3cc8082b601dd1973d08 Mon Sep 17 00:00:00 2001 From: Simon Date: Sun, 11 Sep 2022 01:04:06 +0100 Subject: [PATCH 05/10] jkjy --- docker-configs/docker-compose_install.sh | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/docker-configs/docker-compose_install.sh b/docker-configs/docker-compose_install.sh index 996ff09..bdc7c61 100644 --- a/docker-configs/docker-compose_install.sh +++ b/docker-configs/docker-compose_install.sh @@ -21,12 +21,8 @@ echo FreeDMR Docker installer... echo Installing required packages... -#apt-get -y install docker.io && -#apt-get -y install docker-compose && -#apt-get -y install conntrack && - echo Install Docker Community Edition... -#apt-get remove docker docker-engine docker.io && +apt-get remove docker docker-engine docker.io && apt-get -y update && apt-get -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common && curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - && @@ -217,6 +213,18 @@ mv /var/log/FreeDMRmonitor/lastheard.log /var/log/FreeDMRmonitor/lastheard.log.s EOF chmod 755 /etc/cron.daily/lastheard +echo Tune network stack... +cat < /etc/sysctl.conf +net.core.rmem_default=134217728 +net.core.rmem_max=134217728 +net.core.wmem_max=134217728 +net.core.rmem_default=134217728 +net.core.netdev_max_backlog=250000 +net.netfilter.nf_conntrack_udp_timeout=15 +net.netfilter.nf_conntrack_udp_timeout_stream=35 +EOF + +/usr/bin/sysctl -p && echo Run FreeDMR container... docker-compose up -d From 1450e9a287a4772cc167c4d572083e4a4fb101c3 Mon Sep 17 00:00:00 2001 From: Simon Date: Sun, 11 Sep 2022 01:06:59 +0100 Subject: [PATCH 06/10] gerbil! --- docker-configs/docker-compose_install.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-configs/docker-compose_install.sh b/docker-configs/docker-compose_install.sh index bdc7c61..2885fb8 100644 --- a/docker-configs/docker-compose_install.sh +++ b/docker-configs/docker-compose_install.sh @@ -22,7 +22,7 @@ echo FreeDMR Docker installer... echo Installing required packages... echo Install Docker Community Edition... -apt-get remove docker docker-engine docker.io && +apt-get -y remove docker docker-engine docker.io && apt-get -y update && apt-get -y install apt-transport-https ca-certificates curl gnupg2 software-properties-common && curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add - && @@ -204,7 +204,7 @@ echo Get docker-compose.yml... cd /etc/freedmr && curl https://gitlab.hacknix.net/hacknix/FreeDMR/-/raw/master/docker-configs/docker-compose.yml -o docker-compose.yml && echo Install crontab... -cat << EOF > /etc/cron.daily/lastheard +cat << EOF > /etc/cron.daily/lastheard && #!/bin/bash mv /var/log/FreeDMRmonitor/lastheard.log /var/log/FreeDMRmonitor/lastheard.log.save /usr/bin/tail -150 /var/log/FreeDMRmonitor/lastheard.log.save > /var/log/FreeDMRmonitor/lastheard.log @@ -214,7 +214,7 @@ EOF chmod 755 /etc/cron.daily/lastheard echo Tune network stack... -cat < /etc/sysctl.conf +cat << EOF > /etc/sysctl.conf && net.core.rmem_default=134217728 net.core.rmem_max=134217728 net.core.wmem_max=134217728 From 19c800ba8d7e96bcd2ed8345e5f15be37e205397 Mon Sep 17 00:00:00 2001 From: Simon Date: Sun, 11 Sep 2022 01:12:54 +0100 Subject: [PATCH 07/10] AMI off by default --- docker-configs/docker-compose_install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-configs/docker-compose_install.sh b/docker-configs/docker-compose_install.sh index 2885fb8..23babc9 100644 --- a/docker-configs/docker-compose_install.sh +++ b/docker-configs/docker-compose_install.sh @@ -100,7 +100,7 @@ TOPO_FILE: topography.json #Control server shared allstar instance via dial / AMI [ALLSTAR] -ENABLED: True +ENABLED: false USER:admin PASS: password SERVER: asl.example.com From a41925b2a476c0aa0fbb55e691e746cc2bf54fd9 Mon Sep 17 00:00:00 2001 From: Simon Date: Sat, 17 Sep 2022 01:05:22 +0100 Subject: [PATCH 08/10] Use OA4 dash in Docker --- docker-configs/docker-compose.yml | 34 +++++++++------------- docker-configs/docker-compose_install.sh | 36 +++++++++--------------- 2 files changed, 27 insertions(+), 43 deletions(-) diff --git a/docker-configs/docker-compose.yml b/docker-configs/docker-compose.yml index 6da1a22..127266b 100644 --- a/docker-configs/docker-compose.yml +++ b/docker-configs/docker-compose.yml @@ -51,45 +51,37 @@ services: #- FDPROXY_LISTENPORT=62031 read_only: "true" - freedmrmon: - container_name: freedmrmon + freedmrmonitor2: + container_name: freedmrmonitor2 cpu_shares: 512 depends_on: - freedmr - volumes: - #This should be kept to a manageable size from - #cron or logrotate outisde of the container. - - '/var/log/FreeDMRmonitor/:/opt/FreeDMRmonitor/log/' - #Write JSON files outside of container - - '/etc/freedmr/json/:/opt/FreeDMRmonitor/json/' - - #Override config file - # - '/etc/freedmr/config.py:/opt/FreeDMRmonitor/config.py' ports: - '9000:9000/tcp' - image: 'hacknix/freedmrmonitor:latest' + image: 'gitlab.hacknix.net:5050/freedmr/freedmrmonitor2/freedmrmonitor2:monitor-development-latest' restart: "unless-stopped" networks: app_net: ipv4_address: 172.16.238.20 - + read_only: "true" + logging: + driver: json-file + + freedmrmonpache: container_name: freedmrmonapache cpu_shares: 512 depends_on: - - freedmrmon - #Use to override html files - #And images - #volumes: - # - '/var/www/html/:/var/www/html/' - # - '/var/www/html/images/:/var/www/html/images/' + - freedmrmonitor2 ports: - - '80:80/tcp' - image: hacknix/freedmrmonitor-apache:latest + - '8080:80/tcp' + image: 'gitlab.hacknix.net:5050/freedmr/freedmrmonitor2/freedmrmonitor2:apache-development-latest' restart: "unless-stopped" networks: app_net: ipv4_address: 172.16.238.30 + logging: + driver: json-file networks: app_net: diff --git a/docker-configs/docker-compose_install.sh b/docker-configs/docker-compose_install.sh index 23babc9..9f95aea 100644 --- a/docker-configs/docker-compose_install.sh +++ b/docker-configs/docker-compose_install.sh @@ -37,7 +37,15 @@ echo Install Docker Compose... apt-get -y install docker-compose && echo Set userland-proxy to false... -echo '{ "userland-proxy": false}' > /etc/docker/daemon.json && +cat < /etc/docker/daemon.json && +{ "userland-proxy": false + "log-driver": "json-file", + "log-opts": { + "max-size": "10m", + "max-file": "3" + } +} +EOF echo Restart docker... systemctl restart docker && @@ -87,13 +95,13 @@ PATH: ./json/ PEER_FILE: peer_ids.json SUBSCRIBER_FILE: subscriber_ids.json TGID_FILE: talkgroup_ids.json -PEER_URL: https://www.radioid.net/static/rptrs.json -SUBSCRIBER_URL: https://www.radioid.net/static/users.json -TGID_URL: http://downloads.freedmr.uk/downloads/talkgroup_ids.json +PEER_URL: http://freedmr-lh.gb7fr.org.uk/json/peer_ids.json +SUBSCRIBER_URL: http://freedmr-lh.gb7fr.org.uk/json/subscriber_ids.json +TGID_URL: http://freedmr-lh.gb7fr.org.uk/talkgroup_ids.json LOCAL_SUBSCRIBER_FILE: local_subscriber_ids.json STALE_DAYS: 1 SUB_MAP_FILE: sub_map.pkl -SERVER_ID_URL: http://downloads.freedmr.uk/downloads/FreeDMR_Hosts.csv +SERVER_ID_URL: http://freedmr-lh.gb7fr.org.uk/json/server_ids.tsv SERVER_ID_FILE: server_ids.tsv TOPO_FILE: topography.json @@ -191,26 +199,10 @@ echo "BRIDGES = {'9990': [{'SYSTEM': 'ECHO', 'TS': 2, 'TGID': 9990, 'ACTIVE': Tr echo Set perms on config directory... chown -R 54000 /etc/freedmr && -echo Setup logging... -mkdir -p /var/log/freedmr && -touch /var/log/freedmr/freedmr.log && -chown -R 54000 /var/log/freedmr && -mkdir -p /var/log/FreeDMRmonitor && -touch /var/log/FreeDMRmonitor/lastheard.log && -touch /var/log/FreeDMRmonitor/hbmon.log && -chown -R 54001 /var/log/FreeDMRmonitor && - echo Get docker-compose.yml... cd /etc/freedmr && curl https://gitlab.hacknix.net/hacknix/FreeDMR/-/raw/master/docker-configs/docker-compose.yml -o docker-compose.yml && -echo Install crontab... -cat << EOF > /etc/cron.daily/lastheard && -#!/bin/bash -mv /var/log/FreeDMRmonitor/lastheard.log /var/log/FreeDMRmonitor/lastheard.log.save -/usr/bin/tail -150 /var/log/FreeDMRmonitor/lastheard.log.save > /var/log/FreeDMRmonitor/lastheard.log -mv /var/log/FreeDMRmonitor/lastheard.log /var/log/FreeDMRmonitor/lastheard.log.save -/usr/bin/tail -150 /var/log/FreeDMRmonitor/lastheard.log.save > /var/log/FreeDMRmonitor/lastheard.log -EOF + chmod 755 /etc/cron.daily/lastheard echo Tune network stack... From b1f9a2ff5829702128868da634a5d4c5ad50ba7e Mon Sep 17 00:00:00 2001 From: Simon Date: Mon, 19 Sep 2022 00:27:49 +0100 Subject: [PATCH 09/10] Fix typo in docker-compose.yml --- docker-configs/docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-configs/docker-compose.yml b/docker-configs/docker-compose.yml index 127266b..0384524 100644 --- a/docker-configs/docker-compose.yml +++ b/docker-configs/docker-compose.yml @@ -51,7 +51,7 @@ services: #- FDPROXY_LISTENPORT=62031 read_only: "true" - freedmrmonitor2: + freedmrmonitor2: container_name: freedmrmonitor2 cpu_shares: 512 depends_on: From 937080feef1af909ffb127e886aa48e639d89499 Mon Sep 17 00:00:00 2001 From: Simon Date: Mon, 19 Sep 2022 00:55:03 +0100 Subject: [PATCH 10/10] dock --- docker-configs/docker-compose_install.sh | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/docker-configs/docker-compose_install.sh b/docker-configs/docker-compose_install.sh index 9f95aea..2630777 100644 --- a/docker-configs/docker-compose_install.sh +++ b/docker-configs/docker-compose_install.sh @@ -38,12 +38,14 @@ apt-get -y install docker-compose && echo Set userland-proxy to false... cat < /etc/docker/daemon.json && -{ "userland-proxy": false - "log-driver": "json-file", - "log-opts": { +{ + "userland-proxy": false, + "experimental": true, + "log-driver": "json-file", + "log-opts": { "max-size": "10m", "max-file": "3" - } + } } EOF @@ -216,7 +218,7 @@ net.netfilter.nf_conntrack_udp_timeout=15 net.netfilter.nf_conntrack_udp_timeout_stream=35 EOF -/usr/bin/sysctl -p && +/usr/sbin/sysctl -p && echo Run FreeDMR container... docker-compose up -d