那么,您想将所有上传和备份迁移到 DigitalOcean 块存储吗?
不过,在您进行此操作之前,您可能更希望考虑 https://meta.discourse.org/t/using-object-storage-for-uploads-s3-clones/148916。它的设置不复杂,并提供其他一些优势。
在 DigitalOcean 上设置 Discourse 实例
使用我们的官方指南在 DigitalOcean 上设置 Discourse 实例。
向您的云主机添加一个卷
将块存储卷添加到您的云主机。记下卷的名称。在我的情况下,卷的名称是 volume-nyc1-05。
确保卷已格式化并挂载到 /mnt/volume_nyc1_05。
将 /var/discourse/shared 移动到卷
为获得最佳性能,我们将把 postgres_data 保留在主驱动器上,并将其余数据移动到新附加的卷上。
以 root 用户身份登录,从您的服务器运行以下命令:
mv /var/discourse/shared/standalone/postgres_data /var/postgres_data_discourse
mv /var/discourse/shared /mnt/volume_nyc1_05
请确保将 volume_nyc1_05 替换为您的卷的名称。
编辑 app.yml 以反映更改
在您首选的编辑器中打开 /var/discourse/containers/app.yml 文件,并找到以下代码块:
## The Docker container is stateless; all data is stored in /shared
volumes:
- volume:
host: /var/discourse/shared/standalone
guest: /shared
- volume:
host: /var/discourse/shared/standalone/log/var-log
guest: /var/log
将上述代码块替换为:
## The Docker container is stateless; all data is stored in /shared
volumes:
- volume:
host: /mnt/volume_nyc1_05/shared/standalone
guest: /shared
- volume:
host: /mnt/volume_nyc1_05/shared/standalone/log/var-log
guest: /var/log
- volume:
host: /var/postgres_data_discourse
guest: /shared/postgres_data
请确保将 volume_nyc1_05 替换为您的卷的名称。
保存 app.yml 文件并重建容器。
/var/discourse/launcher rebuild app
大功告成!
就是这样,您所有的上传和备份现在都已迁移到 DigitalOcean 块存储。