
本文详细记录了仓库迁移的三个关键步骤。首先,在SaaS端创建空白仓库,并生成具有内容读写权限的个人访问令牌(PAT)。其次,通过git clone --bare命令下载旧仓库的Git数据库,并利用git push --mirror将完整代码及历史记录镜像推送到新仓库。最后,在本地开发环境中执行git remote set-url命令更新远程仓库地址,经git fetch验证无误后即完成迁移工作。

最近体验了一款开源自托管电子书管理系统——BookLore,感觉非常适合个人或小型社群搭建自己的数字图书馆。它支持多种电子书格式,拥有现代化的网页界面和多用户功能,能自动抓取封面和元数据,还支持OPDS和第三方阅读器同步。安装上手也比较简单,支持Docker部署。日常管理如新建Library、上传书籍、书架分类都很方便,统计和设置也很强大。唯一要注意的是资源消耗较高,适合配置稍高一点的服务器。

受公司数据安全政策影响,我不得不由Postman转向了开源API测试工具Bruno。文章详细介绍了Bruno的下载安装、Workspace和Collection管理、请求配置、变量与环境变量使用、Git集成及测试能力等核心功能,并通过丰富截图与操作说明,展示了Bruno的易用性和灵活性。对于日常API测试需求,Bruno已能满足大部分开发者的使用场景。

BookStack是一个基于PHP和MariaDB的知识管理系统。它以“书架”模式组织知识,结构清晰,支持WYSIWYG和Markdown编辑,并具备全文搜索、权限管理等功能。文章详细指导了如何使用Docker Compose部署BookStack,包括数据库配置和Nginx反向代理。部署过程简单,资源消耗低,应用和MariaDB总内存占用约100MB,适合个人或企业内部知识管理。

在将Portainer升级到Community Edition 2.33.5 LTS版本后,遇到了本地环境无法加载、Stack管理失效的问题。尽管容器本身仍在运行,但Portainer界面显示环境为“Down”,且无法通过UI管理现有Stack。尝试了多种方法,包括重建Portainer容器、删除Portainer数据库并重新初始化,但这导致Stack虽然可见,却带有“有限控制”的提示,且无法正常部署。 尝试重新部署Stack时,系统提示同名Stack已存在。最终的解决方案是:发现重新部署的Stack使用了新的项目ID,导致无法关联旧数据。通过删除新Stack的数据,并将旧Stack的数据文件夹复制到新项目ID对应的位置,然后执行docker compose up,成功恢复了所有Stack及其数据,解决了管理难题。