Sign inSign up

ppppxp/easytier-uptime

By ppppxp

•Updated 18 days ago

Image
0

488

ppppxp/easytier-uptime repository overview

⁠EasyTierUptime

EasyTier 节点监控面板,基于 Flask + Vite 构建,支持 Docker 一键部署。

⁠特性

  • 实时显示 EasyTier 节点在线状态、延迟、流量
  • 30 秒自动采集间隔
  • 离线节点高亮显示,含最后在线时间
  • 企业微信机器人告警(节点离线/恢复)
  • 历史数据记录
  • 节点备注自定义

⁠快速开始

⁠前置条件
  • 宿主机已安装 Easytier⁠ 客户端
  • 宿主机已启动 Easytier 服务(监听 127.0.0.1:15888)
  • Docker 及 Docker Compose 已安装
⁠部署
# 创建数据目录
mkdir -p /www/Docker/data

# 创建 docker-compose 文件
cat > /www/Docker/docker-compose-easytier.yml <<'EOF'
services:
  app:
    container_name: easytier-uptime
    image: ppppxp/easytier-uptime:latest
    restart: unless-stopped
    network_mode: host
    volumes:
      - /usr/local/bin/easytier-cli:/usr/local/bin/easytier-cli:ro
      - ./data:/data
    environment:
      - WEB_PASSWORD=***
      - SECRET_KEY=***
      - CLI_PATH=/usr/local/bin/easytier-cli
      - PORT=8964
      - HOST=0.0.0.0
      - DEBUG=false
      - REFRESH_INTERVAL=30
      - DATA_DIR=/data
      - NOTES_FILE=/data/notes.json
      - HISTORY_FILE=/data/history_nodes.json
      - METRICS_DB=/data/metrics.db
      - METRICS_RETENTION_DAYS=30
      - NOTIFY_ENABLED=true
      - NOTIFY_COOLDOWN_MINUTES=15
      - NOTIFY_WECOM_WEBHOOK=https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=***
      - LOG_LEVEL=INFO
      - CORS_ORIGINS=*
      - TZ=Asia/Shanghai
    command: gunicorn -w 2 -b 0.0.0.0:8964 --timeout 120 --access-logfile - web_server:app
EOF

# 启动
docker compose -f docker-compose-easytier.yml up -d
⁠访问

打开浏览器访问:

http://<服务器IP>:8964

登录密码为上面配置的 WEB_PASSWORD。

⁠环境变量

变量说明默认值
WEB_PASSWORD前端登录密码必填
SECRET_KEYFlask 会话密钥必填
CLI_PATHeasytier-cli 路径/usr/local/bin/easytier-cli
PORT服务端口8964
HOST绑定地址0.0.0.0
REFRESH_INTERVAL采集间隔(秒)30
NOTIFY_ENABLED是否启用通知false
NOTIFY_COOLDOWN_MINUTES通知冷却时间(分钟)15
NOTIFY_WECOM_WEBHOOK企业微信机器人 Webhook空
LOG_LEVEL日志级别INFO
TZ时区Asia/Shanghai

⁠数据持久化

容器内数据存储在 /data,通过 volume 映射到宿主机 ./data,包含:

  • notes.json — 节点备注
  • history_nodes.json — 历史节点记录
  • metrics.db — 历史指标数据库

⁠常见问题

⁠1. 节点数为 0

检查宿主机 Easytier 服务是否已启动:

# 宿主机上执行
easytier-cli peer

有输出说明服务正常。然后检查容器内能否访问:

docker exec -it easytier-uptime python3 -c "import socket; s=socket.socket(); s.settimeout(2); s.connect(('127.0.0.1',15888)); print('OK'); s.close()"
⁠2. 容器无法启动

查看日志:

docker logs easytier-uptime --tail 50
⁠3. 端口冲突

如果宿主机 8964 端口被占用,修改 docker-compose-easytier.yml 中的 PORT 环境变量和 command 里的 -b 0.0.0.0:端口。

⁠更新

docker compose -f docker-compose-easytier.yml down
docker pull ppppxp/easytier-uptime:latest
docker compose -f docker-compose-easytier.yml up -d

⁠License

MIT

Tag summary

Content type

Image

Digest

sha256:8be313a9f…

Size

115.5 MB

Last updated

3 months ago

docker pull ppppxp/easytier-uptime