Sign inSign up

onerecord/eagle-eye

By onerecord

•Updated 3 months ago

鹰眼监控系统,监控最新视频发布,网页内容变更监控。

Image
Networking
Monitoring & observability
0

121

onerecord/eagle-eye repository overview

部署使用教程

如何用 已发布的 Docker 镜像 在 Linux 服务器上运行鹰眼(Eagle Eye),覆盖:

  • 裸 Docker(docker run)
  • Docker Compose
  • 海外 / 国内 镜像地址选择
  • 数据持久化、VNC 观察浏览器、常用运维命令

⁠1. 镜像地址

场景镜像
通用(Docker Hub)onerecord/eagle-eye:latest
国内(阿里云)registry.cn-hangzhou.aliyuncs.com/feiyufeiyu/eagle-eye:latest

下文用变量 IMAGE 表示你选用的镜像,例如:

# 海外 / 可访问 Docker Hub
export IMAGE=onerecord/eagle-eye:latest

# 国内推荐
export IMAGE=registry.cn-hangzhou.aliyuncs.com/feiyufeiyu/eagle-eye:latest

拉取:

docker pull "$IMAGE"

⁠2. 环境要求

项说明
Docker20.10+(建议安装 Docker Compose V2:docker compose version)
磁盘镜像约 2~3 GB;另预留数据盘空间
内存建议 ≥ 2 GB(开 VNC + 浏览器时更高)
架构linux/amd64、linux/arm64(按镜像实际支持为准)

开放端口(可改映射):

端口用途
17834Web 控制台
5900VNC 客户端(RealVNC / TigerVNC 等)
6080noVNC 网页桌面

容器内 HOME / user.home 固定为 /data/eagle-eye,请务必把该目录挂到宿主机,否则重启会丢库、Cookie、浏览器登录态。


⁠3. 方式一:裸 Docker(docker run)

⁠3.1 推荐启动(带 VNC,可观察浏览器)
# 选镜像(二选一)
export IMAGE=onerecord/eagle-eye:latest
# export IMAGE=registry.cn-hangzhou.aliyuncs.com/feiyufeiyu/eagle-eye:latest

# 宿主机数据目录(可改成任意路径)
export HOST_HOME=/data/eagle-eye
mkdir -p "$HOST_HOME"

docker run -d \
  --name eagle-eye \
  --restart unless-stopped \
  --shm-size=1g \
  --init \
  -p 17834:17834 \
  -p 5900:5900 \
  -p 6080:6080 \
  -e TZ=Asia/Shanghai \
  -e HOME=/data/eagle-eye \
  -e EGE_VNC=1 \
  -e EGE_BROWSER_HEADLESS=false \
  -e VNC_PASSWORD=请改成强密码 \
  -e JAVA_OPTS="-Xms256m -Xmx1024m" \
  -v "${HOST_HOME}:/data/eagle-eye" \
  "$IMAGE"
⁠3.2 纯无头(不需要 VNC)

适合只跑任务、不看浏览器界面:

docker run -d \
  --name eagle-eye \
  --restart unless-stopped \
  --shm-size=1g \
  --init \
  -p 17834:17834 \
  -e TZ=Asia/Shanghai \
  -e HOME=/data/eagle-eye \
  -e EGE_VNC=0 \
  -e EGE_BROWSER_HEADLESS=true \
  -e JAVA_OPTS="-Xms256m -Xmx1024m" \
  -v "${HOST_HOME}:/data/eagle-eye" \
  "$IMAGE"
⁠3.3 访问与常用命令
# Web 控制台
# http://服务器IP:17834

# noVNC(开了 VNC 时)
# http://服务器IP:6080/vnc.html

docker logs -f eagle-eye
docker restart eagle-eye
docker stop eagle-eye
docker start eagle-eye
docker rm -f eagle-eye   # 删容器不删数据(数据在 HOST_HOME)

升级镜像:

docker pull "$IMAGE"
docker rm -f eagle-eye
# 再执行上一节同样的 docker run(挂载目录不变即可保留数据)

⁠4. 方式二:Docker Compose

⁠4.1 准备目录与文件
mkdir -p /opt/eagle-eye && cd /opt/eagle-eye
mkdir -p data

创建 .env(按地区选镜像):

# ---------- 镜像(二选一)----------
# 通用 Docker Hub
IMAGE_NAME=onerecord/eagle-eye
IMAGE_TAG=latest

# 国内阿里云(取消下面两行注释,并注释掉上面 Docker Hub)
# IMAGE_NAME=registry.cn-hangzhou.aliyuncs.com/feiyufeiyu/eagle-eye
# IMAGE_TAG=latest

# ---------- 宿主机 user.home ----------
EGE_HOME_HOST=/opt/eagle-eye/data

# ---------- 端口(可按需改宿主机侧)----------
HOST_PORT=17834
VNC_HOST_PORT=5900
NOVNC_HOST_PORT=6080

# ---------- 运行参数 ----------
EGE_VNC=1
EGE_BROWSER_HEADLESS=false
VNC_PASSWORD=请改成强密码
JAVA_OPTS=-Xms256m -Xmx1024m

创建 docker-compose.yml:

services:
  eagle-eye:
    image: ${IMAGE_NAME}:${IMAGE_TAG:-latest}
    container_name: eagle-eye
    restart: unless-stopped
    ports:
      - "${HOST_PORT:-17834}:17834"
      - "${VNC_HOST_PORT:-5900}:5900"
      - "${NOVNC_HOST_PORT:-6080}:6080"
    environment:
      TZ: Asia/Shanghai
      HOME: /data/eagle-eye
      EGE_DOCKER: "1"
      EGE_VNC: ${EGE_VNC:-1}
      EGE_BROWSER_HEADLESS: ${EGE_BROWSER_HEADLESS:-false}
      EGE_BROWSER_BUNDLED: "true"
      EGE_BROWSER_SANDBOX: "false"
      PLAYWRIGHT_BROWSERS_PATH: /ms-playwright
      DISPLAY: ":99"
      SCREEN_WIDTH: ${SCREEN_WIDTH:-1920}
      SCREEN_HEIGHT: ${SCREEN_HEIGHT:-1080}
      VNC_PASSWORD: ${VNC_PASSWORD:-}
      JAVA_OPTS: ${JAVA_OPTS:--Xms256m -Xmx1024m}
      SERVER_PORT: "17834"
      SPRING_PROFILES_ACTIVE: pro,docker
    volumes:
      # 整个 user.home → 宿主机,持久化 SQLite / Cookie / 浏览器 Profile / 日志
      - ${EGE_HOME_HOST:-./data}:/data/eagle-eye
    shm_size: "1gb"
    init: true
⁠4.2 启动 / 停止
cd /opt/eagle-eye

# 拉取并后台启动
docker compose pull
docker compose up -d

# 查看状态与日志
docker compose ps
docker compose logs -f

# 停止 / 再启动
docker compose stop
docker compose start

# 停止并删除容器(数据仍在 EGE_HOME_HOST)
docker compose down
⁠4.3 国内一键示例(阿里云镜像)

.env 写成:

IMAGE_NAME=registry.cn-hangzhou.aliyuncs.com/feiyufeiyu/eagle-eye
IMAGE_TAG=latest
EGE_HOME_HOST=/opt/eagle-eye/data
VNC_PASSWORD=请改成强密码

然后:

docker compose up -d
⁠4.4 关闭 VNC(Compose)

.env 中:

EGE_VNC=0
EGE_BROWSER_HEADLESS=true

可去掉 5900 / 6080 端口映射以减少暴露面。


⁠5. 数据目录说明

容器内 HOME=/data/eagle-eye,对应 Java:System.getProperty("user.home")。

挂载后典型结构:

路径(容器 / 宿主机相对 HOME)用途
data/业务上传 / 文件数据
volume/文件复制目录
.eagle-ege/SQLite、配置、教程缓存
.eagle-ege/browser-data/Playwright 浏览器登录态
logs/应用与 Xvfb / VNC 日志

备份建议:直接打包宿主机 EGE_HOME_HOST / HOST_HOME 整目录即可。


⁠6. 访问控制台与远程桌面

  1. Web 控制台:http://服务器IP:17834
  2. noVNC:http://服务器IP:6080/vnc.html(需 EGE_VNC=1)
  3. VNC 客户端:连接 服务器IP:5900,密码为 VNC_PASSWORD

生产环境务必设置 VNC_PASSWORD,并建议用防火墙 / 安全组限制 5900、6080 仅内网或 VPN 可访问。


⁠7. 环境变量速查

变量默认说明
HOME/data/eagle-eye容器内 user.home(须挂载)
EGE_VNC11 开虚拟桌面+VNC;0 关闭
EGE_BROWSER_HEADLESSVNC 开时 false是否无头浏览器
VNC_PASSWORD空VNC 密码;空则无密码(不推荐)
JAVA_OPTS-Xms256m -Xmx1024mJVM 参数
SCREEN_WIDTH / SCREEN_HEIGHT1920 / 1080虚拟桌面分辨率
TZAsia/Shanghai时区

Compose 额外:

变量说明
IMAGE_NAME / IMAGE_TAG镜像名与标签
EGE_HOME_HOST宿主机上映射 HOME 的路径
HOST_PORT / VNC_HOST_PORT / NOVNC_HOST_PORT宿主机端口

⁠8. 常见问题

Q:控制台打不开?
先看 docker logs eagle-eye / docker compose logs;确认安全组放行 17834;等待约半分钟完成启动。

Q:镜像很大 / 拉取慢?
属正常(含 Chromium 等浏览器组件,约 2~3 GB)。国内请用阿里云地址:
registry.cn-hangzhou.aliyuncs.com/feiyufeiyu/eagle-eye:latest。

Q:重启后任务 / 登录态没了?
未挂载 /data/eagle-eye。请按上文用 -v 或 Compose volumes 固定宿主机目录。

Q:VNC 里看不到浏览器?
确认 EGE_VNC=1 且 EGE_BROWSER_HEADLESS=false;用 noVNC 打开 /vnc.html;任务触发打开浏览器后再看桌面。

Q:需要 HTTPS?
在宿主机用 Nginx / Caddy 反代 127.0.0.1:17834,并配置证书。


⁠9. 小结

步骤动作
1按网络选镜像:onerecord/... 或阿里云 feiyufeiyu/...
2docker pull 或 docker compose pull
3挂载宿主机目录 → /data/eagle-eye
4docker run 或 docker compose up -d
5浏览器打开 http://IP:17834;需要时用 :6080/vnc.html 看浏览器

Tag summary

Content type

Image

Digest

sha256:22463d6d2…

Size

1.5 GB

Last updated

3 months ago

docker pull onerecord/eagle-eye