轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
flussonic/watcher
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

watcher Docker 镜像下载 - 轩辕镜像

watcher 镜像详细信息和使用指南

watcher 镜像标签列表和版本信息

watcher 镜像拉取命令和加速下载

watcher 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

watcher
flussonic/watcher

watcher 镜像详细信息

watcher 镜像标签列表

watcher 镜像使用说明

watcher 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

Flussonic流媒体服务的Docker化部署方案,集成PostgreSQL、Redis及管理组件,实现流媒体接收、处理、分发与集群管理,支持通过docker-compose快速部署多服务协同的流媒体环境。
0 次下载activeflussonic
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

watcher 镜像详细说明

watcher 使用指南

watcher 配置说明

watcher 官方文档

Flussonic流媒体服务Docker部署方案

镜像概述和主要用途

本方案提供Flussonic流媒体服务的完整Docker化部署配置,集成了流媒体服务器、数据库(PostgreSQL)、缓存(Redis)及配套管理组件(Central、Watcher系列服务)。通过Docker Compose实现多服务协同部署,支持流媒体的接收、转码、分发、录像及集群管理,适用于快速搭建企业级流媒体服务环境。

核心功能和特性

  • 流媒体处理:基于Flussonic流媒体服务器,支持HTTP、RTMP(1935端口)、RTSP(554端口)等协议的音视频流接收与分发
  • 数据存储:PostgreSQL数据库持久化存储服务配置与业务数据,Redis提供高性能缓存支持
  • 集群管理:Central组件实现流媒体集群配置管理与API接口服务
  • 录像与任务调度:Watcher系列服务处理视频录像(episodes)、任务调度(scheduler)及工作节点任务(worker)
  • 多服务协同:通过Docker Compose定义服务依赖关系,实现健康检查、自动重启及服务初始化(如数据库迁移)
  • 数据持久化:专用存储卷(dvr_storage)保存录像文件,支持本地时间同步(/etc/localtime挂载)

使用场景和适用范围

  • 企业级流媒体平台部署
  • 视频监控系统音视频流处理
  • 直播服务搭建与内容分发
  • 需要集群管理的分布式流媒体环境
  • 快速原型验证与开发测试环境

使用方法和配置说明

1. 环境准备

需预先准备以下环境变量:

  • LICENSE_KEY: Flussonic服务授权密钥
  • DOMAIN: 部署服务的域名或IP地址
  • CLUSTER_KEY: 集群认证密钥
  • CENTRAL_API_KEY: Central组件API访问密钥

2. 创建Docker Compose配置文件

创建docker-compose.yml文件,内容如下:

version: "3.7"

volumes:
  dvr_storage:
    driver: local

services:
  db:
    image: flussonic/postgres:16
    restart: always
    environment:
      POSTGRES_USER: watcher
      POSTGRES_PASSWORD: watcher
      POSTGRES_DB: watcher
    ports:
      - "5432:5432"
    expose:
      - 5432
    healthcheck:
      test: "pg_isready -q -d $${POSTGRES_DB} -U $${POSTGRES_USER}"
      interval: 10s
      timeout: 20s
      retries: 3
      start_period: 5s

  redis:
    image: flussonic/redis:7
    restart: always
    ports:
      - "6379:6379"
    expose:
      - 6379

  flussonic:
    image: flussonic/flussonic:latest
    container_name: flussonic
    restart: always
    environment:
        LICENSE_KEY: ${LICENSE_KEY}
        STREAMER_CLUSTER_KEY: ${CLUSTER_KEY}
        STREAMER_HTTP: 80
    ports:
      - "80:80"
      - "1935:1935"
      - "554:554"
      - "443:443"
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - dvr_storage:/storage

  central-migrate:
    image: flussonic/central:latest
    depends_on:
      db:
        condition: service_healthy
    environment:
      CENTRAL_DATABASE_URL: postgres://watcher:watcher@db.:5432/watcher?sslmode=disable&search_path=central
    command: ['bin/central', '--migrate']

  central:
    image: flussonic/central:latest
    restart: always
    depends_on:
      db:
        condition: service_healthy
      central-migrate:
        condition: service_completed_successfully
    environment:
      CENTRAL_DATABASE_URL: postgres://watcher:watcher@db.:5432/watcher?sslmode=disable&search_path=central
      CENTRAL_HTTP_PORT: 9019
      CENTRAL_API_KEY: ${CENTRAL_API_KEY}
      CENTRAL_API_URL: [***]{DOMAIN}:9019
      CENTRAL_UPSTREAM_URL: [***]{CLUSTER_KEY}@flussonic:80
      CENTRAL_REDIS_URL: redis://redis:6379/2
    ports:
      - "9019:9019"
    expose:
      - 9019

  watcher-migrate:
    image: flussonic/watcher:latest
    depends_on:
      db:
        condition: service_healthy
    environment:
      LICENSE_KEY: ${LICENSE_KEY}
      DATABASE_URL: postgresql://watcher:watcher@db/watcher
      REDIS: redis://redis:6379
      CENTRAL_URL: [***]{CENTRAL_API_KEY}@central:9019/streamer/api/v3
      FLUSSONIC_MASTER: [***]{CLUSTER_KEY}@flussonic:80
      API_URL: [***]{DOMAIN}
      WATCHER_ADMIN_LOGIN: admin
      WATCHER_ADMIN_PASSWORD: admin
    entrypoint: [""]
    command: >
      bash -c "/opt/flussonic/contrib/watcher db upgrade &&
      /opt/flussonic/contrib/watcher create_local_streamer &&
      /opt/flussonic/contrib/watcher firstrun &&
      /opt/flussonic/bin/watcher-sync.sh"

  watcher-vms:
    image: flussonic/watcher:latest
    container_name: watcher
    restart: always
    depends_on:
      db:
        condition: service_healthy
      watcher-migrate:
        condition: service_completed_successfully
      redis:
        condition: service_started
      central:
        condition: service_started
    environment:
      LICENSE_KEY: ${LICENSE_KEY}
      DATABASE_URL: postgresql://watcher:watcher@db/watcher
      REDIS: redis://redis:6379
      CENTRAL_URL: [***]{CENTRAL_API_KEY}@central:9019/streamer/api/v3
      FLUSSONIC_MASTER: [***]{CLUSTER_KEY}@flussonic:80
      API_URL: [***]{DOMAIN}
      LISTEN_HOST: 0.0.0.0
      PORT: 9025
    entrypoint: [""]
    command: ['/opt/flussonic/bin/watcher.sh', 'run']
    ports:
      - "9025:9025"

  watcher-episodes:
    image: flussonic/watcher:latest
    restart: always
    depends_on:
      db:
        condition: service_healthy
      watcher-migrate:
        condition: service_completed_successfully
      redis:
        condition: service_started
      central:
        condition: service_started
    environment:
      LICENSE_KEY: ${LICENSE_KEY}
      DATABASE_URL: postgresql://watcher:watcher@db/watcher
      REDIS: redis://redis:6379
      CENTRAL_URL: [***]{CENTRAL_API_KEY}@central:9019/streamer/api/v3
      FLUSSONIC_MASTER: [***]{CLUSTER_KEY}@flussonic:80
    entrypoint: [""]
    command: ['/opt/flussonic/bin/watcher.sh', 'episodes']

  watcher-scheduler:
    image: flussonic/watcher:latest
    restart: always
    depends_on:
      db:
        condition: service_healthy
      watcher-migrate:
        condition: service_completed_successfully
      redis:
        condition: service_started
      central:
        condition: service_started
    environment:
      LICENSE_KEY: ${LICENSE_KEY}
      DATABASE_URL: postgresql://watcher:watcher@db/watcher
      REDIS: redis://redis:6379
      CENTRAL_URL: [***]{CENTRAL_API_KEY}@central:9019/streamer/api/v3
    entrypoint: [""]
    command: ['/opt/flussonic/bin/watcher.sh', 'scheduler']

  watcher-worker-default:
    image: flussonic/watcher:latest
    restart: always
    depends_on:
      db:
        condition: service_healthy
      watcher-migrate:
        condition: service_completed_successfully
      redis:
        condition: service_started
      central:
        condition: service_started
    environment:
      LICENSE_KEY: ${LICENSE_KEY}
      DATABASE_URL: postgresql://watcher:watcher@db/watcher
      REDIS: redis://redis:6379
      CENTRAL_URL: [***]{CENTRAL_API_KEY}@central:9019/streamer/api/v3
    entrypoint: [""]
    command: ['/opt/flussonic/bin/watcher.sh', 'worker']

  watcher-worker-high:
    image: flussonic/watcher:latest
    restart: always
    depends_on:
      db:
        condition: service_healthy
      watcher-migrate:
        condition: service_completed_successfully
      redis:
        condition: service_started
      central:
        condition: service_started
    environment:
      LICENSE_KEY: ${LICENSE_KEY}
      DATABASE_URL: postgresql://watcher:watcher@db/watcher
      REDIS: redis://redis:6379
      CENTRAL_URL: [***]{CENTRAL_API_KEY}@central:9019/streamer/api/v3
    entrypoint: [""]
    command: ['/opt/flussonic/bin/watcher.sh', 'worker', 'high']

  watcher-go:
    image: flussonic/watcher:latest
    restart: always
    depends_on:
      db:
        condition: service_healthy
      watcher-migrate:
        condition: service_completed_successfully
      redis:
        condition: service_started
      central:
        condition: service_started
    environment:
      LICENSE_KEY: ${LICENSE_KEY}
      DATABASE_URL: postgresql://watcher:watcher@db/watcher
      REDIS: redis://redis:6379
      CENTRAL_URL: [***]{CENTRAL_API_KEY}@central:9019/streamer/api/v3
      API_URL: [***]{DOMAIN}
    entrypoint: [""]
    command: ['/opt/flussonic/bin/watcher-go.sh']

3. 部署步骤

  1. 准备环境变量:替换以下变量值

    • LICENSE_KEY: 从Flussonic获取的授权密钥
    • DOMAIN: 部署服务的域名或服务器IP
    • CLUSTER_KEY: 集群认证密钥
    • CENTRAL_API_KEY: Central服务API访问密钥
  2. 启动服务:执行以下命令启动所有服务

    DOMAIN=<你的域名> CLUSTER_KEY=<集群密钥> CENTRAL_API_KEY=<中央API密钥> LICENSE_KEY=<授权密钥> docker compose -f docker-compose.yml up -d
    

4. 服务更新

如需更新镜像版本,执行以下命令:

# 拉取最新镜像
docker compose -f docker-compose.yml pull

# 重启服务应用更新
DOMAIN=<你的域名> CLUSTER_KEY=<集群密钥> CENTRAL_API_KEY=<中央API密钥> LICENSE_KEY=<授权密钥> docker compose -f docker-compose.yml up -d

核心服务配置说明

  • flussonic: 流媒体服务器主服务,监听80(HTTP)、1935(RTMP)、554(RTSP)、443(HTTPS)端口,通过dvr_storage卷持久化存储录像数据
  • db: PostgreSQL数据库服务,存储业务数据,配置健康检查确保服务可用性
  • redis: Redis缓存服务,提供数据缓存支持
  • central: 集群管理服务,提供API接口(9019端口),协调集群节点
  • watcher-*: 系列服务处理录像管理、任务调度、工作节点任务执行等辅助功能,依赖数据库迁移完成后启动

所有服务通过环境变量注入配置,支持灵活定制部署参数,确保服务间协同工作。

查看更多 watcher 相关镜像 →

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.