server/client configs added
This commit is contained in:
parent
b8fc96f782
commit
9a66591ed5
23
README.md
23
README.md
|
@ -0,0 +1,23 @@
|
|||
# Receiving ADS-B data and feeding external services
|
||||
|
||||
The setup is using a client-server setup to minimize the power used at home. An external VPS is distributing the catched data to external services like Flightradar24 or Flightware
|
||||
|
||||
### Server setup
|
||||
|
||||
- Raspberry Pi 4
|
||||
- installed Ubuntu 22.04 minimal
|
||||
- attached RTL-SDR Receiver connected to an ADS-B antenna
|
||||
- running feeder_server docker container
|
||||
- fetching the data and serving this via network
|
||||
|
||||
### Client Setup
|
||||
|
||||
- VPS on external cloud provider
|
||||
- installed Ubuntu 22.04 minimal
|
||||
- fetching the data from above server ("Beasthost")
|
||||
- distributing the data currently to following services:
|
||||
- flightaware.com
|
||||
- flightradar24.com
|
||||
- radarbox24.com
|
||||
- adsbexchange.com
|
||||
- own public map served via tar1090
|
|
@ -0,0 +1,7 @@
|
|||
caddy/
|
||||
graphs1090_rrd/
|
||||
planefence/
|
||||
.readsb_json/
|
||||
tar1090_heatmap/
|
||||
tar1090_timelapse/
|
||||
web/
|
|
@ -0,0 +1,181 @@
|
|||
# ports:
|
||||
# 80 - caddy http
|
||||
# 443 - caddy https
|
||||
# 8081 - tar1090
|
||||
# 8082 - piaware
|
||||
# 8083 - fr24feed
|
||||
# 8084 - rbfeeder
|
||||
# 8085 - adsbx
|
||||
version: '3.8'
|
||||
networks:
|
||||
adsbnet:
|
||||
services:
|
||||
tar1090:
|
||||
image: mikenye/tar1090:latest
|
||||
tty: true
|
||||
container_name: tar1090
|
||||
restart: always
|
||||
environment:
|
||||
- UPDATE_TAR1090=true
|
||||
- TZ="Europe/Berlin"
|
||||
- BEASTHOST=${BEASTHOST}
|
||||
- LAT=${LAT}
|
||||
- LONG=${LON}
|
||||
- TAR1090_DEFAULTCENTERLAT=${LAT}
|
||||
- TAR1090_DEFAULTCENTERLON=${LON}
|
||||
- ENABLE_TIMELAPSE1090=yes
|
||||
- TIMELAPSE1090_INTERVAL=10
|
||||
- TIMELAPSE1090_HISTORY=48
|
||||
- PTRACKS=48
|
||||
- TAR1090_FLIGHTAWARELINKS=yes
|
||||
- TAR1090_ENABLE_AC_DB=true
|
||||
- TAR1090_PAGETITLE=${TAR1090_PAGETITLE}
|
||||
- TAR1090_PLANECOUNTINTITLE=false
|
||||
- TAR1090_DISPLAYUNITS=metric
|
||||
- TAR1090_RANGERINGS=false
|
||||
- TAR1090_DEFAULTZOOMLVL=7
|
||||
- TAR1090_SITESHOW=yes
|
||||
- TAR1090_MAPDIM=false
|
||||
- READSB_NET_SBS_OUTPUT_PORT=30003
|
||||
# - READSB_EXTRA_ARGS=--write-json-globe-index --write-globe-history /var/globe_history --net-beast-reduce-interval 2 --net-sbs-reduce
|
||||
ports:
|
||||
- 8081:80
|
||||
- 30003:30003
|
||||
volumes:
|
||||
- "/services/feeder/tar1090_heatmap:/var/globe_history"
|
||||
- "/services/feeder/tar1090_timelapse:/var/timelapse1090"
|
||||
tmpfs:
|
||||
- /run:exec,size=64M
|
||||
- /var/log
|
||||
caddy:
|
||||
image: caddy:latest
|
||||
container_name: caddy
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 80:80
|
||||
- 443:443
|
||||
volumes:
|
||||
- /services/feeder/caddy/data:/data
|
||||
- /services/feeder/web/:/web
|
||||
- /services/feeder/caddy/config/Caddyfile:/etc/caddy/Caddyfile
|
||||
depends_on:
|
||||
- tar1090
|
||||
piaware:
|
||||
image: mikenye/piaware:latest
|
||||
tty: true
|
||||
container_name: piaware
|
||||
restart: always
|
||||
depends_on:
|
||||
- tar1090
|
||||
networks:
|
||||
- adsbnet
|
||||
ports:
|
||||
- 8082:8080
|
||||
environment:
|
||||
- TZ="Europe/Berlin"
|
||||
- LAT=${LAT}
|
||||
- LONG=${LON}
|
||||
- RECEIVER_TYPE=relay
|
||||
- BEASTHOST=${BEASTHOST}
|
||||
- BEASTPORT=${BEASTPORT}
|
||||
- FEEDER_ID=${PIAWARE_FEEDERID}
|
||||
tmpfs:
|
||||
- /run:exec,size=64M
|
||||
- /var/log
|
||||
fr24:
|
||||
image: mikenye/fr24feed:latest
|
||||
tty: true
|
||||
container_name: fr24feed
|
||||
restart: always
|
||||
depends_on:
|
||||
- tar1090
|
||||
networks:
|
||||
- adsbnet
|
||||
ports:
|
||||
- 8083:8754
|
||||
environment:
|
||||
- TZ="Europe/Berlin"
|
||||
- BEASTHOST=${BEASTHOST}
|
||||
- MLAT=no
|
||||
- FR24KEY=${FR24KEY}
|
||||
tmpfs:
|
||||
- /var/log
|
||||
rbfeeder:
|
||||
image: mikenye/radarbox:latest
|
||||
tty: true
|
||||
container_name: rbfeeder
|
||||
restart: always
|
||||
depends_on:
|
||||
- tar1090
|
||||
networks:
|
||||
- adsbnet
|
||||
ports:
|
||||
- 8084:8084
|
||||
environment:
|
||||
- TZ="Europe/Berlin"
|
||||
- BEASTHOST=${BEASTHOST}
|
||||
- BEASTPORT=${BEASTPORT}
|
||||
- LAT=${LAT}
|
||||
- LONG=${LON}
|
||||
- ALT=415
|
||||
- SHARING_KEY=${RBFEEDER_SHARING_KEY}
|
||||
volumes:
|
||||
- "/services/feeder/radarbox_segfault_fix:/sys/class/thermal:ro"
|
||||
- "/services/feeder/radarbox_cpuserial_fix/fake_cpuinfo:/proc/cpuinfo"
|
||||
tmpfs:
|
||||
- /run:exec,size=64M
|
||||
- /var/log
|
||||
adsbx:
|
||||
image: mikenye/adsbexchange:latest
|
||||
tty: true
|
||||
container_name: adsbx
|
||||
restart: always
|
||||
depends_on:
|
||||
- tar1090
|
||||
ports:
|
||||
- 8085:8085
|
||||
networks:
|
||||
- adsbnet
|
||||
environment:
|
||||
- BEASTHOST=${BEASTHOST}
|
||||
- LAT=${LAT}
|
||||
- LONG=${LON}
|
||||
- ALT=415m
|
||||
- SITENAME=${ADSBX_SITENAME}
|
||||
- UUID=${ADSBX_UUID}
|
||||
- TZ="Europe/Berlin"
|
||||
tmpfs:
|
||||
- /run:exec,size=64M,uid=1000,gid=1000
|
||||
- /var/log
|
||||
planefence:
|
||||
image: kx1t/planefence
|
||||
tty: true
|
||||
container_name: planefence
|
||||
hostname: planefence
|
||||
restart: always
|
||||
# by adding a ports mapping, the planefence website is exposed to the
|
||||
# host and your internal network:
|
||||
ports:
|
||||
- 8088:80
|
||||
# we are phasing out the .env file in favor of a similar file named
|
||||
# ~/.planefence/planefence.config. A template of that file will be
|
||||
# generated automatically when you start the container for the first
|
||||
# time. Planefence will not work unless you have either a .env file or
|
||||
# a planefence.config file. Any values defined in planefence.config
|
||||
# will take priority over those in .env. Uncomment the line below if you
|
||||
# really want to continue to use your pre-existing .env file.
|
||||
# Also, update TZ=America/New_York to your own timezone.
|
||||
#
|
||||
# LOGLEVEL can be "INFO" (default - all logs) or "ERROR" (only errors)
|
||||
environment:
|
||||
- TZ=Europe/Berlin
|
||||
- LOGLEVEL=INFO
|
||||
volumes:
|
||||
# adopt this one to point at your home directory if it is not /home/pi
|
||||
- /services/feeder/planefence/persist:/usr/share/planefence/persist
|
||||
# the following exposes the html directory to the host, in case you
|
||||
# want to use an external http daemon (lighttpd, nginx, etc)
|
||||
- /services/feeder/planefence/html:/usr/share/planefence/html
|
||||
tmpfs:
|
||||
- /run:rw,nosuid,nodev,exec,relatime,size=512M
|
||||
- /tmp:rw,nosuid,nodev,noexec,relatime,size=128M
|
|
@ -0,0 +1,11 @@
|
|||
LAT=
|
||||
LON=
|
||||
BEASTHOST=
|
||||
BEASTPORT=30005
|
||||
TAR1090_PAGETITLE=
|
||||
CADDY_COMMAND=
|
||||
PIAWARE_FEEDERID=
|
||||
FR24KEY=
|
||||
RBFEEDER_SHARING_KEY=
|
||||
ADSBX_SITENAME=
|
||||
ADSBX_UUID=
|
|
@ -0,0 +1,4 @@
|
|||
.env
|
||||
autogain/
|
||||
readsbpb_rrd/
|
||||
readsbrrd/
|
|
@ -0,0 +1,50 @@
|
|||
version: '3.3'
|
||||
networks:
|
||||
adsbnet:
|
||||
services:
|
||||
readsb:
|
||||
image: mikenye/readsb-protobuf:latest
|
||||
tty: true
|
||||
privileged: true
|
||||
container_name: readsb
|
||||
hostname: readsb
|
||||
restart: always
|
||||
devices:
|
||||
- ${USB} #path of USB device (RTLSDR)
|
||||
networks:
|
||||
- adsbnet
|
||||
ports:
|
||||
- 80:8080
|
||||
- 30003:30003
|
||||
- 30005:30005
|
||||
- 33333:33333
|
||||
environment:
|
||||
- DISABLE_PERFORMANCE_GRAPHS=true
|
||||
- DISABLE_WEBAPP=true
|
||||
- VERBOSE_LOGGING=true
|
||||
- UDEV=1
|
||||
- TZ=Europe/Berlin
|
||||
- READSB_DCFILTER=true
|
||||
- READSB_DEVICE_TYPE=rtlsdr
|
||||
- READSB_FIX=true
|
||||
- READSB_GAIN=autogain
|
||||
- READSB_LAT=${LAT}
|
||||
- READSB_LON=${LON}
|
||||
- READSB_MODEAC=true
|
||||
- READSB_RX_LOCATION_ACCURACY=2
|
||||
- READSB_STATS_RANGE=true
|
||||
- READSB_NET_ENABLE=true
|
||||
- READSB_NET_SBS_OUTPUT_PORT=30003
|
||||
- READSB_EXTRA_ARGS=--net-beast-reduce-interval 2 --net-sbs-reduce
|
||||
- INFLUXDBURL=${INFLUXDBURL}
|
||||
- INFLUXDB_V2=true
|
||||
- INFLUXDB_V2_BUCKET=${INFLUXDB_V2_BUCKET}
|
||||
- INFLUXDB_V2_ORG=${INFLUXDB_V2_ORG}
|
||||
- INFLUXDB_V2_TOKEN=${INFLUXDB_V2_TOKEN}
|
||||
volumes:
|
||||
- /services/feeder/autogain:/run/autogain
|
||||
- /services/feeder/readsbpb_rrd:/run/collectd
|
||||
- /services/feeder/readsbrrd:/var/lib/collectd/rrd/localhost/readsb
|
||||
tmpfs:
|
||||
- /run/readsb
|
||||
- /var/log
|
|
@ -0,0 +1,8 @@
|
|||
LAT=
|
||||
LON=
|
||||
USB=
|
||||
WEBSITE_PORT=
|
||||
INFLUXDBURL=
|
||||
INFLUXDB_V2_BUCKET=
|
||||
INFLUXDB_V2_ORG=
|
||||
INFLUXDB_V2_TOKEN=
|
Loading…
Reference in New Issue