很久之前我在OneNote里面构建了一个表格,里面存储着我对看过的动漫,动漫角色,玩过的黄油等东西的评分,游玩时间之类的,博客搭完之后我就一直在研究要怎样也弄一个线上图书馆,最近终于是有闲工夫来搞一搞这个东西了。

我打算像是聊天工具一样,也搭建在同域名下,也就是library.sorachan.top。使用的工具在nocodb和baserow中都尝试了一下还是决定用baserow了,因为感觉更适合我目前的应用场景,而且更换branding貌似更加容易。但是实际上,我使用的方法里这两个并无区别,因为我都是先pull一个固定版本的docker镜像,之后对其中的特定logo文件进行替换实现的简单de-branding。

  1. 下载特定版本镜像docker pull nocodb/nocodb:0.262.5
  2. 找到需要替换的文件,一般除非开发者有意为之,否则大概率就叫做logo和favicon之类的。

首先进入docker内部docker run --rm -it --entrypoint sh nocodb/nocodb:0.262.5
然后尝试搜索相关文件,使用find / -type f \( -iname '*.png' -o -iname '*favicon*.ico' \)命令可以得到以下图片和favicon文件:

/usr/src/app/node_modules/nc-lib-gui/lib/dist/icon.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/favicon.ico
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/reddit.CmoO7od6.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/form-banner-right.BmbQm2JY.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/linkedin.CQlPkBMy.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/nocodb-pg-integration.FHQFpA2d.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/whatsapp.CDnmVFOs.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/no-search-result-found.utg9F49C.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/form-banner-left.DrBQfBtv.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/256x256.DJId9Ub8.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/256x256-trans.DTiHZPNV.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/nocodb.EOS_OGkb.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/pinterest.CxzdCn1I.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/gallery.Cd9ckno3.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/form.DESRCJtL.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/multi-field-editor.DjOPELNE.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/icon.Fyf0dzyP.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/extension.CBcLQfn4.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/grid.DUgR9AKo.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/link-records.BXQG6er6.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/kanban.C7eL09OH.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/calendar.XdsCSkJk.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/nocodb-full.BbgMiZUt.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/api-tokens.DEwwjpuX.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/recent-exports.DqvzhmHb.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/table.BosIpfXe.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/twitter.BUzEySQS.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/recent-exports-modal.DYxZXmPm.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/FileIconImageBox.BDhzy1tX.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/_nuxt/invite-team.Bc8QnPYB.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/plugins/s3.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/plugins/discord.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/plugins/upcloud.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/plugins/spaces.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/plugins/minio.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/plugins/whatsapp.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/plugins/ovhCloud.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/plugins/mattermost.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/plugins/gcs.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/plugins/scaleway.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/plugins/twilio.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/plugins/vultr.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/plugins/r2.png
/usr/src/app/node_modules/nc-lib-gui/lib/dist/plugins/aws.png
/usr/src/app/docker/public/icon.png
/usr/src/app/docker/public/favicon.ico
/usr/share/pixmaps/debian-logo.png
/usr/local/lib/node_modules/npm/node_modules/qrcode-terminal/example/basic.png

SoraLib Logo,替换后

  1. 构建一个小的Dockerfile用来保存替换命令,首先需要将自制的图片上传至服务器,并保存在一个新的文件夹nocodb-custom下,之后新建文件Dockerfile,其中内容为:

    FROM nocodb/nocodb:0.262.5

    COPY favicon.ico /usr/src/app/docker/public/favicon.ico
    COPY favicon.ico /usr/src/app/node_modules/nc-lib-gui/lib/dist/favicon.ico

  2. build自己版本的nocodb

    cd ./nocodb-custom
    docker build -t nocodb-mybrand:0.262.5 .

  3. 尝试移除左下角的pub,可惜的是虽然gpt的o3模型已经很逆天的能搜索nocodb的源代码并教我怎么修改了,但是感觉还是有些麻烦,我稍作尝试也只是移除了一些文字,框和超链接都还在就很烦。但是在o3的思考过程我发现了一个issue里面提到了一个没有pub的替代品叫做teable,打算尝试一下。
  4. Teable的部署过程稍微麻烦一点点,但是部署成功后的页面的确branding少了很多,除了左上角一个图标基本上看不到什么。暂时先这样用着。
最后修改:2025 年 04 月 30 日
如果觉得我的文章对你有用,请随意赞赏