谷歌云caddy改用docker-compose安装,以及部署服务更新。

1. docker-compose.yml文件

cat > docker-compose.yml <<EOF
services:
  caddy:
    image: caddy:latest
    container_name: caddy
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile
      - ./caddy_data:/data 
    restart: unless-stopped

  # 哪吒面板服务
  nezha:
    image: ghcr.io/nezhahq/nezha:latest
    container_name: nezha
    ports:
      - "8008:8008"
    volumes:
      - ./nezha_data:/dashboard/data 
    restart: unless-stopped

   # openlist服务  
  openlist:
    image: openlistteam/openlist:latest
    container_name: openlist
    ports:
      - "5244:5244"
    environment:
      - TZ=Asia/Shanghai
      - OPENLIST_ADMIN_PASSWORD=xxsky1127 # 请务必修改
    volumes:
      - ./oplist_data:/opt/openlist/data 
    restart: unless-stopped
  
  # Typecho 博客服务
  typecho:  
    image: joyqi/typecho:nightly-php8.2-apache  # 官方 Apache 镜像
    container_name: typecho
    ports:
      - "8383:80"  # 宿主机 8080 -> 容器 80
    environment:
      TZ: Asia/Shanghai  # 设置时区为上海
    volumes:
      - ./typecho/app/usr:/app/usr  # 当前目录存放 Typecho 文件
    depends_on:
      - db  # 依赖数据库
    restart: always  # 自动重启策略

  # 数据库服务
  db:  
    image: mariadb:10.6  # MariaDB 镜像
    container_name: typecho-db
    environment:
      MYSQL_ROOT_PASSWORD: xxsky1127  # 数据库 root 密码(请修改)
      MYSQL_DATABASE: typecho  # 默认数据库
      MYSQL_USER: typecho  # 数据库用户
      MYSQL_PASSWORD: xxsky1127  # 用户密码(请修改)
      TZ: Asia/Shanghai  # 时区
    volumes:
      - ./db:/var/lib/mysql  # 数据库数据存放当前目录
    restart: always

networks:
  default:
    name: app_network
EOF

2. Caddyfile文件

cat > Caddyfile <<EOF
{
    # 使用 Google Trust Services (GTS)
    acme_ca https://dv.acme-v02.api.pki.goog/directory
    acme_eab {
        key_id b33a63ed1f543dc239aeb8ee19968fa4
        mac_key da4XKFaLRa9-oURHGEB8yf2i7rawv0ozDJK99nEkYbkDJdkBAR-fGWmdSLz4EpUtAHUq4ADNFC53EgKhKxLkBg
    }
    email xuhxjxhk@gmail.com
}

# 哪吒面板的反向代理配置
mb.hxjx.hidns.co {
    reverse_proxy nezha:8008
}

# 哪吒面板的反向代理配置2
nzha.cc.cd {
    reverse_proxy nezha:8008
}

# Openlist 的反向代理配置
oplist.cc.cd {
    reverse_proxy openlist5244
}

# Openlist 的反向代理配置2
oplist.hxjx.hidns.co {
    reverse_proxy openlist:5244
}

# Typecho博客的反向代理配置
tych.cc.cd {
    reverse_proxy typecho:80
}

# Typecho博客的反向代理配置2
tych.hxjx.hidns.co {
    reverse_proxy typecho:80
}
EOF

3. 获取谷歌证书的Key

gcloud beta publicca external-account-keys create

获取keyId和b64MacKey后修改Caddyfile里id和key。

4. 常用命令

4.1 重启服务:

docker compose restart caddy

4.2 查看日志:

docker compose logs -f --tail=100 caddy

查看最近100条记录

4.3 停止服务

docker compose down

4.4 删除数据卷

rm -rf ./caddy_data  # 这里换成你实际映射的文件夹名字

4.5 重启服务

docker compose up -d

4.6 查看列表

docker compose ps

标签: none

添加新评论