私人笔记的选择
人生的第一个搬得上电脑屏幕的笔记给了一个叫“印象笔记”的家伙,喜欢上了备忘,写写琐事,剪剪网页,记录了我800多篇笔记。后来需要多端同步,好家伙,给我限制了只能2台设备同时登陆,在忍受了一段时间后接触了有道云笔记。有道云笔记那时还没有限制登陆设备,想着也支bai持piao下国货,换上了新笔记——有道笔记。
好景不长,有道云笔记也开始限制登陆设备了。所以又是在寻找笔记软件的路上,直到遇到了Joplin
。
为什么是Joplin?
其实也没为什么,就像美丽的一天遇到一件美丽的事,然后再去了解她,继而深深喜欢上她,仅此而已。
Joplin身上的优点可以如数家珍一般,就像下面列举的:
- 开源笔记软件,免费。作者就是为了替换印象笔记的,所以习惯了印象笔记,应该会喜欢上Joplin
- 多平台支持。Windows,Mac、安卓、IOS主流平台都支持
- 多端同步,且不限制同步客户端数量
- 数据安全,支持端对端加密(E2EE)
- 有较多的插件。不敢用丰富描述,但也不少,我最喜欢的是
Web clipper
- 支持Markdown。自从习惯了md,这必须是加分项
等等以上优点,还有的就不列举,深度使用的还可以自己定制,做很酷炫的效果。
同步服务器的选择
Joplin支持多种同步方式,收费的云服务Joplin Cloud,还有第三方的云盘如Dropbox、OneDrive,还有自建的云盘Nextcloud、或者通过WebDAV协议来进行同步,最主要的有Joplin Server方式。
开始用网盘来做同步,发现速度很慢,如果在新的设备同步笔记,能用上一天,心累~后面尝试了下Joplin Server,速度真的是天壤之别。所以后面就以Joplin Server作为同步服务器来搭建。
搭建前提准备
首先要有一个安装了docker的服务器了,要快速搭建,docker首选。如果一个个去安装、配置,说不定还骂我,写的啥,根本跑不起来!所以,简单就是王道,越简单越不会出错。
可以访问的服务器怎么搭建就不在这个话题内了,默认就是有了可以访问的ubuntu server,其他操作系统那就自己改一改后面提供的命令了。
没有安装docker的,安装下:
sudo apt install docker docker.io
安装Joplin server
Joplin需要一个数据来存储数据,选择了PostgreSQL(PostgreSQL的Slogan是“世界上最先进的开源关系型数据库”),不为什么,就是要快,搭配好了的。咱们就一股脑一起安装了。
1. 拉取镜像:
docker pull joplin/server
docker pull postgres
第一个是joplin server的官方镜像,第二个是数据库的官方镜像。
2. 创建配置
tee /opt/container/joplin_server/conf/.env<<EOF
APP_BASE_URL=https://${SERVER_NAME}/joplin
APP_PORT=22300
DB_CLIENT=pg
POSTGRES_PASSWORD=joplin123
POSTGRES_DATABASE=joplin
POSTGRES_USER=joplin
POSTGRES_PORT=5432
POSTGRES_HOST=server.postgres
EOF
主要写个.env
配置文件,如果不喜欢我写的路径/opt/container/joplin_server/conf
,那就把它改掉。
APP_BASE_URL
配置网站URL,必须改成自己的,比如https://blog.csdn.net
APP_PORT
运行端口,默认就好DB_CLIENT
配置数据类型,pg就是PostgreSQL啦,不要修改POSTGRES_PASSWORD
数据库密码POSTGRES_DATABASE
数据库DB名称POSTGRES_USER
连接数据库的用户名POSTGRES_PORT
连接数据库的端口POSTGRES_HOST
数据库服务器地址
3. 运行镜像
3.1 运行postgres
docker run -it --name joplin-postgres \
-e POSTGRES_PASSWORD='joplin123' \
-e POSTGRES_USER=joplin \
-e POSTGRES_DB=joplin \
-v /opt/container/postgres/data:/var/lib/postgresql/data \
-d postgres
POSTGRES_PASSWORD
要与.env
的POSTGRES_PASSWORD配置一致POSTGRES_USER
要与.env
的POSTGRES_USER配置一致POSTGRES_DB
要与.env
的POSTGRES_DATABASE配置一致-v /opt/container/postgres/data:/var/lib/postgresql/data
如果是小白,不用管理数据,那删掉这一行也行
3.2 运行joplin server
docker run -it -d --name joplin-server \
--link joplin-postgres:server.postgres \
--env-file /opt/container/joplin_server/conf/.env \
joplin/server:latest
--link joplin-postgres:server.postgres
连接第一步创建的数据库容器joplin-postgres--env-file /opt/container/joplin_server/conf/.env
就是前面创建的配置文件了
3.3 配置joplin server
joplin server默认的账号是admin@localhost
,默认的密码是admin
用这个账号密码登陆APP_BASE_URL
配置的域名
登陆后记得改密码哦,如果不想用admin账户进行同步,可以登陆进去再创建用户。
4. 连接同步服务器
记得把Synchronization target
换成Joplin Server(Beta)
,再把服务器,账号,密码填入,就能愉快地使用啦。
画重点
下面把命令整理出来,可以拷贝出来,改成自己想要的配置,就能实现一键安装啦。部署Joplin Server就是这么简单,没有那么多花里胡哨的。
#拉取镜像
docker pull joplin/server
docker pull postgres
#创建配置
tee /opt/container/joplin_server/conf/.env<<EOF
APP_BASE_URL=https://${SERVER_NAME}/joplin
APP_PORT=22300
DB_CLIENT=pg
POSTGRES_PASSWORD=joplin123
POSTGRES_DATABASE=joplin
POSTGRES_USER=joplin
POSTGRES_PORT=5432
POSTGRES_HOST=server.postgres
EOF
#运行容器
docker run -it --name joplin-postgres \
-e POSTGRES_PASSWORD='joplin123' \
-e POSTGRES_USER=joplin \
-e POSTGRES_DB=joplin \
-v /opt/container/postgres/data:/var/lib/postgresql/data \
-d postgres
docker run -it -d --name joplin-server \
--link joplin-postgres:server.postgres \
--env-file /opt/container/joplin_server/conf/.env \
joplin/server:latest