为什么需要 DDNS 和反向代理?

家里的 NAS、Home Assistant、Emby 等服务只能在内网访问,出门就断了。Lucky 解决两个问题:

  1. DDNS:家宽 IP 会变,自动更新域名解析,始终指向你家
  2. 反向代理:把多个内网服务通过不同域名/端口暴露出去,统一 HTTPS 入口

实际应用场景:

  • 🏠 外网访问飞牛 NAS 文件
  • 🎬 出门看 Emby 影视库
  • 🎵 LX Music 歌曲同步
  • 🏡 远程控制 Home Assistant
  • 📊 查看监控面板

技术架构

外网用户
    ↓
域名 xxx.1681588.xyz(阿里云 DNS)
    ↓
家庭宽带 IP(动态)
    ↓
路由器端口转发(8888 → NAS:8888)
    ↓
Lucky 反向代理
    ↓
┌─────────────┬─────────────┬─────────────┐
│ LX Music    │ Emby        │ 其他服务    │
│ :9527       │ :8096       │ :xxxx       │
└─────────────┴─────────────┴─────────────┘

部署步骤

第一步:创建项目目录

mkdir -p ~/docker/lucky
cd ~/docker/lucky

第二步:编写 docker-compose.yml

services:
  lucky:
    image: gdy666/lucky:latest
    container_name: lucky
    restart: unless-stopped
    ports:
      - "16601:16601"    # 管理面板
      - "8888:8888"      # 反向代理端口
    volumes:
      - ./config:/goodluck    # 配置持久化
    environment:
      - http_proxy=     # OrbStack 代理兼容
      - https_proxy=
      - ALL_PROXY=
    network_mode: bridge   # 必须用 bridge,host 模式不通

第三步:启动容器

docker compose up -d

第四步:访问管理面板

浏览器打开 http://你的NAS-IP:16601