鹰眼监控系统,监控最新视频发布,网页内容变更监控。
121
部署使用教程
如何用 已发布的 Docker 镜像 在 Linux 服务器上运行鹰眼(Eagle Eye),覆盖:
docker run)| 场景 | 镜像 |
|---|---|
| 通用(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"
| 项 | 说明 |
|---|---|
| Docker | 20.10+(建议安装 Docker Compose V2:docker compose version) |
| 磁盘 | 镜像约 2~3 GB;另预留数据盘空间 |
| 内存 | 建议 ≥ 2 GB(开 VNC + 浏览器时更高) |
| 架构 | linux/amd64、linux/arm64(按镜像实际支持为准) |
开放端口(可改映射):
| 端口 | 用途 |
|---|---|
| 17834 | Web 控制台 |
| 5900 | VNC 客户端(RealVNC / TigerVNC 等) |
| 6080 | noVNC 网页桌面 |
容器内
HOME/user.home固定为/data/eagle-eye,请务必把该目录挂到宿主机,否则重启会丢库、Cookie、浏览器登录态。
docker run)# 选镜像(二选一)
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"
适合只跑任务、不看浏览器界面:
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"
# 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(挂载目录不变即可保留数据)
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
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
.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
.env 中:
EGE_VNC=0
EGE_BROWSER_HEADLESS=true
可去掉 5900 / 6080 端口映射以减少暴露面。
容器内 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 整目录即可。
http://服务器IP:17834http://服务器IP:6080/vnc.html(需 EGE_VNC=1)服务器IP:5900,密码为 VNC_PASSWORD生产环境务必设置 VNC_PASSWORD,并建议用防火墙 / 安全组限制 5900、6080 仅内网或 VPN 可访问。
| 变量 | 默认 | 说明 |
|---|---|---|
HOME | /data/eagle-eye | 容器内 user.home(须挂载) |
EGE_VNC | 1 | 1 开虚拟桌面+VNC;0 关闭 |
EGE_BROWSER_HEADLESS | VNC 开时 false | 是否无头浏览器 |
VNC_PASSWORD | 空 | VNC 密码;空则无密码(不推荐) |
JAVA_OPTS | -Xms256m -Xmx1024m | JVM 参数 |
SCREEN_WIDTH / SCREEN_HEIGHT | 1920 / 1080 | 虚拟桌面分辨率 |
TZ | Asia/Shanghai | 时区 |
Compose 额外:
| 变量 | 说明 |
|---|---|
IMAGE_NAME / IMAGE_TAG | 镜像名与标签 |
EGE_HOME_HOST | 宿主机上映射 HOME 的路径 |
HOST_PORT / VNC_HOST_PORT / NOVNC_HOST_PORT | 宿主机端口 |
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,并配置证书。
| 步骤 | 动作 |
|---|---|
| 1 | 按网络选镜像:onerecord/... 或阿里云 feiyufeiyu/... |
| 2 | docker pull 或 docker compose pull |
| 3 | 挂载宿主机目录 → /data/eagle-eye |
| 4 | docker run 或 docker compose up -d |
| 5 | 浏览器打开 http://IP:17834;需要时用 :6080/vnc.html 看浏览器 |
Content type
Image
Digest
sha256:22463d6d2…
Size
1.5 GB
Last updated
3 months ago
docker pull onerecord/eagle-eye