Sign inSign up

econome/caddy-dns

By econome

•Updated about 1 year ago

包含了DNSPod、Aliyun DNS和Cloudflare DNS插件的caddy2

Image
5

5.5K

econome/caddy-dns repository overview

⁠更新日志

2.10.0 替换dnspod插件为tencentcloud,caddy版本升级到2.10.0

⁠使用 Docker Compose 部署 Caddy 服务器

本文档提供了一步一步的指南,用于使用 Docker Compose 部署 Caddy 服务器。Caddy 是一个现代的Web服务器,可以轻松配置和自动管理TLS证书,非常适合托管网站和Web应用程序。

⁠步骤 1: 创建目录结构

首先,创建一个名为 "caddy" 的文件夹,用于存放所有相关文件和配置。在 "caddy" 文件夹内,创建以下子文件夹:

  • caddy/data: 用于存放Caddy服务器的数据文件。
  • caddy/config: 用于存放Caddy服务器的配置文件。

⁠步骤 2: 创建 Caddy 配置文件

在 "caddy" 文件夹内,创建一个名为 "Caddyfile" 的配置文件,用于定义Caddy服务器的行为和规则。

以下是示例配置,适用于家庭宽带没有80,443端口的情况下使用,您可以根据自己的需求进行修改:

# 设置监听端口
{
    http_port 8080
    https_port 8443
}

# 获取泛域名证书
*.xxxxxx.tk {
    tls {
        # 根据自己的DNS服务提供商配置
        dns dnspod {env.DNSPOD_TOKEN}
        # 或其他DNS服务提供商的配置,取消相应注释
        # dns alidns {
        #     access_key_id {env.ALIYUN_ACCESS_KEY_ID}
        #     access_key_secret {env.ALIYUN_ACCESS_KEY_SECRET}
        # }
        # dns cloudflare {env.CF_API_TOKEN}
    }

    # 为不同子域名配置反向代理规则
    @mp host mp.xxxxxx.tk 
    handle @mp {
        encode gzip
        reverse_proxy 192.168.50.100:3004
    }
  
    # 为pve子域名配置反向代理规则(适用HTTPS)
    @pve host pve.xxxxx.tk
    handle @pve {
        reverse_proxy 192.168.50.2:8006 {
            transport http {
                tls_insecure_skip_verify
            }
        }
    }

    # 更多服务可以复制上面的规则继续添加

    # 未处理的域名请求将被中止
    handle {
        abort
    }
}

确保根据您的DNS服务提供商取消或保留相关注释,并填写相应的信息。

⁠步骤 3: 创建 Docker Compose 配置文件

在 "caddy" 文件夹内,创建一个名为 "docker-compose.yml" 的Docker Compose配置文件,用于定义Caddy容器的设置。以下是示例配置:

version: '3'
services:
  caddy:
    image: econome/caddy-dns
    ports:
      - "8080:8080"
      - "8443:8443"
      - "8443:8443/udp"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ./data:/data
      - ./config:/config
    environment:
      # 根据自己使用的DNS服务提供商配置,取消相应注释并填写信息
      # dnspod配置
      #- DNSPOD_TOKEN=id,token
      # 阿里云dns配置
      #- ALIYUN_ACCESS_KEY_ID=
      #- ALIYUN_ACCESS_KEY_SECRET=
      # CloudFlare配置
      #- CF_API_TOKEN=

确保根据您的DNS服务提供商取消或保留相关注释,并填写相应的信息。

⁠步骤 4: 启动 Caddy 服务器

在 "caddy" 文件夹内,使用以下命令启动Caddy服务器容器:

docker-compose up -d

这将启动Caddy服务器,根据您的Caddyfile配置进行反向代理和自动获取泛域名证书。确保您的DNS服务提供商配置正确,并且您的域名指向了正确的IP地址。

现在,您已经成功部署了Caddy服务器,可以开始使用它提供HTTP和HTTPS服务。根据您的需求,您可以进一步自定义Caddy配置。祝您顺利完成部署!


⁠使用 Docker CLI 部署 Caddy 服务器

本文档提供了一步一步的指南,用于使用 Docker CLI(命令行界面)部署 Caddy 服务器。Caddy 是一个现代的 Web 服务器,具有自动管理 TLS 证书和简化配置的功能,非常适合托管网站和 Web 应用程序。

⁠步骤 1: 准备目录结构

首先,创建一个名为 "caddy" 的文件夹,用于存放所有相关文件和配置。在 "caddy" 文件夹内,创建以下子文件夹:

  • caddy/data: 用于存放 Caddy 服务器的数据文件。
  • caddy/config: 用于存放 Caddy 服务器的配置文件。

⁠步骤 2: 创建 Caddy 配置文件

在 "caddy" 文件夹内,创建一个名为 "Caddyfile" 的配置文件,用于定义 Caddy 服务器的行为和规则。以下是示例配置,您可以根据自己的需求进行修改:

# 设置监听端口
{
    http_port 8080
    https_port 8443
}

# 获取泛域名证书
*.xxxxxx.tk {
    tls {
        # 根据自己的 DNS 服务提供商配置
        dns dnspod {env.DNSPOD_TOKEN}
        # 或其他 DNS 服务提供商的配置,取消相应注释
        # dns alidns {
        #     access_key_id {env.ALIYUN_ACCESS_KEY_ID}
        #     access_key_secret {env.ALIYUN_ACCESS_KEY_SECRET}
        # }
        # dns cloudflare {env.CF_API_TOKEN}
    }

    # 为不同子域名配置反向代理规则
    @mp host mp.xxxxxx.tk 
    handle @mp {
        encode gzip
        reverse_proxy 192.168.50.100:3004
    }
  
    # 为pve子域名配置反向代理规则(适用 HTTPS)
    @pve host pve.xxxxx.tk
    handle @pve {
        reverse_proxy 192.168.50.2:8006 {
            transport http {
                tls_insecure_skip_verify
            }
        }
    }

    # 更多服务可以复制上面的规则继续添加

    # 未处理的域名请求将被中止
    handle {
        abort
    }
}

确保根据您的 DNS 服务提供商取消或保留相关注释,并填写相应的信息。

⁠步骤 3: 启动 Caddy 服务器容器

使用 Docker CLI,可以通过运行以下命令启动 Caddy 服务器容器:

docker run -d \
    --name caddy \
    -p 8080:8080 \
    -p 8443:8443 \
    -p 8443:8443/udp \
    -v $(pwd)/Caddyfile:/etc/caddy/Caddyfile \
    -v $(pwd)/data:/data \
    -v $(pwd)/config:/config \
    -e DNSPOD_TOKEN=id,token \
    econome/caddy-dns

这将启动 Caddy 服务器,并根据您的 Caddyfile 配置进行反向代理和自动获取泛域名证书。

确保您的 DNS 服务提供商配置正确,并且您的域名指向了正确的 IP 地址。

现在,您已经成功部署了 Caddy 服务器,可以开始使用它提供 HTTP 和 HTTPS 服务。根据您的需求,您可以进一步自定义 Caddy 配置。祝您顺利完成部署!

Tag summary

Content type

Image

Digest

sha256:09e052ba7…

Size

32.5 MB

Last updated

about 1 year ago

docker pull econome/caddy-dns