十分钟搭建joplin server
闲来无事搭建了一个joplin server。使用sqlite,个人用感觉还行。
创建配置文件
首先创建配置文件.env
,内容如下:
APP_BASE_URL=https://joplin.superpig.win
APP_PORT=22300
这个APP_BASE_URL
比较重要,要配置成未来用以访问的url,否则会报错误。
安装镜像
docker volume create joplin
docker run -d --name joplin_server -v joplin:/home/joplin --env-file .env -p 22300:22300 joplin/server:latest
使用docker inspect joplin
可以看到容器中数据卷的位置。在路径packages/server
下有db-prod.sqlite
文件,按官方的说法,所有的数据(包括图片)都备份到了这个数据库中。所以备份这个文件就行了。
添加frp映射
因为joplin服务部署在我的nuc上,所以需要添加frp映射,以免哪天公网IP没了,笔记全部访问不了。
服务端
在vps上运行frp服务端
frps.ini
[common]
bind_port = 7000
dashboard_port = 7500
token = xxxxxxxxxx
dashboard_user = admin
dashboard_pwd = xxxxxxxxxx
vhost_http_port = 8899
subdomain_host = superpig.win
authentication_method = token
运行:
./frps -c frps.ini
客户端
在本地运行frp客户端
[common]
server_addr=124.156.xxx.xxx
server_port=7000
token=xxxxxxxxxx
[joplin]
type = http
local_ip = 192.168.123.174
local_port = 22300
subdomain = joplin
use_encryption =true
use_compression = true
运行客户端
./frpc -c frpc.ini
124.156.xxx.xxx
是我买的vps的地址。192.168.123.174
是我部署joplin server服务器的本地地址。
配置外网访问和nginx
- 在域名商添加A记录解析,我用的是
joplin.superpig.win
使用letscrypt申请一个证书,具体看这篇文章
service nginx stop
certbot certonly --standalone -d joplin.superpig.win
# service nginx start
添加nginx配置
server {
listen 80;
server_name joplin.superpig.win;
server_tokens off;
# Enforce HTTPS
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name joplin.superpig.win;
gzip on;
gzip_proxied any;
gzip_min_length 1024;
gzip_comp_level 3;
gzip_types text/plain text/javascript text/css text/json application/javascript application/json image/jpeg image/gif image/png;
ssl on;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
ssl_certificate /etc/letsencrypt/live/joplin.superpig.win/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/joplin.superpig.win/privkey.pem;
location / {
#proxy_pass http://127.0.0.1:8080;
proxy_pass http://127.0.0.1:8899;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect off;
### Most PHP, Python, Rails, Java App can use this header -> https ###
proxy_set_header X-Forwarded-Proto $scheme;
}
}
登录
joplin.superpig.win
,就能看到登录页面了,默认用户是:admin@localhost admin。
来自 大脸猪 写于 2021-10-12 15:29 -- 更新于2021-10-12 15:48 -- 0 条评论