Versun


看完 扎克伯格和Dwarkesh Patel访谈podcast,总算明白Meta为啥要开源Llama大模型和开放Quest的Horizon系统
虽然对Meta没好感,但还是佩服扎克伯格的战略眼光

2024-04-24


人变老的一个迹象就是喜欢看照片。
以前是拍了没时间看,现在是有时间就看

2024-04-24


总算给 RSS翻译器 添加了 AI 摘要功能,可单独指定引擎,比如翻译使用DeepL,摘要使用GPT,完美配合。
还加了摘要细粒度控制,对长文更友好。
同时还优化了 AI 提示词的设置,现在可以给每个RSS源添加额外的提示词,方便针对性优化

2024-04-24


"我可不能接受周末休息是为了有力气去上班"😄

2024-04-25


早上才发现我博客的feed链接有问题。。。。。
现在修复了
Feed: rss, json

2024-04-25


朋友:“我现在学哪个编程语言能战未来?” 我:“前端JS,后端Go,底层Rust” 朋友:“那你学的是哪个?” 我:“Python”

2024-04-25


分享篇文章<做为独立开发者的这两年>,作者Justin Duke从Stripe公司离职后,创办了Buttondown,做为独立开发者,工作生活难平衡,虽灵活但更孤独,而且收入并没有比工作时的多。 “但是,如果你认为它可能适合你,如果不是现在,那是什么时候?”

2024-04-25


原来python的format函数是必需给所有的占位符赋值的,不能只赋值其中一个。
比如下面的代码会报错,因为country没有赋值

my_str = "My name is {name}, I'm from {country}"     
print( my_str.format(name='Versun') ) 

所以如果对于用户输入的字符串,比如用于AI的提示词,用replace更合适些。

2024-04-25


昨晚是不是发生了什么?
国内的RSS都挂了,刚刚手动更新后恢复了

2024-04-26


不要再折腾软路由了,试一试搭个ISP🤣
Start Your Own ISP

2024-04-26


好希望我也能写出这么个玩具来
一台图灵16位计算机,实现了CPU、汇编器、虚拟机翻译器和编译器的规范,同时将该平台移植到web上,并集成开发环境和用户界面
NAND

2024-04-26


Pegasus的Django SaaS模板看起来很不错啊
前端用htmx,CSS框架可选bulma和tailwind,
还内置了登录系统和Stripe订阅,还有REST API,省了很多事情,就是稍微有点贵

2024-04-26


总算忙完工作了,我要开始重装我的 Home Server 了
从原先的 Debian + Yunohost 系统转为Ubuntu + Dockge
理由:
1. 为了装更多应用压榨VPS的8G内存
2. 使用docker方便调试
3. Yunohost很多应用的更新没法及时跟上
4. Caddy在Debian下有很多小问题,Ubuntu就能一键启用,很奇怪

2024-04-26


我每周最勇敢的时刻:将“全部标为已读”

2024-04-26


CommaFeed的移动端界面比Miniflux好用很多

2024-04-26


我的Home Server迁移记录

本篇文章记录了我的Home server从原先的 Debian + Yunohost 迁移到 Ubuntu + Dockge的过程
迁移理由:
1. 为了装更多应用压榨VPS的8G内存
2. 使用docker方便调试和开发
3. Yunohost很多应用的更新没法及时跟上
4. Caddy在Debian下有很多小问题,Ubuntu就能一键启用,很奇怪

备份已有应用的数据

好在所有的应用都提供了导出数据功能,所以很快就完成了备份

初始化系统

  1. 将系统重装为Ubuntu 22.04后,升级重启。
  2. 安装必需软件:apt install vim sudo curl uidmap fail2ban -y
  3. 启用fail2ban:systemctl enable fail2ban
  4. 创建非root用户:adduser versun
  5. 将versun用户加入sudo:visudo
  6. 配置sshd:vim /etc/ssh/sshd_config 禁止root登陆和密码登陆 PasswordAuthentication no PermitRootLogin no
  7. 重启sshd服务:sudo systemctl restart sshd
  8. 给versun用户添加ssh public key
su versun
mkdir ~/.ssh
echo "Your ssh public key" > ~/.ssh/authorized_keys

sudo chmod 600 ~/.ssh/authorized_keys

  1. 新建一个终端使用versun账户和密钥确保能登陆成功。

安装Docker

根据官方文档安装即可
将versun账户添加到 docker 组,以便以非root用户身份运行 Docker 命令:sudo usermod -aG docker versun
重启或者重新登陆versun账户

安装Caddy

同样,根据官方文档安装即可

安装Dockge

官方安装步骤如下:

#Create directories that store your stacks and stores Dockge's stack
mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge

#Download the compose.yaml curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml –output compose.yaml

在下载完compose.yaml后,我们需要修改端口,将- 5001:5001改为- 127.0.0.1:5001:5001
因为我使用caddy来代理服务,所以就限制它只能通过本地访问,而不是暴露到外网。
然后启动服务:docker compose up -d

配置Caddyfile

修改/etc/caddy/Caddyfile,内容参考如下

{
        log {
                output file /var/log/caddy/versun.log
        }
}
dockge.example.com {
        reverse_proxy localhost:5001
}
blog.example.com {
        reverse_proxy localhost:8001
} 

个人比较喜欢使用subdomain的形式,但每个subdomain都要在域名服务商那添加,你也可以使用子路径形式,更方便:

versun.me {
        reverse_proxy /dockge/* localhost:5001
        reverse_proxy /blog/* localhost:8001
} 

修改完后,格式化下文件:sudo caddy fmt /etc/caddy/Caddyfile --overwrite
然后重载配置:sudo systemctl reload caddy

配置Cloudflare的DNS记录

强烈建议使用Cloudflare来管理DNS记录,不仅有免费CDN,还有免费的代理防止服务器IP泄漏,还有防基础的DDOS。
添加A记录到你的服务器IP,并开启Proxy
然后在左侧面板,选择SSL/TLS,将加密模式设置为完全(Full)
过1分钟左右,通过域名应该就能访问到你的服务了。

安装应用

之后就是在Dockage上安装Docker应用,基本步骤如下: 1. 修改应用的docker compose内容中的port为只监听本地
2. 修改caddyfile配置文件,添加服务端口
3. 重启caddy
4. 配置DNS记录

注意:如果有需要映射文件夹的,需要确保映射到当前路径:./,这样才能确保所有数据都在/opt/stacks里面。

定时备份docker数据

我使用backblaze的b2服务。
1. 下载官方的b2程序
2. 执行命令:

   chmod a+x b2-linux
   sudo mv b2-linux /usr/bin/b2 
  1. 在backblaze上创建私有存储桶和新的应用密钥
  2. 使用root完成认证: sudo b2 authorize-account
  3. 首次上传:sudo b2 sync /opt/stacks/ b2://Your-Bucket-Name/
  4. 创建cron定时任务:sudo crontab -e
   # 每周一的3点上传一次,以本地版本为准,旧版本保留30天,
   0 3 * * 1 /usr/bin/b2 sync --keep-days 30 --replace-newer /opt/stacks/ b2://Your-Bucket-Name/  >> /var/log/b2sync.log 2>&1 

完成

其它

你也可以安装一个Homepage,方便汇总所有的服务,挑一个吧:Homepage, Dashy, Homer, Homarr
如果没有自带认证的,可以使用caddy来做认证

2024-04-27


Contents