Sign inSign up

econome/wake-on-lan-web

By econome

•Updated about 1 year ago

网络唤醒web端

Image
0

1.3K

econome/wake-on-lan-web repository overview

⁠Wake-on-LAN Web应用

一个基于Flask的网络唤醒(Wake-on-LAN)Web应用,支持PWA功能,可以方便地管理和唤醒网络中的设备。

⁠功能特性

  • 🌐 Web界面管理设备
  • 📱 PWA支持,可安装到手机桌面
  • 🔍 设备状态实时监控
  • 📝 设备历史记录管理
  • 🎯 一键唤醒设备
  • 📊 设备在线状态检测
⁠方法一:Docker Compose部署(推荐)
  1. 准备环境:
# 创建配置目录
mkdir data logs && touch history.json
# 创建compose文件
version: '3.8'

services:
  wake-on-lan:
    build: .
    image: econome/wake-on-lan-web:latest
    container_name: wake-on-lan
    restart: unless-stopped
    # Windows上使用bridge网络模式而不是host模式
    # network_mode: host
    volumes:
      - ./history.json:/app/history.json
      - ./data:/app/data
      - ./logs:/app/logs
    environment:
      - FLASK_ENV=production
      - FLASK_HOST=0.0.0.0
      - FLASK_PORT=8888
      - FLASK_DEBUG=false
      - SECRET_KEY=agTkNAghGCqt6O
      # 登录验证配置
      - LOGIN_PASSWORD=admin123
      - SESSION_TIMEOUT=3600
      # 数据文件配置
      - HISTORY_FILE=/app/history.json
      # 网络超时配置(秒)
      - PING_TIMEOUT=3
      - ARP_TIMEOUT=10
      # 自动状态检查间隔(秒)
      - AUTO_CHECK_INTERVAL=60
      # 日志配置
      - LOG_LEVEL=INFO
      - LOG_FILE=/app/logs/wake-on-lan.log
      # 安全配置
      # - ALLOWED_HOSTS=192.168.1.100,192.168.1.101

    ports:
      - "8888:8888"
    # 健康检查
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:8888/"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s
    # 如果需要特权模式来发送网络包,取消下面的注释
    # privileged: true
  1. 启动应用:
docker-compose up -d

⁠访问应用

部署完成后,通过以下地址访问:

  • 本地访问:http://NAS_IP:8888
  • 局域网访问:http://NAS_IP:8888

⁠配置说明

  • 应用默认监听所有网络接口(0.0.0.0:8888)
  • 设备历史记录保存在 history.json 文件中
  • 支持自动设备状态检测

⁠支持的NAS系统

  • ✅ Synology DSM
  • ✅ QNAP QTS
  • ✅ TrueNAS
  • ✅ OpenMediaVault
  • ✅ 其他支持Docker的Linux NAS
⁠使用Docker Compose管理
# 启动服务
docker-compose up -d

# 停止服务
docker-compose down

# 查看日志
docker-compose logs -f

# 重启服务
docker-compose restart

⁠配置说明

⁠环境变量配置
  • FLASK_HOST: 监听地址(默认: 0.0.0.0)
  • FLASK_PORT: 监听端口(默认: 5000)
  • FLASK_DEBUG: 调试模式(默认: false)
  • HISTORY_FILE: 设备历史文件路径
  • LOG_LEVEL: 日志级别(INFO/DEBUG/WARNING/ERROR)
⁠网络配置
  • 应用默认使用 --network host 模式确保WOL功能正常
  • 防火墙需要开放配置的端口(默认8888)
  • 支持通过环境变量自定义端口
⁠常见问题
  1. 无法发送WOL包

    • 确保使用 --network host 网络模式
    • 检查目标设备WOL功能是否启用
    • 验证MAC地址格式正确
  2. 无法访问Web界面

    • 检查防火墙设置
    • 确认端口未被占用
    • 查看容器/服务状态
  3. 设备状态检测失败

    • 确保NAS与目标设备在同一网段
    • 检查网络连通性
    • 查看应用日志
  4. Docker构建失败

    • 使用备用Dockerfile
    • 检查网络连接
    • 查看构建日志
⁠日志查看
# Docker日志
docker logs wake-on-lan

# 应用日志文件
tail -f logs/wake-on-lan.log

# 系统服务日志
journalctl -u wake-on-lan -f

# 构建日志
docker-compose logs --tail 50

⁠安全建议

  1. 更改默认端口
  2. 设置反向代理和HTTPS
  3. 配置防火墙规则
  4. 使用VPN访问
  5. 定期更新应用

⁠注意事项

  • 确保NAS与目标设备在同一局域网内
  • 目标设备需要支持并启用Wake-on-LAN功能
  • 建议在路由器上设置端口转发以支持远程访问
  • 某些NAS系统可能需要特殊配置才能发送WOL包

Tag summary

Content type

Image

Digest

sha256:610292ed8…

Size

49.3 MB

Last updated

about 1 year ago

docker pull econome/wake-on-lan-web