Rust构建的开源笔记Jotsy

周一开始,上海从 16 个区变成了 3 个区,封控区、管控区和防范区,当然这只是网友的调侃。

首批“三区”名单已经发布了,咱们杨浦没有管控区。眼看着还有 2 天就有希望从封控升级到管控,但是非常不幸,小区昨天出🐏 了。

周二开始小区团购暂停了,估计是大量的集中团购把志愿者累坏了。周一晚上收到了小苏同学公司发的物资包,有肉,有蛋,还有蔬菜,这要在平时也不值几个钱,但是在目前物流还不是很畅通的情况下,公司调了一辆大巴车一家一家的送菜,这波操作真是太暖心了。

今早又做了核酸,算是出了个门,放了个风。


前言

什么是 Jotsy ?

Jotsy 是一款使用 Rust 构建的自托管、免费、开源的笔记应用程序,其目标是简单。它由 Skytable 提供动力。

什么是 Skytable ?

Skytable 是一个快速、安全、可靠的实时 NoSQL 数据库,包含 keysapces、表格、数据类型、快照等,用于构建强大的应用程序。

Jotsy 官方提供了在线 demohttps://jotsy.skytable.io

可以先去体验,如果合适再考虑是否需要自己搭建。老苏觉得与其说 jotsy 是笔记不如说更像是便签,目前还处在比较早期

安装

docker 文件夹中,创建一个新文件夹,将其命名为 jotsy,再建个子文件夹 sdb

官方提供了 docker-compose.yml 文件,原版在这里:https://github.com/ohsayan/jotsy/blob/next/docker-compose.yml

为了方便管理数据,老苏做了微调

老苏的 docker 目录在 volume2 上,注意根据自己的修改

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
version: "3.9"
services:
skydb:
image: skytable/sdb:latest
ports:
- "2003:2003"
volumes:
- /volume2/docker/jotsy/sdb:/var/lib/skytable
networks:
- jotsy
command: skyd --noart -h 0.0.0.0 -p 2003
app:
image: ohsayan/jotsy:latest
depends_on:
- skydb
environment:
- JOTSY_HOST=0.0.0.0
- JOTSY_PORT=2022
- JOTSY_SKY_HOST=skydb
- JOTSY_SKY_PORT=2003
ports:
- "2022:2022"
networks:
- jotsy
networks:
jotsy:
  • 环境变量的简单说明,原文在:https://github.com/ohsayan/jotsy/edit/next/CONFIG.md
变量 说明
JOTSY_SKY_PORT 设置 Skytable 数据库端口
JOTSY_SKY_HOST 设置 Skytable 数据库主机
JOTSY_HOST 设置 Jotsy 应用程序的主机
JOTSY_PORT 设置 Jotsy 应用程序的端口
JOTSY_SIGNUP_ENABLED 启用/禁用新用户的注册。默认为true
JOTSY_DEPLOY_PROD 设置部署模式。如果设置为true,则使用所有 “production” 设置。默认为true

命令行安装

用命令行安装,需要下载 docker-compose.yml 文件,并将其放入 jotsy 目录,如果用 portainer 就不需要了

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 新建目录
mkdir -p /volume2/docker/jotsy/sdb

# 进入目录
cd /volume2/docker/jotsy

# 下载 docker-compose.yml 文件
curl -sSL https://raw.githubusercontent.com/ohsayan/jotsy/next/docker-compose.yml -o docker-compose.yml

# 如果下不动可以试试加代理 https://ghproxy.com/
curl -sSL https://ghproxy.com/https://raw.githubusercontent.com/ohsayan/jotsy/next/docker-compose.yml -o docker-compose.yml

# 如果在群晖上安装,建议你用老苏改的 docker-compose.yml 文件

# 一键启动
docker-compose up -d

在群晖 Docker 管理器中可以看到 2 个容器已经启动了

portainer安装

Stack –> Add stack

将前面老苏修改后的 docker-compose.yml 的内容贴入 Web editor,别忘了填上 Name

Name 注意不要用大写字母和特殊字符

点最下面的 Deploy the stack,然后等待完成

不出意外的话,在 Containers 中应该可以看到 2jotsy 开头的容器正在 running

在群晖 Docker 管理器中也是一样的

运行

在浏览器中输入 http://群晖IP:2022 就能看到登录界面

需要先注册用户,用户名不能少于 6 个字符,密码不能少于 8 个字符

http 协议下登录会陷入死循环,只有启用了 https 协议才行,原因是 Jotsy 拒绝在不安全的连接,所以老苏用 NPM(Nginx Proxy Manager) 做了反代, 再登录成功就能看到主界面了

支持 Markdown

参考文档

ohsayan/jotsy: Jotsy is a self-hosted, free and open-source note taking app with a goal of simplicity in mind
地址:https://github.com/ohsayan/jotsy

Jotsy
地址:https://jotsy.skytable.io/

Jotsy: A self-hosted, open-source note taking app built with Rust - Sayan’s Blog
地址:https://ohsayan.github.io/2022/02/jotsy-a-self-hosted-notes-app/