专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

barcus/bareos-webui Docker 镜像 - 轩辕镜像

bareos-webui
barcus/bareos-webui
自动构建
Bareos的Docker镜像集合,包含管理服务器、存储守护进程、客户端/文件守护进程、WebUI和API模块,基于Alpine系统,支持amd64/arm64架构,用于企业级数据备份与恢复解决方案的容器化部署。
16 收藏0 次下载activebarcus镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

bareos

![License badge][license-img] ![基于操作系统][os-based-ubuntu] ![基于操作系统][os-based-alpine] ![架构amd64][arch-amd64-img] ![架构arm64][arch-arm64/v8-img]

概述

本镜像包提供了[Bareos][bareos-href]的相关镜像:

模块构建状态Ubuntu镜像大小Alpine镜像大小拉取链接
管理服务器(Director)[![Actions状态][build-director-img]][build-director-href]![大小标识][size-latest-director-png]![大小标识][size-alpine-director-png][![Docker标识][docker-img-dir]][docker-url-dir]
存储守护进程(Storage Daemon)[![Actions状态][build-storage-img]][build-storage-href]![大小标识][size-latest-storage-png]![大小标识][size-alpine-storage-png][![Docker标识][docker-img-sd]][docker-url-sd]
客户端/文件守护进程(Client/File Daemon)[![Actions状态][build-client-img]][build-client-href]![大小标识][size-latest-client-png]![大小标识][size-alpine-client-png][![Docker标识][docker-img-fd]][docker-url-fd]
WebUI[![Actions状态][build-webui-img]][build-webui-href]![大小标识][size-latest-webui-png]![大小标识][size-alpine-webui-png][![Docker标识][docker-img-ui]][docker-url-ui]
API[![Actions状态][build-api-img]][build-api-href]![大小标识][size-latest-api-png][![Docker标识][docker-img-api]][docker-url-api]

镜像基于Alpine构建,具体标签见下文。

  • Alpine镜像支持linux/amd64和linux/arm64/v8平台
  • 每周构建在周日4点(GMT+1时区)部署到[Docker Hub][docker-url]

标签说明

bareos-director(管理服务器)

  • 21-alpine-pgsql、21-alpine、alpine、latest
  • 20-alpine-pgsql、20-alpine

bareos-client(文件守护进程)、bareos-storage(存储守护进程)、bareos-webui

  • 21-alpine、alpine、latest
  • 20-alpine、latest

bareos-api

  • 21-alpine、21、alpine、latest

环境配置

Bareos管理服务器需要:

  • PostgreSQL数据库
  • SMTP守护进程作为邮件路由(用于报告)

Bareos WebUI需要:

  • PHP-FPM

Bareos客户端(文件守护进程)和存储守护进程无依赖。

各组件需在独立容器中运行,并通过docker-compose链接,详见下文示例。

依赖要求

  • [Docker][docker-href] 和 [docker-compose][docker-compose-href]

使用方法

定义所需环境变量

声明环境变量,或将 .env.dist 复制为 .env 并调整其值。

所有密码应在 .env 文件中定义。生产环境中建议不要使用 .env.dist 中的默认密码。

最后,确保更新docker-compose文件中的变量,如 ADMIN_MAIL 或 DB_USER。

运行docker-compose
bash
docker-compose -f /path/to/your/docker-compose.yml up -d

Alpine和Ubuntu基础的docker-compose文件如下:

文件compose版本docker版本最新构建
[alpine-v1/mysql][compose-alpinev1-href]v3+v1.13.0+![运行compose][run-compose-png]
[alpine-v2/mysql][compose-alpinev2-href]v3.7+v18.06.0+![运行compose][run-compose-png]
[ubuntu/mysql][compose-ubuntu-mysql-href]v3+v1.13.0+![运行compose][run-compose-png]
[ubuntu/pgsql][compose-ubuntu-pgsql-href]v3+v1.13.0+![运行compose][run-compose-png]

:file_folder: 这些docker-compose文件配置为将数据存储在 /data/(bareos|mysql|pgsql) 目录。

容器启动后,可通过WebUI、CLI或API访问Bareos。

访问WebUI

在浏览器中打开 [***],登录信息:

用户名:admin / 密码:<BAREOS_WEBUI_PASSWORD>(在.env文件中定义)

访问bconsole
bash
docker exec -it bareos-dir bconsole
访问API

(需要Bareos 20+和Bareos命名控制台)

在浏览器中打开 [***],点击"Authorize"登录。

或使用curl示例:

获取令牌(返回包含令牌的JSON对象):

bash
curl -X 'POST' \
  '[***] \
  -H 'accept: application/json' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'grant_type=&username=admin&password=ThisIsMySecretUIp4ssw0rd&scope=&client_id=&client_secret='

使用WebUI管理员用户的凭据,该用户在Bareos管理服务器中配置为命名控制台。

返回结果:

json
{
  "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTY0NzIxMDM3NX0.alKiLsgMrovKVX6fdcUqkhG_9lsJNiOBQ6X7ixyziGw",
  "token_type": "bearer"
}

使用令牌读取所有客户端配置(类似bconsole):

bash
curl -X 'GET' \
  '[***] \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhZG1pbiIsImV4cCI6MTY0NzIxMDM3NX0.alKiLsgMrovKVX6fdcUqkhG_9lsJNiOBQ6X7ixyziGw'

将返回包含所有客户端配置的JSON文件。

访问Prometheus指标

在浏览器中打开 [***] 查看可用指标。

更多关于[Bareos exporter][bareos-exporter-href]的信息,感谢@vierbergenlars。

指标应由[Prometheus][prometheus-href]服务器抓取。

官方文档

更多Bareos配置和使用信息,请参考[官方文档][bareos-doc]。

数据库迁移(MySQL到PostgreSQL)

由于Bareos版本 >= 21.0.0不再支持MySQL数据库后端,需使用Bareos 20将现有MySQL目录迁移到PostgreSQL。为此,先升级到Bareos 20,然后使用[此docker-compose文件][compose-db-migration-href]备份(可选)整个Bareos MySQL目录并复制到新的PostgreSQL目录数据库。

若PostgreSQL数据库为空或不存在,将自动创建。

:warning: 不要忘记包含所需密码的 .env 文件!

PostgreSQL数据库升级

兼容性

目前,最新的Ubuntu基础镜像兼容PostgreSQL 12及以下版本,Alpine镜像兼容PostgreSQL 14,这取决于备份Bareos数据库所需的 pg_dump 版本。

Ubuntu镜像:

  • Bareos v19 -> PostgreSQL v10及以下
  • Bareos v20+ -> PostgreSQL v12及以下

Alpine镜像:

  • Bareos v19 -> PostgreSQL v13及以下
  • Bareos v20+ -> PostgreSQL v14及以下
工具

核心思路是使用[postgresql-upgrade][psql-upgrade-href] Docker镜像,创建新的PostgreSQL实例,然后使用 pg_upgrade 工具将所有数据库从旧实例迁移到新实例。

操作步骤:找到PostgreSQL数据文件夹(根据docker-compose配置可能为 /data/pgsql/data),确定初始化实例的用户(postgres、pgsql或root)。

以下示例使用数据源 /data/pgsql/data 和postgres作为管理员用户:

bash
docker run -t -i \
  -e PG_NEW=12 \
  -e PGUSER=postgres \
  -v /data/pgsql/data:/pg_old/data \
  -v /data/pgsql-new/data:/pg_new/data \
  barcus/postgresql-upgrade

迁移成功后,在docker-compose文件中使用新文件夹 /data/pgsql-new/data 和对应的PostgreSQL版本。

构建方法

Docker-compose文件

使用以下模板构建自定义docker-compose文件:

yml
version: '3'
services:
  bareos-dir:
    image: barcus/bareos-director:latest # 基于Ubuntu的最新director-pgsql
    volumes:
      - <BAREOS_CONF_PATH>:/etc/bareos
      - <BAREOS_DATA_PATH>:/var/lib/bareos # MyCatalog备份必需
    environment:
      - DB_INIT=false
      - DB_UPDATE=false
      - DB_HOST=bareos-db
      - DB_PORT=3306
      - DB_NAME=bareos
      - DB_USER=bareos
      - DB_PASSWORD=${DB_PASSWORD} # 在.env文件中定义
      - DB_ADMIN_USER=${DB_ADMIN_USER} # 在.env文件中定义
      - DB_ADMIN_PASSWORD=${DB_ADMIN_PASSWORD} # 在.env文件中定义
      - BAREOS_FD_HOST=bareos-fd
      - BAREOS_FD_PASSWORD=${BAREOS_FD_PASSWORD} # 在.env文件中定义
      - BAREOS_SD_HOST=bareos-sd
      - BAREOS_SD_PASSWORD=${BAREOS_SD_PASSWORD} # 在.env文件中定义
      - BAREOS_WEBUI_PASSWORD=${BAREOS_WEBUI_PASSWORD} # 在.env文件中定义
      - SMTP_HOST=smtpd
      - SENDER_MAIL=*** # 可选
      - ADMIN_MAIL=*** # 请修改!
      # 可选:通过Slack或***接收备份通知
      - WEBHOOK_NOTIFICATION=true # true或false,设为true将禁用邮件通知
      - WEBHOOK_TYPE=slack # 选择slack或***
      - WEBHOOK_URL= # 设置slack或*** URL
      - WEBHOOK_CHAT_ID= # 仅***需要设置<chat_id>
    depends_on:
      - bareos-db

  bareos-sd:
    image: barcus/bareos-storage:latest
    ports:
      - 9103:9103
    volumes:
      - <BAREOS_CONF_PATH>:/etc/bareos
      - <BAREOS_BKP_VOLUME_PATH>:/var/lib/bareos/storage
    environment:
      - BAREOS_SD_PASSWORD=${BAREOS_SD_PASSWORD} # 与Bareos管理服务器部分相同

  bareos-fd:
    image: barcus/bareos-client:latest
    volumes:
      - <BAREOS_CONF_PATH>:/etc/bareos
      - <BAREOS_DATA_PATH>:/var/lib/bareos-director # 管理服务器数据访问必需
    environment:
      - BAREOS_FD_PASSWORD=${BAREOS_FD_PASSWORD} # 与Bareos管理服务器部分相同
      - FORCE_ROOT=false

  bareos-webui:
    image: barcus/bareos-webui:latest
    ports:
      - 8080:80
    environment:
      - BAREOS_DIR_HOST=bareos-dir
      - SERVER_STATS=yes # 可选启用apache服务器统计
    volumes:
      - <BAREOS_CONF_PATH>:/etc/bareos-webui

  #bareos-db:
  #  image: mysql:5.6
  #  volumes:
  #    - <DB_DATA_PATH>:/var/lib/mysql
  #  environment:
  #    - MYSQL_ROOT_PASSWORD=${DB_ADMIN_PASSWORD} # 在.env文件中定义

  bareos-db:
    image: postgres:12
    volumes:
      - <DB_DATA_PATH>:/var/lib/postgresql/data
    environment:
      - POSTGRES_USER=${DB_ADMIN_USER} # 在.env文件中定义
      - POSTGRES_PASSWORD=${DB_ADMIN_PASSWORD} # 在.env文件中定义
      - POSTGRES_INITDB_ARGS=--encoding=SQL_ASCII

  bareos-api:
    image: barcus/bareos-api:21
    ports:
    - 8000:8000
    environment:
    - BAREOS_DIR_HOST=bareos-dir

  smtpd:
    image: namshi/smtp

Bareos管理服务器(bareos-dir)

  • <BAREOS_CONF_PATH>:主机端管理服务器配置文件夹路径(可选/推荐)
  • <BAREOS_DATA_PATH>:主机端管理服务器数据文件夹路径(推荐)
  • DB_NAME:Bareos数据库名称
  • DB_USER:Bareos数据库用户
  • DB_PASSWORD:访问Bareos数据库的密码
  • DB_ADMIN_USER:初始化Bareos用户和数据库的管理员用户
  • DB_ADMIN_PASSWORD:数据库系统访问密码
  • SMTP_HOST:SMTP容器名称
  • ADMIN_MAIL:管理员***地址
  • SENDER_MAIL:发送邮件的***地址(可选,默认使用ADMIN_MAIL)
  • WEBHOOK_NOTIFICATION=true # true或false,设为true将禁用邮件通知
  • WEBHOOK_TYPE=slack # 选择slack或***
  • WEBHOOK_URL= # 设置slack或*** URL(例如slack:<[***]>)
  • WEBHOOK_CHAT_ID= # 仅***需要设置'chat_id'

Bareos存储守护进程(bareos-sd)

  • <BAREOS_CONF_PATH>:主机端存储守护进程配置文件夹路径(可选/推荐)
  • <BAREOS_BKP_VOLUME_PATH>:主机端数据文件夹路径(可选)
  • BAREOS_SD_PASSWORD:必须与Bareos管理服务器部分相同

Bareos客户端/文件守护进程(bareos-fd)

  • <BAREOS_CONF_PATH>:主机端客户端配置文件夹路径(可选/推荐)
  • <BAREOS_DATA_PATH>:管理服务器数据文件夹访问路径(推荐)
  • BAREOS_FD_PASSWORD:必须与Bareos管理服务器部分相同
  • FORCE_ROOT:设为true以root权限运行Bareos

数据库(MySQL或PostgreSQL)(bareos-db)

作为目录后端必需,使用官方MySQL/PostgreSQL镜像:

  • <DB_DATA_PATH>:主机端MySQL/PostgreSQL数据文件夹路径
  • MYSQL_ROOT_PASSWORD:MySQL root用户密码(仅数据库初始化需要)
  • POSTGRES_PASSWORD:PostgreSQL管理员用户密码(仅数据库初始化需要)

Bareos WebUI(bareos-webui)

  • <BAREOS_CONF_PATH>:主机端WebUI配置文件夹路径(可选)
  • 默认用户:admin

:warning: 注意所有*_HOST变量必须设置为容器名称。

构建自定义Docker镜像

构建自己的Bareos镜像:

bash
git clone [***]
cd bareos
docker build -t director-pqsl:20-alpine director-pgsql/20-alpine
docker build -t storage:20-alpine storage/20-alpine
docker build -t client:20-alpine client/20-alpine
docker build -t webui:20-alpine webui/20-alpine

构建自定义Xenial基础系统镜像:

bash
git clone [***]
cd docker-ubuntu
./build.sh -d xenial

感谢@rockyluke :)

相关链接

更多信息请访问GitHub仓库:

  • bareos-director-mysql
  • bareos-director-pgsql
  • bareos-storage
查看更多 bareos-webui 相关镜像 →
intel/oact-webui logo
intel/oact-webui
by Intel Corporation
认证
Open AMT Cloud Toolkit的示例Web界面,用于展示和演示该工具包的功能。
550K+ pulls
上次更新:1 个月前
openeuler/open-webui logo
openeuler/open-webui
by openeuler
open-webui的官方Docker镜像,基于openEuler构建,由openEuler CloudNative SIG维护,支持amd64和arm64架构,提供Web UI服务的便捷部署方案。
710K+ pulls
上次更新:7 个月前
barcus/bareos-client logo
barcus/bareos-client
by barcus
Bareos客户端/文件守护进程的Docker镜像,用于数据备份与恢复的客户端组件,支持Alpine基础镜像,适用于Docker环境中的备份任务,无外部依赖。
9100K+ pulls
上次更新:12 个月前

轩辕镜像配置手册

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

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

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

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

轩辕镜像支持哪些镜像仓库?

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

流量耗尽错误提示

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

410 错误问题

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

manifest unknown 错误

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

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

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

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
barcus/bareos-webui
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429