S3后端存储

如果您使用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 =
用于头像存储的配置
可以将头像图片存储在 S3 中,而非本地文件系统。SeaTable 使用  AWS S3 的 Django 文件存储 API
头像图片的存储方式是 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'