2025年5月16日 23:22:41 星期五

十分钟搭建joplin server

闲来无事搭建了一个joplin server。使用sqlite,个人用感觉还行。

创建配置文件

首先创建配置文件.env,内容如下:

  1. APP_BASE_URL=https://joplin.superpig.win
  2. APP_PORT=22300

这个APP_BASE_URL比较重要,要配置成未来用以访问的url,否则会报错误。

安装镜像

  1. docker volume create joplin
  2. 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

  1. [common]
  2. bind_port = 7000
  3. dashboard_port = 7500
  4. token = xxxxxxxxxx
  5. dashboard_user = admin
  6. dashboard_pwd = xxxxxxxxxx
  7. vhost_http_port = 8899
  8. subdomain_host = superpig.win
  9. authentication_method = token

运行:

  1. ./frps -c frps.ini

客户端

在本地运行frp客户端

  1. [common]
  2. server_addr=124.156.xxx.xxx
  3. server_port=7000
  4. token=xxxxxxxxxx
  5. [joplin]
  6. type = http
  7. local_ip = 192.168.123.174
  8. local_port = 22300
  9. subdomain = joplin
  10. use_encryption =true
  11. use_compression = true

运行客户端

  1. ./frpc -c frpc.ini

124.156.xxx.xxx是我买的vps的地址。
192.168.123.174是我部署joplin server服务器的本地地址。

配置外网访问和nginx

  1. 在域名商添加A记录解析,我用的是joplin.superpig.win
  2. 使用letscrypt申请一个证书,具体看这篇文章

    1. service nginx stop
    2. certbot certonly --standalone -d joplin.superpig.win
    3. # service nginx start
  3. 添加nginx配置

    1. server {
    2. listen 80;
    3. server_name joplin.superpig.win;
    4. server_tokens off;
    5. # Enforce HTTPS
    6. return 301 https://$server_name$request_uri;
    7. }
    8. server {
    9. listen 443 ssl http2;
    10. server_name joplin.superpig.win;
    11. gzip on;
    12. gzip_proxied any;
    13. gzip_min_length 1024;
    14. gzip_comp_level 3;
    15. gzip_types text/plain text/javascript text/css text/json application/javascript application/json image/jpeg image/gif image/png;
    16. ssl on;
    17. ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    18. ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
    19. ssl_prefer_server_ciphers on;
    20. ssl_certificate /etc/letsencrypt/live/joplin.superpig.win/fullchain.pem;
    21. ssl_certificate_key /etc/letsencrypt/live/joplin.superpig.win/privkey.pem;
    22. location / {
    23. #proxy_pass http://127.0.0.1:8080;
    24. proxy_pass http://127.0.0.1:8899;
    25. proxy_set_header Host $host;
    26. proxy_set_header X-Real-IP $remote_addr;
    27. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    28. proxy_redirect off;
    29. ### Most PHP, Python, Rails, Java App can use this header -> https ###
    30. proxy_set_header X-Forwarded-Proto $scheme;
    31. }
    32. }
  4. 登录joplin.superpig.win,就能看到登录页面了,默认用户是:admin@localhost admin。

来自 大脸猪 写于 2021-10-12 15:29 -- 更新于2021-10-12 15:48 -- 0 条评论

0条评论

字体
字号


评论: