RYSEN/docker-configs/docker-compose-ipv6.yml

119 lines
4.4 KiB
YAML

###############################################################################
# Copyright (C) 2020 Simon Adlem, G7RZU <g7rzu@gb7fr.org.uk>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
###############################################################################
version: '2.1'
services:
freedmr:
container_name: freedmr
depends_on:
- ipv6nat
volumes:
- '/etc/freedmr/freedmr.cfg:/opt/freedmr/freedmr.cfg'
- '/var/log/freedmr/freedmr.log:/opt/freedmr/freedmr.log'
- '/etc/freedmr/rules.py:/opt/freedmr/rules.py'
#Write JSON files outside of container
- '/etc/freedmr/json/talkgroup_ids.json:/opt/freedmr/talkgroup_ids.json'
- '/etc/freedmr/json/subscriber_ids.json:/opt/freedmr/subscriber_ids.json'
- '/etc/freedmr/json/peer_ids.json:/opt/freedmr/peer_ids.json'
ports:
- '62031:62031/udp'
#Change the below to inlude ports used for your OBP(s)
- '62041:62041/udp'
- '4321:4321/tcp'
image: 'hacknix/freedmr:development-latest'
restart: "unless-stopped"
networks:
app_net:
ipv4_address: 172.16.238.10
ipv6_address: fd2a:70b6:9f54:29b6::10
#Control parameters inside container
environment:
#IPV6 support
- FDPROXY_IPV6=1
#Display connection stats in log
- FDPROXY_STATS=1
#Display conneting client info in log
- FDPROXY_CLIENTINFO=1
#Debug HBP session in log (lots of data!!)
- FDPROXY_DEBUG=0
read_only: "true"
ipv6nat:
container_name: ipv6nat
image: 'robbertkl/ipv6nat'
volumes:
- '/var/run/docker.sock:/var/run/docker.sock:ro'
- '/lib/modules:/lib/modules:ro'
privileged: "true"
network_mode: "host"
restart: "unless-stopped"
freedmrmon:
container_name: freedmrmon
depends_on:
- freedmr
volumes:
#This should be kept to a manageable size from
#cron or logrotate outisde of the container.
- '/var/log/freeDMRmonitor/lastheard.log:/opt/FreeDMRmonitor/log/lastheard.log'
- '/var/log/freeDMRmonitor/hbmon.log:/opt/FreeDMRmonitor/log/hbmon.log'
#Write JSON files outside of container
- '/etc/freedmr/json/talkgroup_ids.json:/opt/FreeDMRmonitor/talkgroup_ids.json'
- '/etc/freedmr/json/subscriber_ids.json:/opt/FreeDMRmonitor/subscriber_ids.json'
- '/etc/freedmr/json/peer_ids.json:/opt/FreeDMRmonitor/peer_ids.json'
#Override config file
# - '/etc/freedmr/config.py:/opt/FreeDMRmonitor/config.py'
ports:
- '9000:9000/tcp'
image: 'hacknix/freedmrmonitor:latest'
restart: "unless-stopped"
networks:
app_net:
ipv4_address: 172.16.238.20
ipv6_address: fd2a:70b6:9f54:29b6::20
freedmrmonpache:
container_name: freedmrmonapache
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/'
ports:
- '80:80/tcp'
image: hacknix/freedmrmonitor-apache:latest
restart: "unless-stopped"
networks:
app_net:
ipv4_address: 172.16.238.30
ipv6_address: fd2a:70b6:9f54:29b6::30
networks:
app_net:
enable_ipv6: true
driver: bridge
ipam:
driver: default
config:
- subnet: 172.16.238.0/24
gateway: 172.16.238.1
- subnet: fd2a:70b6:9f54:29b6::/64
gateway: fd2a:70b6:9f54:29b6::1