
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
!https://github.com/Thom-x/docker-fr24feed-piaware-dump1090/workflows/Docker/badge.svg?branch=master !GitHub issues
!Latest image version !Docker Image Size (latest semver)
!License
Please *** following this project's author, https://github.com/Thom-x, and *** starring the project to show your ❤️ and support.
Docker image of Fr24feed, FlightAware and dump1090.
Feed FlightRadar24 and FlightAware, allow you to see the positions of aircrafts on a map.
!https://raw.githubusercontent.com/Thom-x/docker-fr24feed-piaware-dump1090/master/screenshot.png
Run :
docker run -d -p 8080:8080 -p 8754:8754 \ --device=/dev/bus/usb:/dev/bus/usb \ -v "/etc/localtime:/etc/localtime:ro" \ -e "FR24FEED_FR24KEY=MY_SHARING_KEY" \ -e "PIAWARE_FEEDER_DASH_ID=MY_FEEDER_ID" \ -e "HTML_SITE_LAT=MY_SITE_LAT" \ -e "HTML_SITE_LON=MY_SITE_LON" \ -e "HTML_SITE_NAME=MY_SITE_NAME" \ -e "PANORAMA_ID=MY_PANORAMA_ID" \ -e "LAYERS_OWM_API_KEY=MY_OWM_API_KEY" \ -e "SERVICE_ENABLE_ADSBEXCHANGE=true" \ -e "ADSBEXCHANGE_UUID=MY_UUID" \ -e "ADSBEXCHANGE_STATION_NAME=MY_STATION_NAME" \ -e "MLAT_EXACT_LAT=MY_EXACT_SITE_LAT" \ -e "MLAT_EXACT_LON=MY_EXACT_SITE_LON" \ -e "MLAT_ALTITUDE_MSL_METERS=MY_SITE_ALT_MSL_METERS" \ -e "SERVICE_ENABLE_PLANEFINDER=true" \ -e "PLANEFINDER_SHARECODE=dslmfksdlmk" \ --tmpfs /run:exec,size=32M \ --tmpfs /planefinder/log:exec,size=32M \ --tmpfs /usr/lib/fr24/public_html/data:size=32M \ thomx/fr24feed-piaware
Go to [] to view a map of reveived data. Go to [] to view the FR24 Feeder configuration panel.
Note : remove -e "PANORAMA_ID=MY_PANORAMA_ID" or -e "LAYERS_OWM_API_KEY=MY_OWM_API_KEY" from the command line if you don't want to use this feature.
Note : --tmpfs is used to avoid writing data on HDD/SD Card
Note : -v "/etc/localtime:/etc/localtime:ro" is needed for MLAT, or you can have issues with time synchronization.
To disable starting a service you can add an environement variable :
| Environment Variable | Value | Description | Default value |
|---|---|---|---|
SERVICE_ENABLE_DUMP1090 | false | Disable dump1090 service | true |
SERVICE_ENABLE_PIAWARE | false | Disable piaware service | true |
SERVICE_ENABLE_FR24FEED | false | Disable fr24feed service | true |
SERVICE_ENABLE_HTTP | false | Disable http service | true |
SERVICE_ENABLE_IMPORT_OVER_NETCAT | false | Disable import over netcat | false |
SERVICE_ENABLE_ADSBEXCHANGE | false | Disable adsbexchange feed | false |
SERVICE_ENABLE_PLANEFINDER | false | Disable plane finder feed | false |
Ex : -e "SERVICE_ENABLE_HTTP=false"
Resgister on [***]
Run :
docker run -it --rm \ -e "SERVICE_ENABLE_DUMP1090=false" \ -e "SERVICE_ENABLE_HTTP=false" \ -e "SERVICE_ENABLE_FR24FEED=false" \ -e "SERVICE_ENABLE_PIAWARE=false" \ thomx/fr24feed-piaware /usr/bin/piaware -plainlog
When the container starts you should see the feeder id, note it. Wait 5 minutes and you should see a new receiver at [***] (use the same IP as your docker host), claim it and exit the container.
Add the environment variable PIAWARE_FEEDER_DASH_ID with your feeder id.
| Environment Variable | Configuration property | Default value |
|---|---|---|
PIAWARE_FEEDER_DASH_ID | feeder-id (required) | empty |
PIAWARE_RECEIVER_DASH_TYPE | receiver-type | other |
PIAWARE_RECEIVER_DASH_HOST | receiver-host | 127.0.0.1 |
PIAWARE_RECEIVER_DASH_PORT | receiver-port | 30005 |
Ex : -e "PIAWARE_RECEIVER_DASH_TYPE=other"
Run :
docker run -it --rm \ -e "SERVICE_ENABLE_DUMP1090=false" \ -e "SERVICE_ENABLE_HTTP=false" \ -e "SERVICE_ENABLE_PIAWARE=false" \ -e "SERVICE_ENABLE_FR24FEED=false" \ thomx/fr24feed-piaware /bin/bash
Then : /fr24feed/fr24feed/fr24feed --signup and follow the instructions, for technical steps, your answer doesn't matter we just need the sharing key at the end.
Finally to see the sharing key run cat /etc/fr24feed.ini, you can now exit the container.
Add the environment variable FR24FEED_FR24KEY with your sharing key.
| Environment Variable | Configuration property | Default value |
|---|---|---|
FR24FEED_RECEIVER | receiver | beast-tcp |
FR24FEED_FR24KEY | fr24key (required) | empty |
FR24FEED_HOST | host | 127.0.0.1:30005 |
FR24FEED_BS | bs | no |
FR24FEED_RAW | raw | no |
FR24FEED_LOGMODE | logmode | 1 |
FR24FEED_LOGPATH | logpath | /tmp |
FR24FEED_MLAT | mlat | yes |
FR24FEED_MLAT_DASH_WITHOUT_DASH_GPS | mlat-without-gps | yes |
Ex : -e "FR24FEED_FR24KEY=0123456789"
Add the environment variable ADSBEXCHANGE_UUID with a UUID generated by <[***]>.
In case of multiple receivers, please use a different UUID for each receiver.
Add the environment variable SERVICE_ENABLE_ADSBEXCHANGE and set it to true.
| Environment Variable | Configuration property | Default value |
|---|---|---|
SERVICE_ENABLE_ADSBEXCHANGE | enable this feed client | false |
ADSBEXCHANGE_UUID | uuid (required) | empty |
ADSBEXCHANGE_STATION_NAME | station name | empty |
ADSBEXCHANGE_MLAT | mlat | true |
Configure the MLAT coordinates so that adsbexchange MLAT can work. (see its own section below)
If you don't want to supply your exact coordinates, please set the ADSBEXCHANGE_MLAT environment variable to false. (you won't get MLAT results and won't contribute to MLAT)
Add the environment variable ADSBEXCHANGE_STATION_NAME, it will be used for the mlat map / sync status.
You can check that your MLAT is working correctly by searching for your station name here: <[***]>
(MLAT map marker is snapped to a 5 mile grid and then offset randomly to avoid stacking markers, the precise lat / lon for MLAT are not publicly accessible at adsbexchange)
The ADS-B Exchange Anywhere map will be available at: <[***]>
Ex : -e "SERVICE_ENABLE_ADSBEXCHANGE=true" -e "ADSBEXCHANGE_UUID=8398f51e-a61d-11ec-b909-0242ac120002" -e "ADSBEXCHANGE_STATION_NAME=MyStation"
Get your exact coordinates and altitude above sealevel in meters from one these websites:
It's important for MLAT accuracy that these aren't off by more than about 10 m / 30 ft.
| Environment Variable | Configuration property | Default value |
|---|---|---|
MLAT_EXACT_LAT | decimal latitude | empty |
MLAT_EXACT_LON | decimal longitude | empty |
MLAT_ALTITUDE_MSL_METERS | altitude above MSL in m | empty |
First-time users should obtain a PlaneFinder Share Code.
In order to obtain a PlaneFinder Share Code, we will start a temporary container running pfclient, which will run through a configuration wizard and generate a share code.
Run :
docker run -it --rm \ -p 30053:30053 \ -e "SERVICE_ENABLE_DUMP1090=false" \ -e "SERVICE_ENABLE_HTTP=false" \ -e "SERVICE_ENABLE_PIAWARE=false" \ -e "SERVICE_ENABLE_FR24FEED=false" \ thomx/fr24feed-piaware /planefinder/pfclient
Once the container has started, you should see a message such as:
text2020-04-11 06:45:25.823307 [-] We were unable to locate a configuration file and have entered configuration mode by default. Please visit: http://172.22.7.12:30053 to complete configuration.
At this point, open a web browser and go to <[***]>. Replace dockerhost with the IP address of your host running Docker. You won't be able to use the URL given in the log output, as the IP address given will be the private IP of the docker container.
In your browser, go through the configuration wizard. When finished, you'll be given a PlaneFinder Share Code. Save this in safe place.
You can now kill the container by pressing CTRL-C.
Add the environment variable SERVICE_ENABLE_PLANEFINDER and set it to true.
| Environment Variable | Configuration property | Default value |
|---|---|---|
PLANEFINDER_SHARECODE | generated share code (required) | empty |
Ex : -e "SERVICE_ENABLE_PLANEFINDER=true" -e "PLANEFINDER_SHARECODE=65dsfsd56f"
Note : you can add any property to either fr24feed or piaware configuration file by adding an environment variable starting with PIAWARE_... or FR24FEED_....
Example :
| Environment Variable | Configuration property | value | Configuration file |
|---|---|---|---|
FR24FEED_TEST=value | test | value | fr24feed.init |
FR24FEED_TEST_DASH_TEST=value2 | test-test | value2 | fr24feed.init |
PIAWARE_TEST=value | test | value | piaware.conf |
| Environment Variable | Default value | Description |
|---|---|---|
HTML_SITE_LAT | 45.0 | |
HTML_SITE_LON | 9.0 | |
HTML_SITE_NAME | My Radar Site | |
HTML_DEFAULT_TRACKER | FlightAware | Which flight tracker website to use by default. Possible values are FlightAware and Flightradar24 |
HTML_RECEIVER_STATS_PAGE_FLIGHTAWARE | empty | URL of your receiver's stats page on FlightAware. Usually [***] |
HTML_RECEIVER_STATS_PAGE_FLIGHTRADAR24 | empty | URL of your receiver's stats page on Flightradar24. Usually [***] |
HTML_FR24_FEEDER_STATUS_PAGE | empty | URL of your local FR24 Feeder Status page. Usually http:// |
DUMP1090_ADDITIONAL_ARGS | empty | Additial arguments for dump1090 e.g.: --json-location-accuracy 2 |
Ex : -e "HTML_SITE_NAME=My site"
| Environment Variable | Default value | Description |
|---|---|---|
SERVICE_ENABLE_IMPORT_OVER_NETCAT | false | Enable netcat forwarding the beast-output of a remote dump1090 server to the local dump1090 beast-input |
DUMP1090_LOCAL_PORT | empty | Must be the same port as specified as --net-bi-port in DUMP1090_ADDITIONAL_ARGS |
DUMP1090_REMOTE_HOST | empty | IP of remote dump1090 server |
DUMP1090_REMOTE_PORT | empty | Port of remote dump190 server specified as argument --net-bo-port on remote system |
WARNING: This kind of forwarding is using a lot of bandwidth and could be unstable in WiFi environments.
| Environment Variable | Default value | Description |
|---|---|---|
RTL_TCP_OVER_NETCAT | false | Use dump1090 in combination with netcat to feed data from rtl_tcp server. (Requires appox. 35-40Mbit/s). Example RTL_TCP command: ./rtl_tcp -a 0.0.0.0 -f 1090000000 -s 2400000 -p 30005 -P 28 -g -10 |
RTL_TCP_REMOTE_HOST | empty | IP of rtl_tcp server |
RTL_TCP_REMOTE_PORT | empty | Port of rtl_tcp server |
If you don't need this feature ignore this.
Create a panorama for your receiver location on [***]
| Environment Variable | Default value | Description |
|---|---|---|
PANORAMA_ID | Panorama id | |
PANORAMA_ALTS | 1000,10000 | Comma seperated list of altitudes in meter |
Note : the panorama id value correspond to the URL at the top of the panorama [***] altitudes are in meters, you can specify a list of altitudes.
Ex : -e "PANORAMA_ID=FRUXK2G7"
If you don't want to download the limit every time you bring up the container you can download http://www.heywhatsthat.com/api/upintheair.json?id=${PANORAMA_ID}&refraction=0.25&alts=${PANORAMA_ALTS} as upintheair.json and mount it in /usr/lib/fr24/public_html/upintheair.json.
If you don't need this feature ignore this.
If you provide an API key OWM layers will be available.
Create an account and get an API key on []
Be aware that OWM provides a free trier for its API, after some time you will have to pay.
See: []
| Environment Variable | Default value | Description |
|---|---|---|
LAYERS_OWM_API_KEY | Open Weather Map API Key |
Ex : -e "LAYERS_OWM_API_KEY=dsf1ds65f4d2f65g"
Clone this repo.
docker build .
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务