群晖docker安装Joplin搭建私有云全平台笔记服务
Joplin 是一个开源的笔记工具,拥有 Windows/macOS/Linux/iOS/Android/
等版本的客户端,支持多端同步(重要),而且是免费的。
Joplin
目前有很多种同步方式,可以选择一些网盘作为同步端,也可以用WebDAV
服务,可以自建Joplin Server
,也可以用官方收费版的Joplin Cloud
。
一般个人有NAS
的话,Joplin
可以考虑使用WebDAV
或者Joplin Server
方式。
WebDAV模式
如果没有安装WebDAV Server
套件,可以在套件中心安装,是属于群晖官方套件。
安装配置WebDAV Server
在套件中心找到WebDAV Server
配置一些端口,一般默认就好了。
Joplin配置WebDAV同步
然后在Joplin软件中配置同步就可以了,Joplin->工具->选项->同步
需要指定到自己计划好的目录之下:
然后【检查同步配置】,看到输出成功即可。
成功!同步配置看起来没问题。
Joplin Server模式
官方提供有Joplin Server
的Docker
镜像,还需要数据库支持,官方支持SQLite
和PostgreSQL
,SQLite一般用于测试环境。
个人感觉Server模式比较大的优势是可以分享,可以生成分享链接。
Docker安装PostgreSQL
PostgreSQL不在官方套件之中,可以用Docker安装,也可以用第三方套件安装,建议使用Docker安装。
这里使用Docker安装一个新的PostgreSQL
下载后,准备启动:
自动启动:
配置本地存储,先建好本地docker/PostgreSQL/data
目录,映射到PostgreSQL
的数据目录/var/lib/postgresql/data
,这样重启后存储数据不会丢失:
配置端口映射,根据实际情况映射,本地似乎5432
端口被占用,我这里使用5433
映射默认的5432
端口,如果这个PostgreSQL
只是给Joplin Server
使用,这里应该可以不配置端口,因为我们后面用链接容器的方式连接到这个数据库,本地端口已经不重要了。
配置下用户名和密码和数据库,然后下一步,完成。
记住用户名和密码,后面需要用到。
Docker镜像安装Joplin Server
在群晖NAS
中打开Docker
套件,搜索joplin
,第一个就是官方Joplin Server
。
下载安装,Docker
镜像包有点大,有3G
,需要忍一忍。下载完成之后,可以点击启动。
选好自动启动之后,配置端口映射,根据自己需要配置本地端口,容器端口是固定的22300
,当然可以用环境变量配置来改变:
配置链接,方便直接链接到PostgreSQL
容器,这里使用别名:local_postgresql
,到时候可以用作Joplin Server
的POSTGRES_HOST
配置:
配置环境变量
变量名 | 变量值 | 说明 |
---|---|---|
APP_BASE_URL | http://nas_ip:8888 | 根据自己nas的ip和自定义端口配置 |
APP_PORT | 22300 | 默认22300,可以自定义配置映射端口 |
DB_CLIENT | pg | 配置成PostgreSQL模式 |
POSTGRES_HOST | local_postgresql | 链接到PostgreSQL容器 |
POSTGRES_DATABASE | joplin | 数据库名 |
POSTGRES_USER | pgadmin | 数据库用户名 |
POSTGRES_PORT | 5432 | 默认是5432(直连容器端口,不是本地端口) |
POSTGRES_PASSWORD | xxxx | 数据库密码 |
修改账号密码
启动好之后,可以登录系统,默认用户信息:
用户名:admin@localhost
密码:admin
登录进去之后可以修改账号和密码等,以及添加新用户。
Joplin连接Joplin Server
连接方式很简单,和上面使用WebDAV方式差不多
配置完成。
至此我们配置完成了所有得服务端。但是ios端时不支持非加密得链接得,所有我们需要给joplin配置HTTPS。
首选我们需要给群晖配置证书,很简单。
首先给我们得主域名配置证书,很多免费申请证书得地方,申请后导入即可。
下一步我们通过反代来将joplin实现https。
好了,现在我们已经给joplin的docker配置好了https反向代理。下一步我们修改joplin的内部访问地址。
OK,至此我们已经完整的配置了joplin的服务端,电脑端,和IOS端,连接和同步都没有问题
更新:因为我迁移服务器导致内网IP变更,所以在反代后,https一直无法访问和同步。经过测试,在反代那一步的时候,把目的地的主机名,由内网IP直接改成域名。其他不变,即可用https访问成功。