2023.11.17
思源社区的部署教程已经过时(2021 年发布),因此我们在实践中逐个解决问题,并重新撰写了部署教程,在此感谢 chatGPT 的大力支持
环境
Ubuntu22.04
在本地和阿里云服务器都进行了测试,本地部署相对简单,阿里云上需要注意一些细节(后面说)
docker & docker-compose
换源
老生常谈的问题了,直接上指令
cp /etc/apt/sources.list /etc/apt/sources.list.bk
vim /etc/apt/sources.list
把以下内容 copy 进去
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
然后更新
sudo apt-get update
sudo apt-get upgrade
安装 docker & docker-compose
docker
直接在 bash
# Add Docker's official GPG key:
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
# 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
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world
执行完如果没问题的话,执行如下指令试试
docker ps -a
没提示没有“docker”这个命令就成功了
docker-compose
下载二进制文件,放进 <u>/usr/local/bin</u>
即可,指令如下
喜欢什么版本,把版本号**v2.2.2**换掉就行
sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
下载的时候经常因为网络、路径错误出问题,一定要仔细看下执行完的反馈
测试/dm
docker-compose
没提示没有“docker-compose”这个命令就成功了
至此总算是完成了大部分的准备工作
docker-compose.yml
找一个文件路径,作为之后你存放思源数据的地方,此处假设文件路径为/siyuan
在路径/siyuan 下新建 docker-compose.yml 文件,内容如下:
version: '3'
services:
siyuan:
image: b3log/siyuan:latest
container_name: siyuan
restart: always
volumes:
- /siyuan:/root/Documents/SiYuan
command: [--workspace=/root/Documents/SiYuan,--lang=zh_CN,--accessAuthCode=授权码]
network_mode: "host"
ps:路径一定要改,授权码一定要写
授权码指的是 最后访问思源时输入的密码,这个可以自己任意设置,比如一堆乱码:128398236rjsdafakdnfasdk
run
然后在/siyuan 路径下执行
docker compose up -d
执行完查看以下 log
docker-compose logs
应当显示跟下图差不多(不用怀疑,我肯定没有全部截图):
接下来直接用*http://ip:6806 访问测试一下,能成功访问就大功告成了*
补充(阿里云)
本地端这样部署就结束了,阿里云服务器还需要关闭防火墙和配置安全组
-
关闭防火墙/或者开放 6806 端口
sudo ufw disable
你将看到:
Firewall stopped and disabled on system startup
-
配置安全组
参考阿里云教程吧,其实就是允许 6806 端口被访问
第三方同步
阿里云和腾讯云
阿里云和腾讯云已经有大佬写过教程,我这里不再赘述了,大家可以参看如下:
第三方同步选择 - S3 服务商对比推荐 - 链滴 (ld246.com)
思源使用阿里云 OSS 同步详细教程 - 链滴 (ld246.com)
华为云
我个人都是已经首选华为云,我没有设置子帐号了,主要是主账号也没啥重要的东西
-
创建桶
直接看官方教程
-
(登录思源笔记)配置
-
打开思源,「设置」-「云端」,填入对应的信息即可
- Endpoint 对应 Endpoint(地域节点)
- Access Key 对应 AccessKey ID
- Secret Key 对应 AccessKey Secret
- Bucket 对应 Bucket 名称
- Region 参考地区和终端节点_开发者中心-华为云 (huaweicloud.com)的 Region ID 进行填写(和终端节点是对应的的)
- Timeout (s) 保持默认的 30
- Addressing 保持默认的 Virtual-hosted-style 选项
- TLS Verify 保持默认的 Verify
-
所有配置完成,点击左上角“云”图标,第一次同步需要设置同步密码
-
域名绑定
服务器/本地设备有公网 ip 的话非常简单,购买域名、ICP 备案,然后添加一条 dns 解析即可。
给大家说个滑稽的事情,我的域名是在华为云购买和备案的,然后 docker 的服务器是阿里云买的。我在华为云 dns 配置了解析,然后乐子来了,阿里云认为华为云这个域名没有备案,把访问拦截了,咱也没办法
域名:图解从域名到建站_域名注册服务 Domains_产品介绍_华为云 (huaweicloud.com)
备案:成长地图_ICP 备案_华为云 (huaweicloud.com)
DNS 解析:成长地图_云解析服务 DNS_华为云 (huaweicloud.com)
结束
放个捐赠思源开发者的,我已经捐了
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于