基础婊软件~

主要观点:作者热爱使用 NixOS,介绍了在 NixOS 上部署邮件服务相关的项目经历,包括更新代码、添加新功能以及解决升级问题等,还详细阐述了邮件服务模块的组成部分。
关键信息:

  • 2025 年 7 月 12 日使用 NixOS,喜欢其易用性和部署软件简单的特点。
  • 有一个自定义的 golang 服务工作者用于发送邮件,能保证邮件发送的幂等性。
  • 邮件服务的 webapp 运行在每月 5 美元的 Digital Ocean 盒子上,使用自动部署应用管道。
  • 服务器在家中是 NixOS 盒子,为部署新软件需写 Nix 模块和 systemd 启动脚本。
  • 写邮件服务模块时遇到模块定义在flake.nix中而需从configuration.nix引用的问题,最终解决并部署成功。
  • 最近添加了更好的时事通讯功能,更新mailer代码并轻松部署,还解决了 nixpkgs 的升级问题。
  • 邮件服务模块由default.nix提供构建指令(使用gomod2nix处理 golang 依赖)和module.nix(包含配置设置和 systemd 服务定义)组成。
    重要细节:
  • 2023 年最后更新邮件中间件代码,很少触及。
  • 部署新软件时先写 Nix 模块再写 systemd 启动脚本,过程有一定开销。
  • 升级 nixpkgs 时遇到一个 bug,通过中途更新解决。
  • Nix 能将软件配置和部署指令都放在同一仓库,便于文档和重复使用。
阅读 8
0 条评论