如果您使用S3对象存储作为后端存储,可参考此文档进行配置:
存储准备
SeaTable 可以使用 S3 桶来存储以下类型的数据:
-
基础快照
-
图片和文件的内容
-
头像图片
共需创建 5 个 bucket:
-
seafile 相关: cluster-seatable-commit、 cluster-seatable-fs、 cluster-seatable- block
-
dtable-storage-server 相关: cluster-seatable-storage
-
avatars 相关: cluster-seatable-avatar
存储配置
由于目前 seatable 还不支持通过环境变量配置 S3 存储信息,如果需要配置 s3,可参考
S3存储
,且完全移除 dtable_web_settings.py 中
PLUGINS_REPO_ID = 'xxx' 这一行
,在重启/关闭一次使配置生效。
基础快照的配置
基础快照的存储在
dtable-storage-server.conf
中配置。
默认情况下,
[storage backend]
部分包含
type = filesystem
,将所有基础快照存储在
/opt/seatable-server/seatable/storage-data
文件夹中。
要使用 S3,将类型转换为
type = s3
。如果你使用的是兼容 S3 的服务,可以使用下面的配置选项。
[storage backend]
type = s3
bucket = ...
host = ...
use_https = true
key_id =
key =
path_style_request = true
use_v4_signature = true
aws_region =
AWS 只需要几个设置。
key_id
和
key
用于提供 S3 认证。您可以在 AWS 账户页面的安全
凭据
部分找到
key_id
和
key
。
[storage backend]
type = s3
bucket = ...
key_id =
key =
用于文件和图片存储的配置
S3 文件和图片列的对象存储配置在
/opt/seatable-server/seatable/conf/seafile.conf
中。你需要新增三个部分:
-
[commit_object_backend]
-
[fs_object_backend]
-
[block_backend]
#AWS
[commit_object_backend]
name = s3
bucket = my-commit-objects
key_id = your-key-id
key = your-secret-key
use_v4_signature = true
aws_region = eu-central-1
host = s3.us-east-1.amazonaws.com
[fs_object_backend]
name = s3
bucket = my-fs-objects
key_id = your-key-id
key = your-secret-key
use_v4_signature = true
aws_region = eu-central-1
host =
[block_backend]
name = s3
bucket = my-block-objects
key_id = your-key-id
key = your-secret-key
use_v4_signature = true
aws_region = eu-central-1
host =
兼容的S3配置
[commit_object_backend]
name = s3
bucket = my-commit-objects
key_id = your-key-id
key = your-secret-key
use_v4_signature = true
aws_region = eu-central-1
host = s3.us-east-1.amazonaws.com
[fs_object_backend]
name = s3
bucket = my-fs-objects
key_id = your-key-id
key = your-secret-key
use_v4_signature = true
aws_region = eu-central-1
host =
[block_backend]
name = s3
bucket = my-block-objects
key_id = your-key-id
key = your-secret-key
use_v4_signature = true
aws_region = eu-central-1
host =
用于头像存储的配置
头像图片的存储方式是
dtable_web_settings.py
配置的。目前这些选项可用,并映射到 django-storage 设置中:
SeaTable Configuration
Django Storage Setting
S3_ENDPOINT_URL
AWS_S3_ENDPOINT_URL
S3_REGION
AWS_S3_REGION_NAME
S3_ACCESS_KEY_ID
AWS_S3_ACCESS_KEY_ID
S3_SECRET_ACCESS_KEY
AWS_S3_ACCESS_KEY_ID
S3_BUCKET_NAME
AWS_STORAGE_BUCKET_NAME
AWS_S3_SIGNATURE_VERSION
默认设置为
s3v4
,无法配置。
以下是一些如何配置 S3 桶用于头像的示例:
#AWS
AVATAR_FILE_STORAGE = 'django_s3_storage.storage.S3Storage'
S3_ENDPOINT_URL = 'https://s3.example.com'
S3_REGION = 'eu-west-1'
S3_ACCESS_KEY_ID = ''
S3_SECRET_ACCESS_KEY = ''
S3_BUCKET_NAME = ''
其他兼容的S3
AVATAR_FILE_STORAGE = 'django_s3_storage.storage.S3Storage'
S3_ENDPOINT_URL = 'https://sos-de-fra-1.exo.io'
S3_ACCESS_KEY_ID = ''
S3_SECRET_ACCESS_KEY = ''
S3_BUCKET_NAME = 'your-bucket-name'