首页 / 资讯中心 / 文章详情

VOZEB PRO 媒体存储完整说明:本地目录、S3 对象存储、引用保护与备份恢复

VOZEB PRO 媒体存储完整说明:本地目录、S3 对象存储、引用保护与备份恢复 ★ FEATURED ARTICLE
【免费下载链接】VOZEB-PROVOZEB PRO从创作简报、视觉方向、物料规划到一致性生成与自动视觉复盘的 AI 创作工作台。项目地址https://gitcode.com/gh_mirrors/vo/VOZEB-PRO点击查看免费下载VOZEB PRO 是面向 AI 创作的完整平台所有图片、视频、音频等生成与上传内容都需要可靠存放。本文带你快速看懂它的媒体存储机制默认使用服务器本地目录可随时切换 S3 兼容对象存储删除文件前有引用保护配合业务备份与灾备恢复新手也能安全运维。VOZEB PRO 的媒体存储可以概括为三条主线本地目录默认媒体写入服务器VOZEB_PRO_DATA_DIR数据目录开箱即用S3 兼容对象存储可选适配 AWS S3、阿里云 OSS、腾讯云 COS、MinIO 等在管理后台即可配置引用保护 备份恢复任何删除动作都会先检查业务引用备份体系覆盖业务数据与完整灾备两个层次。一、本地目录存储默认开箱即用外部存储关闭时所有图片、视频和音频都写入VOZEB_PRO_DATA_DIR指定的数据目录目录结构按“来源 时间”清晰分层目录内容reference-assets/permanent/YYYY/MM/DD/...用户上传的长期参考素材图片/视频/音频generation-assets/permanent/YYYY/MM/DD/...生成日志中的产物媒体reference-assets/temporary/...临时参考素材默认 24 小时过期几个值得注意的设计稳定 storageKey文件会被重命名为“日期时间 UUID”业务侧只保存稳定的storageKey不依赖文件名和磁盘路径天然适配后续迁移到对象存储媒体登记每个文件在登记表中记录归属用户、来源Agent 工作台、图片生成、Canvas、短剧、用户上传等、原始文件名和关联业务见 local-media-registry.ts容器部署必须持久化整个数据目录标准 Compose 中对应vozeb-pro-data数据卷生产备份必须同时覆盖 PostgreSQL 与该数据卷。相关文档与类型定义configuration.mdx“媒体存储”一节、local-media-storage-contract.ts。在用户端你随时可以在“我的素材”中查看自己上传和生成的媒体二、S3 兼容对象存储后台三步配置媒体量增长后推荐切换到 S3 兼容对象存储。管理员进入管理员后台 → 系统管理 → 外部存储填写以下参数即可Endpoint / Region / Bucket对象存储服务地址、区域和存储桶Access Key / Secret Key访问密钥仅保存在服务端页面回显脱敏对象前缀所有 VOZEB PRO 对象在该 Bucket 下的统一路径前缀便于与其他业务隔离path-style 模式适配 MinIO、自建网关等使用路径风格地址的服务。配置说明与核心函数见 object-storage-contract.ts 和 object-storage-service.ts。开关只影响新文件这是最容易误解的一点外部存储开关只决定新文件的写入位置。开启后新上传和新生成媒体只写对象存储本地不保留持久副本关闭后新媒体恢复本地写入历史媒体始终按各自登记的 Provider 读取——不会因为开关变化而“搬错家”。把已有本地媒体迁移到 S3后台提供“迁移本地媒体”按钮分批默认每批 20 个将历史文件搬移到对象存储安全规则非常明确只有对象上传并登记成功后才会删除本地源文件。迁移结果会分别报告已迁移、跳过、失败和剩余数量失败的条目会保留本地源文件并给出错误详情实现见 migrateLocalMediaToObjectStorage。三、引用保护删文件前先查业务引用这是 VOZEB PRO 媒体管理最有价值的安全机制任何删除操作手动单删、批量删除、过期清理、外部存储对象删除都会先重新统计全站引用包括创作会话Agent 对话素材库我的素材Canvas 项目短剧项目生成记录发布作品仍有引用的对象会被自动保留并在结果中明确报告“被阻断”的数量和引用数。用户端和后台的提示语都直白地体现了这一点例如“N 个文件仍被业务记录引用已保留其余文件已删除”。对应实现本地媒体管理界面admin-local-media-storage.tsx外部存储对象管理admin-external-storage.tsx过期清理还叠加在维护接口/api/maintenance/data-lifecycle/run中由部署方 Cron 定期调用。四、备份与恢复两层体系VOZEB PRO 的备份分为“业务备份”和“完整灾备”两个层次各解决不同问题。1. 后台数据备份脱敏业务数据管理员在系统管理 → 数据备份一键导出/导入脱敏业务 JSON包含账号与系统业务设置、公共提示词和生成记录。关键安全特性导出走独立 POST 接口返回private, no-store脱敏数据导入只做合并不删除备份中缺失的用户或记录PostgreSQL 使用事务保护失败自动回滚敏感凭据不会被上传文件覆盖操作全程写入审计日志但不记录密钥和备份正文。注意边界业务 JSON不包含Canvas、素材、媒体原件、短剧、订单和对象存储完整清单它不是整库灾难恢复包。实现见 admin-data-backup.tsx 与 admin-backup-auth-restore.ts。2. 完整灾备数据库 本地媒体 对象存储生产环境建议用仓库自带的灾备脚本生成完整恢复点备份disaster-backup.mjs 会依次执行pg_dump数据库转储、快照本地媒体目录、按登记配置下载对象存储对象并生成带文件哈希的恢复点清单恢复disaster-restore.mjs 要求输入完整恢复点 ID 确认先自动创建“恢复前安全副本”数据库 媒体快照再用pg_restore单事务恢复最后写恢复报告。官方运维清单还强调了几条红线见 production-readiness.mdx本地媒体目录、S3/OSS 对象和对象存储配置必须分别备份不要只备份数据库就假设媒体可恢复至少保留每日自动备份、异地副本并定期做恢复演练——备份任务成功不等于恢复可用恢复备份时必须同时验证加密密钥VOZEB_PRO_ENCRYPTION_KEY可用性不能只恢复数据库和媒体。五、常见问答Q不开 S3 会丢媒体吗不会但务必持久化数据目录Docker 卷或磁盘挂载并把 PostgreSQL 与媒体目录都纳入日常备份。Q切换到 S3 后老图片打不开了不会。历史文件按自身登记的 Provider 读取开关只影响新文件。Q为什么我删文件时提示“已保留”引用保护在起作用该文件仍被会话、素材、Canvas、短剧或生成记录引用。请先在对应业务中移除引用再清理文件。Q管理员 MFA 丢了怎么办可在服务器执行pnpm -C web reset:admin-mfa -- --username 账号清除 MFA 并撤销其全部 Session见 reset-admin-mfa.mjs。总结主题关键要点本地目录默认写入VOZEB_PRO_DATA_DIR按来源与日期分层必须持久化S3 对象存储后台配置 Endpoint/Bucket/密钥开关只影响新文件迁移分批上传登记成功后才删本地源文件失败自动保留引用保护删除前统计全站引用有引用的对象自动保留并报告备份恢复业务 JSON 合并恢复 数据库/媒体/对象存储完整灾备演练按这套机制操作从单机体验到生产多桶部署你的每一份 AI 创作成果都有清晰的存放位置和保护边界。赞分享【免费下载链接】VOZEB-PROVOZEB PRO从创作简报、视觉方向、物料规划到一致性生成与自动视觉复盘的 AI 创作工作台。项目地址https://gitcode.com/gh_mirrors/vo/VOZEB-PRO点击查看免费下载相关推荐Tile38云存储集成S3兼容对象存储备份方案Tile38云存储集成S3兼容对象存储备份方案 Tile38作为实时地理空间数据存储系统Real time Geospatial and Geofencin数据库后端build-your-own-x从零复刻自己的技术栈完整指南30 个领域教程清单build your own x从零复刻自己的技术栈完整指南30 个领域教程清单 build your own x 是一个面向开发者的复刻教程索引它教程知识库文档AssetRipper 免费 Unity 资产提取工具把游戏二进制文件变成可打开的工程十分钟搞定AssetRipper 免费 Unity 资产提取工具把游戏二进制文件变成可打开的工程十分钟搞定 AssetRipper 是一款免费开源的 Unity 资产逆向工程开发工具游戏开发桌面应用上一篇ThinkPad 风扇控制完整指南TPFanCtrl2 双风扇智能调速从入门到进阶下一篇UE4 Pak分析实战一步步用UnrealPakViewer拆解游戏资源包零基础完整教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
阅读完成 · 觉得有帮助?
咨询建站