背景
记录一下本人VPS上搭建的几个专门为个人博客使用的一些工具软件,为了方便, 都是使用docker进行部署,并且为了便于保存,使用docker-compose方式启动,方便后续修改。
因为vps的规格较低,所以在挑选工具时,会尽量偏向于内存占用小的。
下面介绍一下用到的一些工具, 都采用docker自建服务。
公用数据库搭建
为了尽量减小资源,专门部署了一个mysql实例(docker方式),各个需要数据库的服务都会建立一个自己的库,然后都连接到这个实例上。
mysql实例的docker-compose.yml文件如下, 在这之前,需要创建一个docker网络,然后将所有需要连接到该数据库的docker服务都连接到该网络上即可,具体连接方法可参考下面的umami或waline中的配置。
此处创建的docker网络名为db-net,创建命令:docker network create db-net
mysql的docker-compose.yml文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| version: "3" networks: db-net: external: true services: mariadb: image: mariadb:10.5.9 container_name: mariadb restart: always environment: - MYSQL_ROOT_PASSWORD=****** - MYSQL_USER=root - MYSQL_PASSWORD=****** ports: - 3306:3306 networks: db-net: aliases: - mariadb volumes: - ${PWD}/data:/var/lib/mysql - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro
|
数据统计umami搭建
一个个人站点数据统计工具, 界面看上去比较清新简洁。
需要先连接到mysql上先创建一个数据库 umami,登录到数据库, 然后执行如下命令:
create database umami default character set utf8mb4 collate utf8mb4_unicode_ci;
docker-compose.yml文件内容如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| version: '3' networks: db-net: external: true services: umami: image: ghcr.io/mikecao/umami:mysql-latest container_name: umami ports: - "12000:3000" networks: db-net: aliases: - umami environment: DATABASE_URL: mysql://root:*****@mariadb:3306/umami DATABASE_TYPE: mysql HASH_SALT: ****** restart: always
|
在hexo博客根目录下的scripts目录,找到一个index.js文件(如果没有就自己创建一个),在里面加上如下一行:
1
| hexo.extend.injector.register('head_end','<script async defer data-website-id="****" src="*******"></script>','default');
|
其中 script 内容是从umami上获取的跟踪代码

评论系统waline搭建
一个博客的评论系统。可以自己部署。
需要先连接到mysql上先创建一个数据库 waline,登录到数据库, 然后执行如下命令:
create database waline default character set utf8mb4 collate utf8mb4_unicode_ci;
docker-compose.yml文件如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| version: '3' networks: db-net: external: true services: waline: container_name: waline image: lizheming/waline:latest restart: always ports: - 8360:8360 volumes: - ${PWD}/data:/app/data networks: db-net: aliases: - waline environment: TZ: 'Asia/Shanghai' MYSQL_HOST: mariadb MYSQL_PORT: 3306 MYSQL_DB: waline MYSQL_USER: root MYSQL_PASSWORD: ****** JWT_TOKEN: '******' SITE_NAME: '******' SITE_URL: '*******' SECURE_DOMAINS: '*********' AUTHOR_EMAIL: '**********' IPQPS: 10
|
这上面的一些配置可以自己查看文档, 传送门 https://waline.js.org/
上面的关键配置是SECURE_DOMAINS, 需要加上自己博客的域名, 否则你的博客将无法访问。