wahyd4 / aria2-ariang-x-docker-compose

Docker compose files for Aria2+ AriaNg+ filerun/ Nextcloud/ h5ai + Plex. 图形化BT,磁力,离线下载,文件管理,播放,投屏
1.79k stars 281 forks source link

让 aria2 和 caddy 可以共享 HTTPS 证书 #24

Closed wahyd4 closed 5 years ago

cz-dot commented 6 years ago

emmm我知道怎么手动解决这个问题,但是每3个月就得重新复制一下 首先docker ps找到 对应的container id 然后运行以下命令

docker cp [CONTAINERID]:/root/.caddy/acme/acme-v01.api.letsencrypt.org/sites/[DOMAIN]/[DOMAIN].crt [/some_folder in docker-compose.yml]
docker cp [CONTAINERID]:/root/.caddy/acme/acme-v01.api.letsencrypt.org/sites/[DOMAIN]/[DOMAIN].key [/some_folder in docker-compose.yml]
mv [DOMAIN].crt aria2.crt
mv [DOMAIN].key aria2.key

中括号的部分替换为你自己的情况就好了 这样就是把caddy的证书复制出来而已,不过一旦过期就需要重新复制

wahyd4 commented 6 years ago

如果能写个bash 脚本自动做这件事就挺好了。因为caddy 是可以自动更新证书的。

cz-dot commented 6 years ago

那可以这样,用正则表达式匹配出来container id,DOMAIN的话就读docker-compose的那个配置文件,就可以当成bash脚本用了(我只是写了filerun的那个,别的没用欸)

docker cp $(docker ps | grep -o -E "[0-9,a-z]+[\ ]+wahyd4/aria2-ui:filerun" | grep -o -E "^[0-9,a-z]+"):/root/.caddy/acme/acme-v01.api.letsencrypt.org/sites/[DOMAIN]/[DOMAIN].crt [/some_folder in docker-compose.yml]
docker cp $(docker ps | grep -o -E "[0-9,a-z]+[\ ]+wahyd4/aria2-ui:filerun" | grep -o -E "^[0-9,a-z]+"):/root/.caddy/acme/acme-v01.api.letsencrypt.org/sites/[DOMAIN]/[DOMAIN].key [/some_folder in docker-compose.yml]
mv [DOMAIN].crt aria2.crt
mv [DOMAIN].key aria2.key
wahyd4 commented 6 years ago

你可以提个pull request,如果写个script栽docker里面运行的话

On Thu, 9 Aug 2018 at 7:54 pm, 格莱 notifications@github.com wrote:

那可以这样,用正则表达式匹配出来container id,DOMAIN的话就读docker-compose的那个配置文件,就可以当成bash脚本用了(我只是写了filerun的那个,别的没用欸)

docker cp $(docker ps | grep -o -E "[0-9,a-z]+[\ ]+wahyd4/aria2-ui:filerun" | grep -o -E "^[0-9,a-z]+"):/root/.caddy/acme/acme-v01.api.letsencrypt.org/sites/[DOMAIN]/[DOMAIN].crt http://acme-v01.api.letsencrypt.org/sites/%5BDOMAIN%5D/%5BDOMAIN%5D.crt /root/cert docker cp $(docker ps | grep -o -E "[0-9,a-z]+[\ ]+wahyd4/aria2-ui:filerun" | grep -o -E "^[0-9,a-z]+"):/root/.caddy/acme/acme-v01.api.letsencrypt.org/sites/[DOMAIN]/[DOMAIN].key http://acme-v01.api.letsencrypt.org/sites/%5BDOMAIN%5D/%5BDOMAIN%5D.key /root/cert mv [DOMAIN].crt aria2.crt mv [DOMAIN].key aria2.key

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/wahyd4/aria2-ariang-x-docker-compose/issues/24#issuecomment-411703876, or mute the thread https://github.com/notifications/unsubscribe-auth/AAzD4E8_Z9ER7GgVjx2H4xpNLp1yjkr_ks5uPAbtgaJpZM4RL1xZ .

cz-dot commented 6 years ago

这个其实不是在docker里面运行的,是下面这部分,设置成自己的证书,然后再把docker里面catty的证书拷贝到下面那个 /some_folder 的意思,所以我可能就提交一个这页markdown的pull request,不是很知道怎么能定时自动运行那个bash之类的...

使用你自己的 SSL 证书来运行 Aria2

在相应的 docker-compose.yaml中, h5ai 或者 nextcloud 服务下的volumes 属性下挂在新的 volume 目录:

volumes:

wahyd4 commented 6 years ago

我知道你现在这个是在docker外运行的。现在这样就别提pull request了吧,手动的步骤就在issue里面就好了🤝 On Thu, 9 Aug 2018 at 8:05 pm, 格莱 notifications@github.com wrote:

这个其实不是在docker里面运行的,是下面这部分,设置成自己的证书,然后再把docker里面catty的证书拷贝到下面那个 /some_folder 的意思,所以我可能就提交一个这页markdown的pull request,不是很知道怎么能定时自动运行那个bash之类的... 使用你自己的 SSL 证书来运行 Aria2

在相应的 docker-compose.yaml中, h5ai 或者 nextcloud 服务下的volumes 属性下挂在新的 volume 目录:

volumes:

  • /some_folder:/root/conf/key #存放你自己的 certificate 和 key 的目录, 将 some_folder 修改为你自己的目录。

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/wahyd4/aria2-ariang-x-docker-compose/issues/24#issuecomment-411706631, or mute the thread https://github.com/notifications/unsubscribe-auth/AAzD4GuVUm0RKfrOBFA0o-g2ifhmJpCJks5uPAlagaJpZM4RL1xZ .

wahyd4 commented 5 years ago

Hi @zhouchang29, the new wahyd4/aria2-ui:latest docker image only expose 80 port now, so it's kind of like both of them are sharing the same SSL. I would call it a workaround.

You can try it, I guess there won't have any further updates about this, so I will close this issue now.