
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Please see:
https://github.com/ArthurMitchell42/Amazon_AWS_DDNS_Client
https://github.com/ArthurMitchell42/AWS_Route53_DDNS_Docker
Currently supports AMD64 (developed on windows and the Synology DS918+ NAS), ARM32 V7 (armhf) (suitable for running on docker under Raspberry PI 32-bit OS) & ARM64 (ARM64V8) (suitable for running on docker under Raspberry PI with a 64-bit OS such as Raspberry PI OS 64-bit and Ubuntu 64-bit)
| Architecture | Tag |
|---|---|
| AMD64 | latest-amd64 For PC and Synology DSM |
| ARM32V7 (armhf 32-bit) | latest-arm32v7 For Raspberry PI with a 32-bit OS |
| ARM64V8 (ARM64) | arm64v8-latest. For Raspberry PI with a 64-bit OS (RaspberryPI OS 64-bit or Ubuntu 64-bit |
| Date | Version | Notes |
|---|---|---|
| 27/06/2023 | 2.2.1.0 |
|
| 15/10/2022 | 2.1.0.0 |
|
| 03/06/2022 | 2.0.0.3 |
|
| 8/7/21 | 2.0.0.2 |
|
Please see this note: https://docs.linuxserver.io/faq#libseccomp
If you wish to use the ARM32V7 image on a 32-bit Raspberry PI OS you have 2 options:
This should instantly fix this, and any other "funnies" you are having with docker containers.
The following steps should be taken when setting up this container:
A text file named AWS_Route53_DDNS.ini should be created in the /config mapped directory. This sets all the options for the program.
The log file is created in the same directory with the name AWS_Route53_DDNS.log and this file will rotate when it reaches 100KB with up to 5 logs named AWS_Route53_DDNS.log.1, AWS_Route53_DDNS.log.2 etc.
[Domains] yourdomain.com = home.yourdomain.com yourdomain.eu = yourdomain.eu yourdomain.click = yourdomain.click[Credentials] ; See notes below on the four methods of providing credentials ;AWS_Access_Key_ID = AAAAAAAAAAAAAAAAAAAAAA ;AWS_Secret_Access_Key = BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB ;AWS_Credential_Profile = route53_user ; [Defaults] Update_Interval = 3600 Exception_Interval = 300 ; Log_Level options are: Debug Info Warning Error Critical Log_Level_Logfile = Info Log_Level_Console = Warning TTL = 3211 Sleep_Time_Initial_Authorisation = 1 Sleep_Time_Inter_Domain = 1 WebHook_Alive = 'HTTP://x.x.x.x/aaaaaaaaa' WebHook_Alive1 = 'HTTP://x.x.x.x/aaaaaaaaa' WebHook_Alive2 = 'HTTP://x.x.x.x/aaaaaaaaa' WebHook_Alert = 'HTTP://x.x.x.x/aaaaaaaaa' WebHook_Alert1 = 'HTTP://x.x.x.x/aaaaaaaaa'
Please note, a configuration issue resulting in any domain record having an issue updating will cause the docker container to be be marked as unhealthy. Be mindful of this if your system is set to restart a container that marks itself as unhealthy since the solution may be to check the log and find any logical issues in the AWS configuration which might have caused this state rather than just restarting the container.
The parameters for the configuration file are as follows.
| Parameter | Status | Default | Function |
|---|---|---|---|
| [Domains] Section | Required | Any (resonable) number of lines can be included here. | |
| Hosted zone name | The text name of the hosted zone (also called the domain name) without the trailing dot '.' that is often used to demark them. | ||
| Record name | This is the value for the corrosponding hosted zone (domain) name. See below for options on this. | ||
| [Defaults] Section | Optional | ||
| Update_Interval | Optional | 3600 | The interval between checking the external IP to see if the address has changed. |
| Exception_Interval | Optional | Update_Interval value | The checking interval after an error in obtaining the external IP or in obtailing the AWS hosted domain connection. You may wish to set this value lower than the usual update interval to resume correct mapping after a disruption to the IP address. |
| Log_Level_Logfile | Optional | Warning | Sets the detail and level for the file stored in the /config mapping |
| Log_Level_Console | Optional | Error | Sets the detail and level for the console (docker log) |
| Logging levels options are :- Critical Error Warning Info Debug | |||
| TTL | Optional | 3600 | The time-to-live value for your entries in seconds. 1-2 hours is usual, less than 5 minutes is not recomended. Values below 60 are ignored and set to 60 seconds. |
| Sleep_Time_Initial_Authorisation | Optional | 1 | The time to pause before first domain changes after start up. Not normally required |
| Sleep_Time_Inter_Domain | Optional | 1 | The time to pause between consecutive domain interrogations. Not normally required |
| WebHook_Alive WebHook_Alive1 WebHook_Alive2 . WebHook_Alive9 | Optional | - | Each given entry is called when the update of all records was successful. There can be up to 10 entries, starting with WebHook_Alive, then WebHook_Alive1 and so on until WebHook_Alive9. Entries need not be contiguous and so can be commented out as required. |
| WebHook_Alert WebHook_Alert1 WebHook_Alert2 . WebHook_Alert9 | Optional | - | Each given entry is called when the update of any record was unsuccessful. There can be up to 10 entries, starting with WebHook_Alert, then WebHook_Alert1 and so on until WebHook_Alert9. Entries need not be contiguous and so can be commented out as required. |
| [Credentials] | Optional | - | Only required as below. |
| AWS_Access_Key_ID AWS_Secret_Access_Key | Optional | - | The second option for providing AWS credentials. (See below) |
| AWS_Credential_Profile | Optional | - | Use only when using the AWS credentials file option for providing AWS credentials. |
The example file above shows two main options for configuring an address. The first updates a specific A record in the hosted domain so that home.yourdomain.com is given the external IP address. This is the most simple case and you must create an A-Record with the name home.yourdomain.com in AWS before it can be updated.
The second and third lines show a more flexible option that would allow you to create multiple sub-domain mappings to resources within your network using reverse proxy. To make this work you must create an A-Record within you hosted zone (domain) called yourdomain.click and then a second A-Record called *.yourdomain.click that has a value of yourdomain.click. This will cause any DNS request for sub-domains of this address such as voip.yourdomain.click or sonarr.yourdomain.click to be mapped through to the IP address set up in the yourdomain.click A-Record.
The AWS authorisation credentials can be provided in one of 4 methods.
This method is the easiest to get started. It does mean the credentials could be exposed through backups or to users who have access to change the setup however.
This is also quick and easy but has the draw back that anyone with access to the docker system via a management tool such as Portainer can access the credentials.
This is the most secure method of providing credentials.
This method is ideal if you want to have a single file with multiple credentials that is shared between multiple applications such as S3 or SES services. Use the AWS_Credential_Profile to target the correct profile.
Note In line with the principles of docker secrets the contents of the files should be just the string that forms the key or secret. The app will perform minor cleaning of the contents to remove white space and superfluous returns/line feeds however.
Create you container locally by either:
docker run -d \
--name AWS_Route53_DDNS \
-v /path/to/config:/config \
-e AWS_ACCESS_KEY_ID=your-access-ID \
-e AWS_SECRET_ACCESS_KEY=your-key-secret \
-e TZ=Europe/London \
--restart unless-stopped
kronos443/aws-route53-ddns
docker run -d \
--name AWS_Route53_DDNS \
-v /path/to/config:/config \
-e AWS_ACCESS_KEY_ID_FILE=/run/secrets/aws-access-key-id \
-e AWS_SECRET_ACCESS_KEY_FILE=/run/secrets/aws-secret-access-key \
-e TZ=Europe/London \
--restart unless-stopped
kronos443/aws-route53-ddns
---
version: "2.1"
services:
aws-route53-ddns:
image: kronos443/aws-route53-ddns:amd64-latest
container_name: AWS_Route53_DDNS
environment:
- TZ=Europe/London
volumes:
- /path/to/config:/config
restart: unless-stopped
Option 2
---
version: "2.1"
services:
aws-route53-ddns:
image: kronos443/aws-route53-ddns:amd64-latest
container_name: AWS_Route53_DDNS
environment:
- TZ=Europe/London
- AWS_ACCESS_KEY_ID=your-access-ID
- AWS_SECRET_ACCESS_KEY=your-key-secret
volumes:
- /path/to/config:/config
restart: unless-stopped
Option 3
---
version: "2.1"
services:
aws-route53-ddns:
image: kronos443/aws-route53-ddns:amd64-latest
container_name: AWS_Route53_DDNS
environment:
- TZ=Europe/London
- AWS_ACCESS_KEY_ID_FILE=/run/secrets/your-access-id-file
- AWS_SECRET_ACCESS_KEY_FILE=/run/secrets/your-key-secret-file
volumes:
- /path/to/config:/config
restart: unless-stopped
To run the container on a Synology NAS:
The parameters are described below.
| Parameter | Function |
|---|---|
| -v /path/to/config:/config | The directory on your host that is shared with the container. Place your AWS_Route53_DDNS.ini file here. Log files will also be written here. |
| -e AWS_ACCESS_KEY_ID=your-access-ID | The access key string generated by you on AWS IAM |
| -e AWS_SECRET_ACCESS_KEY=your-key-secret | The secret code for the ID, generated by you on AWS IAM |
| -e AWS_ACCESS_KEY_ID_FILE=/run/secrets/your-access-id-file | The docker secrets file containing access key string generated by you on AWS IAM |
| -e AWS_SECRET_ACCESS_KEY_FILE=/run/secrets/your-key-secret-file | The docker secrets file containing the secret code for the ID, generated by you on AWS IAM |
| TZ=Europe/London | Time zone, e.g. Europe/London optional but means the log times will be in the local timezone rather than UT |
If you find this container useful then please *** buying me a coffee by following this link or scanning the QR below. :)
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务