Marco Nie - 2022年7月 https://blog.niekun.net/2022/07/ you are the company you keep... Joplin server 搭建 https://blog.niekun.net/archives/2742.html 2022-07-14T08:19:00+08:00 joplin 是一款开源笔记应用,全平台适用,支持多种云端同步方式。最近体验了下感觉不错,尤其是可以自行搭建 server 服务端保存数据,适合喜欢管理整个数据流程的人士。下面介绍如何在服务器通过 docker 搭建 joplin server 的方法。joplin 官网:https://joplinapp.org/GitHub 主页:https://github.com/laurent22/joplin各个平台客户端下载:https://joplinapp.org/download/我的服务器系统平台是 Ubuntu 20.04。docker 环境安装首先如果安装过老版的 docker 先卸载:sudo apt-get remove docker docker-engine docker.io containerd runc 安装基础环境: sudo apt-get update sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release添加 docker 官方 GPG key:sudo mkdir -p /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null安装 docker 和 docker-compose: sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugindocker 配置为非 root 用户,解决执行命令需要 sudo:sudo groupadd docker sudo usermod -aG docker $USER su - ${USER}配置 docker-compose通过 docker-compose 可以方便的配置 docker 容器设置及多容器之间数据交互。新建 joplin 文件夹用来存放配置 docker-compose.yml 以及 .env 环境变量文件,我喜欢放在 opt 路径下:mkdir /opt/docker/joplin cd /opt/docker/joplin 新建环境变量文件 .env 内容如下:APP_BASE_URL=https://joplin.your.site APP_PORT=22300 # DB_CLIENT=postgres POSTGRES_PASSWORD=PASSWORD POSTGRES_DATABASE=joplin POSTGRES_USER=USERNAME POSTGRES_PORT=5432 POSTGRES_HOST=localhost上面的配置中需要自行修改几项:APP_BASE_URL 修改为你实际访问 joplin 服务的外网地址,需要提前配置好 dns 映射,我是通过 cloudflare 管理的POSTGRES_PASSWORD 修改数据库密码POSTGRES_USER 修改数据库用户名新建 docker-compose.yml 内容如下:version: '3' services: db: image: postgres:13 volumes: - ./data/postgres:/var/lib/postgresql/data ports: - "5432:5432" restart: unless-stopped environment: - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_DB=${POSTGRES_DATABASE} network_mode: host app: image: joplin/server:latest depends_on: - db ports: - "22300:22300" restart: unless-stopped environment: - APP_PORT=${APP_PORT} - APP_BASE_URL=${APP_BASE_URL} - DB_CLIENT=${DB_CLIENT} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - POSTGRES_DATABASE=${POSTGRES_DATABASE} - POSTGRES_USER=${POSTGRES_USER} - POSTGRES_PORT=${POSTGRES_PORT} - POSTGRES_HOST=${POSTGRES_HOST} network_mode: hostdocker-compose 会自动调用同一路径下的 .env 文件中定义的环境变量。完成配置后启动容器:docker-compose up -d nginx 配置外网访问上面定义的 url 后,需要通过反向代理将数据流传给 joplin server 端口 22300,我使用的是 nginx 配置如下:server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name joplin.your.site; include my-server/ssl; 加入 ssl 相关配置 location / { proxy_pass http://127.0.0.1:22300; proxy_redirect off; 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_set_header X-Forwarded-Proto $scheme; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_http_version 1.1; } }完成后重启 nginx:systemctl restart nginx 访问配置好 docker 和 nginx 后就可以访问上面设置的 url 访问 joplin 了,默认会自动创建一个用户 admin@localhost,密码是 admin。第一次登录进去后最好修改下默认管理员密码,还可以创建多个账户。如果要适用账户的邮件服务,需要额外配置 SMTP 相关的内容,这里不做介绍,新建账户的激活邮件可以在管理菜单中找到,没有配置邮件服务的话无法发送成功,可以手动将邮件中的账户激活链接发送给别人。如果登录网址无法访问网页,可能是 docker 配置有问题,可以通过 log 查看是否有报错信息:docker container list # 查询到容器的 ID docker logs ID # 通过 joplin 的容器 ID 查询其日志 插件joplin 桌面版支持安装插件,第三方插件有很多,可以在下面链接查找:Joplin Plugin Repository参考链接nstall Docker Engine on UbuntuHow To Install and Use Docker on Ubuntu 20.04docker logsjoplin server installdocker-compose.server.yml.env-sample Gradient 渐变色研究 https://blog.niekun.net/archives/2731.html 2022-07-06T11:44:00+08:00 图片中经常可以使用到渐变色,两个颜色形成自然过渡效果,在实际体验中可以发现,有时候渐变色看起来很舒服,有时候看起来比较别扭,下面分析一下其中原因。下图是两个颜色组成的渐变效果,它们两端的颜色都一样,但是效果相差很多:明显左边的看起来更加舒服,右边的比较生硬。我们知道每个颜色都是 RGB 的组合,通常 RGB 各自有 256 种变化范围,它们之间的组合产生了各种颜色:在 Photoshop 中选取一种颜色的方法有四种:RGB,HSB,LAB,CMYK。最常用的就是 RGB 和 HSB,下面主要围绕这两种方法介绍。不同于 RGB,HSB 或 HSV 拾取一种颜色是通过 H色相,S饱和度,B亮度确定的:当我们需要创建两个颜色的渐变图时,如果使用 RGB 模式,则它们的渐变过程是直接从两个颜色之间直线过渡。而使用 HSB 模式,它们的渐变过程是围绕 H色相环过渡到目标颜色:所以 RGB 模式就会穿过中间的灰色地带,效果就是过渡中颜色变淡变暗,这也就是看起开不舒服的原因。而 HSB 模式下饱和度和亮度都保持不变,只是色相发生变化,从而整体色彩持续保持鲜艳,呈现的效果就是看起来舒服。Photoshop 中创建渐变时,提供了 3 种模式可供选择,还原了 RGB 模式 和 HSB 模式的规则,分别是:perceptual,linear,classic:各种模式区别为:linear 最接近 HSB 模式,保证了过渡时候的饱和度和亮度,反映出颜色最鲜艳perceptual 在过渡中保证亮度稳定,但是降低了饱和度classic 在过渡中保证了饱和度稳定,但是降低了亮度三者对比图如下:实际使用中根据需要选择合适效果。参考链接:https://twitter.com/finmoorhouse/status/1543580508508065794