最近在搭建个人博客,最开始的时候使用Halo,但是奈何服务器2C2G的配置遭不住Java内存大户,所以只能寻找替代品,最后找到了go-sonic,使用golang开发,内存占用小,而且现在我主要开发语言也是golang,正好拿来就用,修改也方便。

该文章记录了修改源码,修改主题,自己打包docker镜像并且使用docker-compose部署的过程。

使用官方的镜像包,新建docker-compose.yaml文件

version: "3"
services:
  gosonic:
    image: gosonic/sonic
    container_name: gosonic
    restart: always
    environment:
      TZ: Asia/Shanghai
    hostname: gosonic
    networks:
      - my-net
    ports:
      - 8080:8080
    volumes:
      - ./:/sonic # 可以映射资源和配置文件
networks:
  my-net:   # 指定网络,因为nginx proxy manager  和 mysql 都是通过docker-compse 运行的
    external: true

运行 docker-compose -up d 命令启动服务,可以在当前目录下看到

ubuntu@VM-8-14-ubuntu:/data/gosonic_tmp$ ls
conf  deply.sh  docker-compose.yaml  logs  resources    sonic.db  upload

这里需要修改confi/config.yaml配置文件,如果使用mysql数据库需要将sqlite3.enable =false 并修改mysql的配置,同时实测要改logging.level.app = bebug否则访问首页会报错。

server:
  host: 0.0.0.0
  port: 8080
logging:
  filename: sonic.log
  level:
    app: info #  debug,info,warn,error
    gorm: warn #  info,warn,error,silent
  maxsize: 10 # 单位 megabytes
  maxage: 30 #单位 天
  compress: false # 是否对旧日志使用gzip进行压缩
sqlite3:
  enable: false
mysql:
  host: 127.0.0.1
  port: 3306
  db: sonicdb
  username: "root"
  password: "12345678"

修改完成后运行docker-compose restart重新部署使用新配置文件,通过NPM配置一下域名(nginx proxy namager 可以参考我另一个博文),就可以在浏览器打开了。
sonic-install
设置成功就可以访问/admin地址就可以访问管理后台。

安装主题

现在已经可以正常运行管理后台,不过博客首页展示文章的页面还是不能访问,因为官方镜像包里没有主题包 ,需要在管理后台外观->主题添加,go-sonic里有推荐的主题,复制git地址就可以远程下载安装主题。
install_theme

再打开首页(无/admin地址),应该就可以正常使用了,下篇介绍怎么完善和修改主题。