把Hugo博客部署在自己的服务器上

按道理来说,没人会这么做,因为Github、Netlify、Vercel之类的能保存静态博客的地方太多了,所以网上也没什么教程,起因是我受够了Github,每次仓库Action,保存到Pages,然后main分支就会提醒我落后于gh-pages分支,两个分支又没法合并,而且Github Pages在国内的访问速度懂得都懂。还有一个原因是博客的评论系统从Valine切换到了Waline,保留了以前的所有数据,并且部署到了VPS,这样一来也有理由把博客整个放到VPS上了。

首先考虑要不要保留版本控制功能,如果不需要的话,大概下载一个Hugo的二进制程序,然后自己构建源码,再用一个Web服务器,顺便解决SSL证书,就完全没问题了,但是这样每次更新博客的时候需要ssh到Hugo源码目录编辑,就算是用WebDAV挂载源码目录或者Syncthing同步,也免不了,也需要在本地有hugo的二进制程序,而且出门在外的话,是没有办法很方便写博客的。

»

doubanio反代

因为一直都是用一个电影信息查询脚本来更新电影信息,都是豆瓣上的信息,海报也是豆瓣的,但是最近几天img9.doubanio.com开始抽风,说什么错误代码:418 I'm a teapot,完全不让白嫖了,好在现在AI强大,就撸了一个Cloudflare Workers的代码,但是这东西如果用超了毕竟是要收费的,好在VPS的流量足够多,就直接在VPS中反代就好了。

以前都是用nginx-proxyNginx Proxy Manager,最多用过caddy-docker-proxy,但是这几个东西的主要作用是代理本地的Docker容器,NPM凑合能用,但是搞不定Referer,AI问了一圈,最后自己撸Caddyfile才是王道(主要是Nginx需要自己搞定证书,有点繁琐)。

»

在Daocloud安装自定义的Ghost Docker

Daocloud默认赠送2x的容器,正好运行一个Ghost博客,但是Daocloud官方提供的Ghost的安装不能自定义模版和配置。所以我们必须在Docker里做一些更改。

本人对Docker也是小白一枚,所以过程是比较复杂的,但结果很简单。

首先准备一个Git仓库,最好是私密的,因为会储存个人配置和修改过的模版。

首先是修改配置,这里不用Daocloud的持久化存储(因为会占用容器),数据库使用Daocloud提供的MySQL,附件使用七牛云,邮件系统使用Mailgun,production部分配置如下:

»