freenom-automatic-renewal(免费域名自动续期)

老司机直奔主题

如何部署?

docker run -d —name freenom —restart always -v $(pwd):/conf -v $(pwd)/logs:/app/logs rouroux/freenom-automatic-renewal
或者,如果你想自定义脚本执行时间,则命令如下

docker run -d —name freenom —restart always -v $(pwd):/conf -v $(pwd)/logs:/app/logs -e RUN_AT=”11:24” rouroux/freenom-automatic-renewal
如何升级到最新版或者重新部署呢?

在.env所在目录,执行docker rm -f freenom删除现有容器,然后再执行 docker rmi -f rouroux/freenom-automatic-renewal 删除旧的镜像,然后再执行上面的 docker run -d —name freenom —restart always -v $(pwd):/conf -v $(pwd)/logs:/app/logs rouroux/freenom-automatic-renewal 重新部署即可,这样部署后就是最新的代码了。当然,新版对应的.env文件可能有变动,不必担心,程序会自动更新.env文件内容,并将已有的配置迁移过去。

一句话操作,即在.env文件所在目录下执行以下命令,即可完成更新升级:

docker rm -f freenom && docker rmi -f rouroux/freenom-automatic-renewal && docker run -d —name freenom —restart always -v $(pwd):/conf -v $(pwd)/logs:/app/logs rouroux/freenom-automatic-renewal
🐳 新司机通过 Docker 部署详细教程
如果你有自己的服务器,这是最推荐的部署方式。

Docker 仓库地址为: https://hub.docker.com/r/rouroux/freenom-automatic-renewal 。 此镜像支持的架构为linux/amd64,linux/arm64,linux/ppc64le,linux/s390x,linux/386,linux/arm/v7,linux/arm/v6, 理论上支持群晖 、威联通、树莓派以及各种类型的VPS。

1、安装 Docker
1.1 以 root 用户登录,执行一键脚本安装 Docker
升级源并安装软件(下面两行命令二选一,根据你自己的系统)

Debian / Ubuntu

apt-get update && apt-get install -y wget vim
CentOS

yum update && yum install -y wget vim
执行此命令等候自动安装 Docker

wget -qO- get.docker.com | bash
说明:请使用 KVM 架构的 VPS,OpenVZ 架构的 VPS 不支持安装 Docker,另外 CentOS 8 不支持用此脚本来安装 Docker。 更多关于 Docker 安装的内容参考 Docker 官方安装指南 。

1.2 针对 Docker 执行以下命令
启动 Docker 服务

systemctl start docker
查看 Docker 运行状态

systemctl status docker
将 Docker 服务加入开机自启动

systemctl enable docker
2、通过 Docker 部署域名续期脚本
2.1 用 Docker 创建并启动容器
命令如下

docker run -d —name freenom —restart always -v $(pwd):/conf -v $(pwd)/logs:/app/logs rouroux/freenom-automatic-renewal
或者,如果你想自定义脚本执行时间,则命令如下

docker run -d —name freenom —restart always -v $(pwd):/conf -v $(pwd)/logs:/app/logs -e RUN_AT=”11:24” rouroux/freenom-automatic-renewal
上面这条命令只比上上条命令多了个 -e RUN_AT=”11:24”,其中11:24表示在北京时间每天的 11:24 执行续期任务,你可以自定义这个时间。 这里的RUN_AT参数同时也支持 CRON 命令里的时间形式,比如, -e RUN_AT=”9 11 *”,表示每天北京时间 11:09 执行续期任务, 如果你不想每天执行任务,只想隔几天执行,只用修改RUN_AT的值即可。

注意:不推荐自定义脚本执行时间。因为你可能跟很多人定义的是同一个时间点,这样可能导致所有人都是同一时间向 Freenom 的服务器发起请求, 使得 Freenom 无法稳定提供服务。而如果你不自定义时间,程序会自动指定北京时间 06 ~ 23 点全时段随机的一个时间点作为执行时间, 每次重启容器都会自动重新指定。

点我查看上方 Docker 命令的参数解释
至此,你的自动续期容器就跑起来了,执行ls -a后你就可以看到在你的当前目录下,有一个.env文件和一个logs目录,logs目录里面存放的是程序日志, 而.env则是配置文件,现在直接执行vim .env 将.env文件里的所有配置项改为你自己的并保存即可。然后重启容器,如果配置正确的话,便很快可以收到相关邮件。

点我查看 .env 文件中部分配置项的含义
如何验证你的配置是否正确呢?

修改并保存.env文件后,执行docker restart freenom重启容器,等待 5 秒钟左右,然后执行docker logs freenom查看输出内容, 观察输出内容中有执行成功 字样,则表示配置无误。如果你还来不及配置送信邮箱等内容,可先停用邮件功能。

如何升级到最新版或者重新部署呢?

在.env所在目录,执行docker rm -f freenom删除现有容器,然后再执行 docker rmi -f rouroux/freenom-automatic-renewal 删除旧的镜像,然后再执行上面的 docker run -d —name freenom —restart always -v $(pwd):/conf -v $(pwd)/logs:/app/logs rouroux/freenom-automatic-renewal 重新部署即可,这样部署后就是最新的代码了。当然,新版对应的.env文件可能有变动,不必担心,程序会自动更新.env文件内容,并将已有的配置迁移过去。

一句话操作,即在.env文件所在目录下执行以下命令,即可完成更新升级:

docker rm -f freenom && docker rmi -f rouroux/freenom-automatic-renewal && docker run -d —name freenom —restart always -v $(pwd):/conf -v $(pwd)/logs:/app/logs rouroux/freenom-automatic-renewal
2.2 后期容器管理以及 Docker 常用命令
查看容器在线状态及大小

docker ps -as
查看容器的运行输出日志

docker logs freenom
重新启动容器

docker restart freenom
停止容器的运行

docker stop freenom
移除容器

docker rm -f freenom
查看 docker 容器占用 CPU,内存等信息

docker stats —no-stream
查看 Docker 安装版本等信息

docker version
重启 Docker(非容器)

systemctl restart docker
有关容器部署的内容结束。

更多参考原始项目说明

支持环境:
linux/amd64、linux/arm/v6、linux/arm/v7、linux/arm64、linux/386、linux/ppc64le、linux/s390x

(VPS、群晖、各种派应该都行)

最近一次更新:
2022年11月15日

基于 luolongfei/freenom v0.5.1 制作镜像
更早的更新记录就不写了…

鸣谢:
luolongfei/freenom PHP自动续期脚本项目地址

最初原始项目还没有docker支持,才有了此镜像,现在原始项目已经支持了docker。本镜像随缘更新。

Thanks for free JetBrains Open Source license