轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像
交易
充值流量¥7起我的订单
文档
工具
提交工单页面收录
biblio-backoffice

ugentlib/biblio-backoffice

ugentlib

根特大学学术文献系统Biblio的后台管理应用,包含Web服务器(供图书馆员和研究人员使用的Web UI)、gRPC服务器及CLI客户端(供系统管理员和数据管理员进行数据管理),需配合PostgreSQL、ElasticSearch、OpenID Connect和磁盘存储使用。

下载次数: 0状态:社区镜像维护者:ugentlib仓库类型:镜像最近更新:3 个月前
让 AI 帮你使用轩辕镜像? · 展开查看说明 · 点击收起说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

中文简介
下载命令
镜像标签列表与下载命令
使用轩辕镜像,把时间还给真正重要的事。
点击查看

biblio-backoffice

镜像概述和主要用途

biblio-backoffice是根特大学学术文献系统Biblio的后台管理应用,提供对学术文献数据的管理和维护功能。该应用包含三个核心组件:服务于Web UI的Web服务器(供图书馆员和研究人员使用)、gRPC服务器以及gRPC CLI客户端(供系统管理员和数据管理员进行数据管理)。

核心功能和特性

  • Web服务器:提供Web UI界面,支持图书馆员和研究人员访问和管理学术文献数据
  • gRPC服务器:提供高性能远程过程调用服务,支持数据管理操作
  • gRPC CLI客户端:允许数据管理员和系统管理员通过命令行远程管理数据
  • 依赖外部数据存储和认证服务,确保数据安全和可靠存储

前提条件

应用需依赖以下外部服务和资源:

  • PostgreSQL数据库(数据存储)
  • ElasticSearch索引(搜索和索引功能)
  • OpenID Connect端点(如Keycloak,用户认证)
  • 磁盘存储(文件存储)

使用场景和适用范围

  • 图书馆员和研究人员:通过Web UI访问和管理学术文献数据
  • 系统管理员:通过gRPC服务器配置和维护系统
  • 数据管理员:使用gRPC CLI客户端远程管理和维护数据

详细使用方法和配置说明

Web UI快速启动

手动部署

bash
git clone git@github.com:ugent-library/biblio-backoffice.git
go run main.go

或构建二进制文件:

bash
git clone git@github.com:ugent-library/biblio-backoffice.git
cd biblio-backoffice
go build -o /tmp/biblio-backoffice
./tmp/biblio-backoffice
# 或交叉编译,例如:
GOOS=linux GOARCH=amd64 go build -o /tmp/biblio-backoffice.linux.amd64

启动Web UI服务器:

bash
go run main.go start server

若无法连接PostgreSQL、ElasticSearch或OpenID Connect端点,服务器将报错退出。配置方法参见下文“配置说明”。

Docker部署

bash
docker run --name some-backoffice -d ugentlib/biblio-backoffice:dev

建议使用docker-compose管理端口、卷、环境变量等参数。

gRPC服务器与客户端

服务器

gRPC协议需要TLS支持,当前服务器未内置TLS,需通过代理(如Traefik v2,支持Let's Encrypt)提供TLS并转发流量。gRPC服务器应直接运行在独立域名的根路径下(而非子路径),例如grpc.myapplication.tld。

启动gRPC服务器:

bash
go run main.go api start
# 或
./tmp/biblio-backoffice api start

若无法连接PostgreSQL、ElasticSearch或OpenID Connect端点,服务器将报错退出。配置方法参见下文“配置说明”。

客户端

bash
git clone git@github.com:ugent-library/biblio-backoffice.git
cd biblio-backoffice/client
go run main.go --host <grpc.host.tld> --port <port> --username <username> --password <password>

或构建可分发的二进制文件:

bash
git clone git@github.com:ugent-library/biblio-backoffice.git
cd biblio-backoffice
go build -o /tmp/biblio-backoffice-client client/main.go
./tmp/biblio-backoffice-client
# 或交叉编译,例如:
GOOS=linux GOARCH=amd64 go build -o /tmp/biblio-backoffice-client.linux.amd64 client/main.go

gRPC客户端可在任何机器(如数据管理员的本地机器)上使用,支持通过凭据远程管理数据,无需与gRPC服务器在同一台机器。

配置说明

配置可通过参数或环境变量传递:

通过参数传递:

bash
go run main.go server start --session-secret mysecret

通过环境变量传递:

bash
BIBLIO_BACKOFFICE_SESSION_SECRET=mysecret go run main.go server start

必须设置的环境变量

bash
BIBLIO_BACKOFFICE_BASE_URL               # 应用基础URL
BIBLIO_BACKOFFICE_SESSION_SECRET         # 会话密钥
BIBLIO_BACKOFFICE_FILE_DIR               # 文件存储目录
BIBLIO_BACKOFFICE_FRONTEND_URL           # 前端URL
BIBLIO_BACKOFFICE_FRONTEND_USERNAME      # 前端用户名
BIBLIO_BACKOFFICE_FRONTEND_PASSWORD      # 前端密码
BIBLIO_BACKOFFICE_OIDC_URL               # OpenID Connect端点URL
BIBLIO_BACKOFFICE_OIDC_CLIENT_ID         # OpenID Connect客户端ID
BIBLIO_BACKOFFICE_OIDC_CLIENT_SECRET     # OpenID Connect客户端密钥
BIBLIO_BACKOFFICE_CSRF_NAME              # CSRF名称
BIBLIO_BACKOFFICE_CSRF_SECRET            # CSRF密钥
BIBLIO_BACKOFFICE_ORCID_CLIENT_ID        # ORCID客户端ID
BIBLIO_BACKOFFICE_ORCID_CLIENT_SECRET    # ORCID客户端密钥
BIBLIO_BACKOFFICE_ORCID_SANDBOX          # ORCID沙盒模式(布尔值)
BIBLIO_BACKOFFICE_PG_CONN                # PostgreSQL连接字符串(例如:postgres://localhost:5432/biblio_backoffice?sslmode=disable)
BIBLIO_BACKOFFICE_PUBLICATION_INDEX      # 出版物索引名(例如:biblio_backoffice_publications)
BIBLIO_BACKOFFICE_DATASET_INDEX          # 数据集索引名(例如:biblio_backoffice_datasets)
BIBLIO_BACKOFFICE_ES6_URL                # ElasticSearch URL(例如:http://localhost:9200)
BIBLIO_BACKOFFICE_MONGODB_URL            # MongoDB连接URL(例如:mongodb://localhost:27017/?directConnection=true&serverSelectionTimeoutMS=2000)
BIBLIO_BACKOFFICE_FRONTEND_ES6_URL       # 前端ElasticSearch URL(默认:http://localhost:9200)

可选环境变量

bash
BIBLIO_BACKOFFICE_MODE                   # 运行模式(默认:production)
BIBLIO_BACKOFFICE_PORT                   # 端口(默认:3000)
BIBLIO_BACKOFFICE_HOST                   # 主机(默认:localhost)
BIBLIO_BACKOFFICE_SESSION_NAME           # 会话名称(默认:biblio-backoffice)
BIBLIO_BACKOFFICE_SESSION_MAX_AGE        # 会话最大存活时间(默认:86400 * 30 // 30天)
BIBLIO_BACKOFFICE_HDL_SRV_ENABLED        # 句柄服务启用状态(默认:false)
BIBLIO_BACKOFFICE_HDL_SRV_URL            # 句柄服务URL(例如:http://localhost:4000/handles)
BIBLIO_BACKOFFICE_HDL_SRV_PREFIX         # 句柄服务前缀(例如:1854)
BIBLIO_BACKOFFICE_HDL_SRV_USERNAME       # 句柄服务用户名
BIBLIO_BACKOFFICE_HDL_SRV_PASSWORD       # 句柄服务密码
BIBLIO_BACKOFFICE_OAI_API_URL            # OAI API URL
BIBLIO_BACKOFFICE_OAI_API_KEY            # OAI API密钥
BIBLIO_BACKOFFICE_TIMEZONE               # 时区(默认:Europe/Brussels)

gRPC服务器特定环境变量

bash
BIBLIO_BACKOFFICE_HOST                   # 主机
BIBLIO_BACKOFFICE_PORT                   # 端口
BIBLIO_BACKOFFICE_ADMIN_USERNAME         # 管理员用户名
BIBLIO_BACKOFFICE_ADMIN_PASSWORD         # 管理员密码
BIBLIO_BACKOFFICE_CURATOR_USERNAME       # 数据管理员用户名
BIBLIO_BACKOFFICE_CURATOR_PASSWORD       # 数据管理员密码
BIBLIO_BACKOFFICE_INSECURE               # 不安全模式(默认:false)
BIBLIO_BACKOFFICE_TIMEOUT                # 超时时间(默认:5s)

gRPC客户端特定环境变量

bash
BIBLIO_BACKOFFICE_HOST                   # 服务器主机
BIBLIO_BACKOFFICE_PORT                   # 服务器端口
BIBLIO_BACKOFFICE_USERNAME               # 客户端用户名
BIBLIO_BACKOFFICE_PASSWORD               # 客户端密码
BIBLIO_BACKOFFICE_INSECURE               # 不安全模式(默认:false)

开发指南

开发环境搭建

本项目使用https://github.com/bokwoon95/wgo%E7%9B%91%E5%90%AC%E6%96%87%E4%BB%B6%E5%8F%98%E5%8C%96%E5%B9%B6%E8%87%AA%E5%8A%A8%E9%87%8D%E6%96%B0%E7%BC%96%E8%AF%91%E5%BA%94%E7%94%A8%E5%92%8C%E8%B5%84%E6%BA%90%EF%BC%9A

bash
cd biblio-backoffice
make dev
# 或
npm run dev

运行测试

项目包含Cypress集成测试:

  • 命令行运行测试:
bash
npm test
  • 记录测试结果到Cypress Dashboard:
    1. 将cypress/cypress-record.sh.example复制为cypress/cypress-record.sh
    2. 替换文件中的记录密钥为Cypress的密钥
    3. 运行:
bash
./cypress/cypress-record.sh
  • GUI模式运行测试:
bash
npm run cypress:open

SASS/SCSS及资源编译

安装Node依赖:

bash
npm install

使用wgo时资源会自动重新编译(见上文“开发环境搭建”)。手动构建资源:

bash
node esbuild.mjs
# 或
npm run build:assets

详细参考https://esbuild.github.io/%E3%80%82

数据库迁移

bash
go install github.com/jackc/tern@latest
cd etc/pg/migrations
PGDATABASE=biblio_backoffice tern migrate

更多信息参见https://github.com/jackc/tern%E3%80%82PostgreSQL%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E8%AF%B4%E6%98%8E%E5%8F%82%E8%A7%81PostgreSQL%E6%96%87%E6%A1%A3%E3%80%82

开发容器

本项目支持开发容器,可快速搭建容器化开发环境。

安装开发容器扩展

  1. 打开VS Code
  2. 访问Dev Containers扩展页面
  3. 点击“安装”按钮

配置开发容器

bash
cp .devcontainer.env.example .devcontainer.env

启动开发容器

  1. 在VS Code中打开项目目录
  2. 点击左下角绿色的“打开远程窗口”按钮
  3. 从弹出菜单中选择“在容器中重新打开”
  4. 成功打开后,左下角绿色按钮将显示“Dev Container: App name”
  5. 从“终端”菜单打开新终端

运行项目

bash
make dev

应用启动后,VS Code会弹出链接,点击即可在浏览器中访问项目。

网络端口

应用及依赖服务运行端口如下:

应用端口
Biblio后台管理3001
Mock OIDC3002
数据库应用3051
ElasticSearch3061

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 biblio-backoffice 镜像标签

docker pull docker.xuanyuan.run/ugentlib/biblio-backoffice:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull ugentlib/biblio-backoffice:<标签>

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

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

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

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

用户头像

oldzhang

运维工程师

Linux服务器

5

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

轩辕镜像
镜像详情
...
ugentlib/biblio-backoffice
教程轩辕镜像功能与使用教程
定价查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
专业版 · 高速稳定拉取镜像
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
50GB 仅 ¥7/年
专业版 · 高速稳定拉取镜像
50GB 仅 ¥7/年
高速镜像下载·在线技术支持·99.95% SLA 保障·付费会员免广告
商务合作:点击复制邮箱
用户协议·隐私政策·©2024-2026 源码跳动
用户协议·隐私政策©2024-2026 杭州源码跳动科技有限公司商务合作:点击复制邮箱

更多 biblio-backoffice 镜像推荐

sean8196/ubiblio logo

sean8196/ubiblio

sean8196
一个轻量级的个人图书馆管理系统,支持实体书和电子书统一管理,可与朋友分享或组建读书俱乐部,支持自托管、无广告、隐私保护,局域网/无网络环境运行,联网时还可进行联邦图书馆搜索。
1万+ 次下载
1 个月前更新
redhathackathon/backoffice logo

redhathackathon/backoffice

redhathackathon
Red Hat黑客松项目的后台管理系统镜像,基于LoopBack框架,整合MongoDB、Redis和MAX-OCR服务,提供API支持、数据存储、缓存及OCR识别功能,适用于快速搭建开发环境。
10万+ 次下载
5 年前更新
nesaku/biblioreads logo

nesaku/biblioreads

nesaku
BiblioReads的Docker镜像。来源:https://github.com/nesaku/BiblioReads-Docker
1 次收藏10万+ 次下载
13 天前更新

查看更多 biblio-backoffice 相关镜像