局域网docker搭建个人Blog,作为个人知识库

2023-11-12 19:42:06 15点赞 126收藏 9评论

我一直都用语雀作为个人的知识库写作工具。但语雀最近频繁的宕机事故让我还是想找一个知识库写作的备用方案。我想到了用个人Blog来管理文章,为了省事优先考虑了可基于docker容器搭建,而且编辑器比较好用的Blog程序。找到了halo和djangoblog,最后觉得halo是一个不错的解决方案。

halo是一个开源建站工具,可以基于docker容器部署是一大特色,由于需要用到多个容器所以还是用docker-compose部署更简单:

局域网docker搭建个人Blog,作为个人知识库

version: "3" services: halo: image: halohub/halo:2.10 container_name: halo restart: on-failure:3 depends_on: halodb: condition: service_healthy networks: halo_network: volumes: - ./halo2:/root/.halo2 ports: - "8090:8090" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"] interval: 30s timeout: 5s retries: 5 start_period: 30s command: - --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo - --spring.r2dbc.username=halo # PostgreSQL 的密码,请保证与下方 POSTGRES_PASSWORD 的变量值一致。 - --spring.r2dbc.password=openpostgresql - --spring.sql.init.platform=postgresql # 外部访问地址,请根据实际需要修改 - --halo.external-url=http://localhost:8090/ halodb: image: postgres:15.4 container_name: halodb restart: on-failure:3 networks: halo_network: volumes: - ./db:/var/lib/postgresql/data ports: - "5432:5432" healthcheck: test: [ "CMD", "pg_isready" ] interval: 10s timeout: 5s retries: 5 environment: - POSTGRES_PASSWORD=openpostgresql - POSTGRES_USER=halo - POSTGRES_DB=halo - PGUSER=halo networks: halo_network:

halo部署完成之后,通过 http://IP:8090 访问管理后台,并进行账号初始化:

局域网docker搭建个人Blog,作为个人知识库

halo的后台很简约,整个站点的风格也是那种简约的轻blog风。之所以我觉得halo比较好用是因为halo的编辑器挺不错:编辑器支持粘贴上传图片,支持代码块显示,还可以通过插件拓展Markdown等。虽然打不过语雀编辑器,但是也够用了(语雀编辑器能开源就好了)。

局域网docker搭建个人Blog,作为个人知识库

网站界面支持深浅色切换,整体界面比较简约。由于我只是为了折腾一个文章存档环境,所以也没必要整那些花里胡哨的美化:

局域网docker搭建个人Blog,作为个人知识库

halo编辑器支持粘贴上传图片,上传后的图片可以在附件管理中找到和管理:

局域网docker搭建个人Blog,作为个人知识库

halo有备份和恢复功能,只要你定期创建数据备份,文章存档的安全性也是有保障的。而且因为只是作为个人写作工具,也不用去考量服务器优化、网站访问压力等其它问题。只需要容器部署一下就可以用了。

局域网docker搭建个人Blog,作为个人知识库

当然如果你有个人的云服务和域名,可以考虑将其部署在线上(有了域名访问带图文章可以直接复制发布到其它平台,操作很方便)。但是域名需要备案,以论坛、blog为类别的网站备案是最难的。所以即使要部署在线上,建议关闭评论功能,且站点不要和blog挂钩。

局域网docker搭建个人Blog,作为个人知识库

一直都有整理知识库的需求,其实在值得买上分享文章也可以看做是个人知识库的一种备份,但毕竟不能什么内容都往平台上发,所以还是少不了搭建一个个人的知识库。

展开 收起
9评论

  • 精彩
  • 最新
  • 到最后,我选择了dokuwiki,如果blog,我觉的我现在会选择php+sqlite的zblog

    校验提示文案

    提交
    哪有 php+sqlite 的程序?

    校验提示文案

    提交
    typecho,zblog都支持sqlite的

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 再申请个免费的.eu.org域名,再安装个cloudflare tunnel把网站发布出去,就ok了。

    校验提示文案

    提交
    真要做网站那就又是另一个故事了

    校验提示文案

    提交
    不如直接用github页面托管

    校验提示文案

    提交
    收起所有回复
  • 这个有适配的小程序框架,用着很方便

    校验提示文案

    提交
  • 最终花68买了思源

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
126
扫一下,分享更方便,购买更轻松