十分钟搭建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 1. 在域名商添加A记录解析,我用的是`joplin.superpig.win` 2. 使用letscrypt申请一个证书,具体看[这篇文章](https://www.superpig.win/blog/details/ruakrajg "这篇文章") service nginx stop certbot certonly --standalone -d joplin.superpig.win # service nginx start 3. 添加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; } } 4. 登录`joplin.superpig.win`,就能看到登录页面了,默认用户是:admin@localhost admin。 来自 大脸猪 写于 2021-10-12 15:29 -- 更新于2021-10-12 15:48 -- 0 条评论