网上有很多的Joplin服务器的搭建教程,但是基本都是抄来抄去,对初学者实在是太不友好了。
话不多说,说干就干,自己从头找资料搭了一个,这可能是全网最好的Joplin服务器搭建教程了。
aws服务器
aws的服务器还是很香的,只要有visa信用卡,就可以白嫖一年,如何申请,开通,创建就不提了,网上这种教程已经非常非常多,也很简单。我只列几个关键点:
1. aws服务器的安全组策略
在申请成功aws服务器后,一定要记得添加安全组入站策略,Joplin必须的两个端口(22300,5432),都要加入入站策略里面,以下是完整的入站规则截图:
2. 域名
如果自己有域名,直接关联aws服务器的ip到自己的域名里去,域名很便宜,10年才1,2百块,我几年前注册的域名还送企业邮箱。阿里,腾讯,华为都能注册域名,很方便。
3. 服务器版本
我用的是Ubuntu的20.04版,在创建服务器的时候就可以选择。如果你需要看我的这个教程,建议你也用同样的版本,以免某些细节不一致导致错误。
安装Docker
在Docker的官网,点击: Ubuntu安装Docker官方教程 可以直达,不过里面都是英文,我就辛苦搬运一下,并且做一些中文注解:
- 清除所有旧版本的docker
使用的命令为
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
- 安装docker的准备:
这里我们使用官网推荐的apt repository方法来进行安装准备
# 首先下载 Docker 官方 GPG 密钥,并使用它来验证下载的软件包
# 实际使用的时候,最好一行一行复制,这样避免出错
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
- 将仓库添加到 Apt 的源列表中
# Add the repository to Apt sources:
# 注意,以下代码是一段完整的代码,不要分开复制
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 注意,以上代码是一段完整的代码,不要分开复制
sudo apt-get update
- 好,准备工作做完,接下来开始安装docker
# 安装最新版本的Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 检测安装是否成功
sudo docker run hello-world
# 如果没有报错,那基本就是成功了
- 安装docker-compose
6.1 虽然 Docker 可以创建和管理容器,但 Docker Compose 则提供了更高级别的工具,用于管理和编排多个容器组成的应用程序。
6.2 它通过一个单独的文件(通常是 docker-compose.yml 文件)来定义应用程序中的多个服务、网络、卷等,并且可以通过一个命令一次性启动所有服务。
# 下载最新版本的Docker Compose,可以从其GitHub仓库的“Releases”页面找到最新版本的链接。
sudo curl -L "https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 使二进制文件可执行:
sudo chmod +x /usr/local/bin/docker-compose
# 检查Docker Compose版本,看看是否安装成功
docker-compose --version
- 部署Joplin Server
7.1 创建专用目录
# 首先,创建一个目录来存储Joplin数据
mkdir joplinserver
cd joplinserver
7.2 使用vim编辑器进行编辑,注意,进去后默认是只读模式,先按"i"进行编辑,然后按esc键,输入":wq"退出
vim docker-compose.yml
7.3 把以下内容复制到vim编辑器中,里面有几个关键参数需要修改 ,我都在后面做了备注,没有备注的就是不用改的哦。
官方GitHub给出了参考,链接: yml文件官方建议,以下是我略作修改后的版本,可以对照着看,自己进行调整
version: '3'
services:
db:
image: postgres:16
volumes:
- ./data/postgres:/var/lib/postgresql/data
ports:
- "5432:5432"
restart: unless-stopped
environment:
# Postgresql的设置
# 请把password替换成你自己想要设置的密码
# 请把user替换成你自己想要设置的用户名
- POSTGRES_PASSWORD=password
- POSTGRES_USER=user
- POSTGRES_DB=joplin
app:
image: joplin/server:latest
depends_on:
- db
ports:
- "22300:22300"
restart: unless-stopped
environment:
# 请把http://joplin.xxx.com替换成你自己的域名,注意后面的端口号不要改
# 请把password替换成你自己想要设置的密码
# 请把user替换成你自己想要设置的用户名
- APP_PORT=22300
- APP_BASE_URL=http://joplin.xxx.com:22300
- DB_CLIENT=pg
- POSTGRES_PASSWORD=password
- POSTGRES_DATABASE=joplin
- POSTGRES_USER=user
- POSTGRES_PORT=5432
- POSTGRES_HOST=db
7.4 启动Joplin server
docker-compose up -d