diff --git a/docker-configs/docker-compose.yml b/docker-configs/docker-compose.yml index 0384524..c4c3738 100644 --- a/docker-configs/docker-compose.yml +++ b/docker-configs/docker-compose.yml @@ -24,6 +24,7 @@ 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/' @@ -31,8 +32,8 @@ services: ports: - '62031:62031/udp' #Change the below to inlude ports used for your OBP(s) - #- '62041:62041/udp' - image: 'gitlab.hacknix.net:5050/hacknix/freedmr:development-latest' + - '62041:62041/udp' + image: 'hacknix/freedmr:latest' restart: "unless-stopped" networks: app_net: @@ -51,37 +52,45 @@ services: #- FDPROXY_LISTENPORT=62031 read_only: "true" - freedmrmonitor2: - container_name: freedmrmonitor2 + freedmrmon: + container_name: freedmrmon 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: 'gitlab.hacknix.net:5050/freedmr/freedmrmonitor2/freedmrmonitor2:monitor-development-latest' + image: 'hacknix/freedmrmonitor: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: - - freedmrmonitor2 + - freedmrmon + #Use to override html files + #And images + #volumes: + # - '/var/www/html/:/var/www/html/' + # - '/var/www/html/images/:/var/www/html/images/' ports: - - '8080:80/tcp' - image: 'gitlab.hacknix.net:5050/freedmr/freedmrmonitor2/freedmrmonitor2:apache-development-latest' + - '80:80/tcp' + image: hacknix/freedmrmonitor-apache: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 2630777..f1a2bc1 100644 --- a/docker-configs/docker-compose_install.sh +++ b/docker-configs/docker-compose_install.sh @@ -21,33 +21,12 @@ echo FreeDMR Docker installer... echo Installing required packages... -echo Install Docker Community Edition... -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 - && -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.io && apt-get -y install docker-compose && +apt-get -y install conntrack && echo Set userland-proxy to false... -cat < /etc/docker/daemon.json && -{ - "userland-proxy": false, - "experimental": true, - "log-driver": "json-file", - "log-opts": { - "max-size": "10m", - "max-file": "3" - } -} -EOF +echo '{ "userland-proxy": false}' > /etc/docker/daemon.json && echo Restart docker... systemctl restart docker && @@ -75,8 +54,6 @@ GEN_STAT_BRIDGES: True ALLOW_NULL_PASSPHRASE: True ANNOUNCEMENT_LANGUAGES: SERVER_ID: 0 -DATA_GATEWAY: False -VALIDATE_SERVER_IDS: True [REPORTS] @@ -86,8 +63,8 @@ REPORT_PORT: 4321 REPORT_CLIENTS: * [LOGGER] -LOG_FILE: /dev/null -LOG_HANDLERS: console-timed +LOG_FILE: log/freedmr.log +LOG_HANDLERS: file-timed LOG_LEVEL: INFO LOG_NAME: FreeDMR @@ -97,25 +74,21 @@ PATH: ./json/ PEER_FILE: peer_ids.json SUBSCRIBER_FILE: subscriber_ids.json TGID_FILE: 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 +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 STALE_DAYS: 1 +LOCAL_SUBSCRIBER_FILE: local_subcriber_ids.json SUB_MAP_FILE: sub_map.pkl -SERVER_ID_URL: http://freedmr-lh.gb7fr.org.uk/json/server_ids.tsv -SERVER_ID_FILE: server_ids.tsv -TOPO_FILE: topography.json - -#Control server shared allstar instance via dial / AMI -[ALLSTAR] -ENABLED: false -USER:admin -PASS: password -SERVER: asl.example.com -PORT: 5038 -NODE: 11111 +[MYSQL] +USE_MYSQL: False +USER: hblink +PASS: mypassword +DB: hblink +SERVER: 127.0.0.1 +PORT: 3306 +TABLE: repeaters [OBP-TEST] MODE: OPENBRIDGE @@ -159,7 +132,6 @@ ANNOUNCEMENT_LANGUAGE: en_GB GENERATOR: 100 ALLOW_UNREG_ID: False PROXY_CONTROL: True -OVERRIDE_IDENT_TG: [ECHO] MODE: PEER @@ -201,24 +173,28 @@ 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 && - -chmod 755 /etc/cron.daily/lastheard - -echo Tune network stack... -cat << EOF > /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 +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 -/usr/sbin/sysctl -p && echo Run FreeDMR container... docker-compose up -d