
barcus/bareos-api本镜像集合提供Bareos的容器化部署方案,包含以下核心模块:
| 模块 | 构建状态 | Ubuntu镜像大小 | Alpine镜像大小 | 镜像拉取 |
|---|---|---|---|---|
| Director | ||||
| 存储守护进程(Storage Daemon) | ||||
| 客户端/文件守护进程(Client/File Daemon) | ||||
| webUI | ||||
| API | - |
linux/amd64和linux/arm64/v8架构21-alpine-pgsql, 21-alpine, alpine, latest20-alpine-pgsql, 20-alpine21-alpine, alpine, latest20-alpine21-alpine, 21, alpine, latest所有组件需分别运行在独立容器中,通过docker-compose关联部署(见下方示例)。
创建.env文件(可从.env.dist复制修改),定义必要的环境变量,包括所有密码(生产环境务必修改默认密码)。关键变量包括:
DB_HOST, DB_USER, DB_PASSWORD等)BAREOS_FD_PASSWORD, BAREOS_SD_PASSWORD等)ADMIN_MAIL)bashdocker-compose -f /path/to/your/docker-compose.yml up -d
| 文件 | compose版本 | Docker版本 | 构建状态 |
|---|---|---|---|
| [alpine-v1/mysql][compose-alpinev1-href] | v3+ | v1.13.0+ | |
| [alpine-v2/mysql][compose-alpinev2-href] | v3.7+ | v18.06.0+ | |
| [ubuntu/mysql][compose-ubuntu-mysql-href] | v3+ | v1.13.0+ | |
| [ubuntu/pgsql][compose-ubuntu-pgsql-href] | v3+ | v1.13.0+ |
配置文件默认将数据存储在
/data/(bareos|mysql|pgsql)目录
访问[***],默认登录凭证:
admin.env中配置的BAREOS_WEBUI_PASSWORDbashdocker exec -it bareos-dir bconsole
Bareos 20+支持API,访问[***]查看接口文档。获取访问令牌示例:
bashcurl -X 'POST' \ '[***] \ -H 'accept: application/json' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'grant_type=&username=admin&password=YourWebUIPassword&scope=&client_id=&client_secret='
使用令牌访问客户端配置示例:
bashcurl -X 'GET' \ '[***] \ -H 'accept: application/json' \ -H 'Authorization: Bearer YourAccessToken'
访问[***]获取监控指标,可配置Prometheus抓取。
更多配置和使用细节参见Bareos官方文档。
Bareos 21.0.0+不再支持MySQL数据库后端,需使用Bareos 20迁移现有MySQL catalog至PostgreSQL:
.env文件包含正确的数据库密码若PostgreSQL数据库为空或不存在,将自动创建。
使用postgresql-upgrade镜像升级,步骤示例:
bashdocker run -t -i \ -e PG_NEW=12 \ # 目标PostgreSQL版本 -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。
ymlversion: '3' services: bareos-dir: image: barcus/bareos-director:latest volumes: - <BAREOS_CONF_PATH>:/etc/bareos # 配置目录(可选/推荐) - <BAREOS_DATA_PATH>:/var/lib/bareos # 数据目录(推荐) environment: - DB_INIT=false # 是否初始化数据库 - DB_UPDATE=false # 是否更新数据库结构 - DB_HOST=bareos-db # 数据库容器名 - DB_PORT=5432 # PostgreSQL端口 - DB_NAME=bareos # 数据库名 - DB_USER=bareos # 数据库用户 - DB_PASSWORD=${DB_PASSWORD} # 数据库密码(来自.env) - DB_ADMIN_USER=${DB_ADMIN_USER} # 数据库管理员用户 - DB_ADMIN_PASSWORD=${DB_ADMIN_PASSWORD} # 管理员密码 - BAREOS_FD_HOST=bareos-fd # 客户端容器名 - BAREOS_FD_PASSWORD=${BAREOS_FD_PASSWORD} # 客户端密码 - BAREOS_SD_HOST=bareos-sd # 存储守护进程容器名 - BAREOS_SD_PASSWORD=${BAREOS_SD_PASSWORD} # 存储守护进程密码 - BAREOS_WEBUI_PASSWORD=${BAREOS_WEBUI_PASSWORD} # WebUI密码 - SMTP_HOST=smtpd # SMTP容器名 - ADMIN_MAIL=*** # 管理员*** # 可选:启用Slack/***通知(禁用邮件通知) - WEBHOOK_NOTIFICATION=true - WEBHOOK_TYPE=slack # 或*** - WEBHOOK_URL=<your-webhook-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-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} - FORCE_ROOT=false # 是否以root运行(默认false) bareos-webui: image: barcus/bareos-webui:latest ports: - 8080:80 # WebUI端口 environment: - BAREOS_DIR_HOST=bareos-dir # Director容器名 volumes: - <BAREOS_CONF_PATH>:/etc/bareos-webui # WebUI配置目录 bareos-db: image: postgres:12 # 数据库镜像 volumes: - <DB_DATA_PATH>:/var/lib/postgresql/data # 数据库数据目录 environment: - POSTGRES_USER=${DB_ADMIN_USER} - POSTGRES_PASSWORD=${DB_ADMIN_PASSWORD} - POSTGRES_INITDB_ARGS=--encoding=SQL_ASCII bareos-api: image: barcus/bareos-api:21 ports: - 8000:8000 # API端口 environment: - BAREOS_DIR_HOST=bareos-dir smtpd: image: namshi/smtp # SMTP服务器
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





manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务