对接流程
安装 Seatable服务器并使用 S3对象存储,您需要:
-
按照本文档修改相应的配置文件以启用 S3
修改 seafile.conf
编辑
/您的 SeaTable 数据卷目录/seatable/conf/seafile.conf
文件
[commit_object_backend]
name = s3
bucket = my-commit-objects # bucket 的名字只能使用小写字母,数字,短划线
key_id = your-key-id
key = your-secret-key
[fs_object_backend]
name = s3
bucket = my-fs-objects # bucket 的名字只能使用小写字母,数字,短划线
key_id = your-key-id
key = your-secret-key
[block_backend]
name = s3
bucket = my-block-objects # bucket 的名字只能使用小写字母,数字,短划线
key_id = your-key-id
key = your-secret-key
建议您为 commit,fs 和 block objects 分别创建 buckets。
key_id 和 key 用来提供 S3 的身份认证。您可以在您的 AWS 账户页面的"安全证书"段找到 key_id 和 key。
当您在 S3 上创建 buckets 时,请先阅读
S3 bucket 命名规则
。注意, 尤其不要在 bucket 的名字中使用
大写
字母
(不要使用骆驼式命名法,比如 MyCommitOjbects)。
使用新的 S3 服务区
自2014年1月起,新的 AWS 服务区只对 S3 提供版本 4 的认证签名协议支持,这包括中国区。
要在新的服务区使用 S3,在三个bucket(桶)
commit_object_backend
,
fs_object_backend
,
block_backend
相关选项中加入以下额外的选项:
use_v4_signature = true
# eu-central-1 for Frankfurt region
aws_region = eu-central-1
如果您使用的S3是中国区或者德国区,还需要在每个bucket配置段下添加相应地区的host配置,例如中国北京区:
host = s3.cn-north-1.amazonaws.com.cn
为了让搜索等服务也能在新的 AWS 服务区工作,你还需要在
~/.boto
文件中加入以下内容:
[s3]
use-sigv4 = True
使用HTTPS连接到S3
您还可以使用HTTPS连接到S3,将以下选项添加到 seafile.conf 中:
[commit_object_backend]
name = s3
......
use_https = true
[fs_object_backend]
name = s3
......
use_https = true
[block_backend]
name = s3
......
use_https = true
使用与 S3 兼容的对象存储产品
目前已经有很多对象存储产品兼容 S3 的协议,比如 OpenStack Swift 和 Ceph 的 RGW。你可以通过以下配置使用 S3 兼容的对象存储:
[commit_object_backend]
name = s3
bucket = my-commit-objects
key_id = your-key-id
key = your-secret-key
host = 192.168.1.123:8080
path_style_request = true
[fs_object_backend]
name = s3
bucket = my-fs-objects
key_id = your-key-id
key = your-secret-key
host = 192.168.1.123:8080
path_style_request = true
[block_backend]
name = s3
bucket = my-block-objects
key_id = your-key-id
key = your-secret-key
host = 192.168.1.123:8080
path_style_request = true
host
是S3兼容服务的地址和端口。您不能在选项前添加
http
或
https
。默认情况下,它将使用http连接。如果要使用https连接,请设置选项:
hostuse_https = true
path_style_request
选项让 SeaTable 使用形如
https://192.168.1.123:8080/bucketname/object
去访问对象。在亚马逊的 S3 服务中,默认的 URL 格式是虚拟主机格式,比如
https://bucketname.s3.amazonaws.com/object
。但是一般的对象存储并不支持这种格式。
修改 dtable-storage-server.conf
从 3.0.0 开始,SeaTable 增加了 dtable-storage-server 组件,所以 3.0.0 版本及以上的 SeaTable 还需要修改
/您的 SeaTable 数据卷目录/seatable/conf/dtable-storage-server.conf
文件,修改以下配置项:
[storage backend]
type = oss
bucket = <your-seatable-storage-bucket>
key_id = <your-key-id>
key = <your-key>
endpoint = oss-cn-beijing-internal.aliyuncs.com