Подключение бакета Amazon S3 в качестве кэша к ONLYOFFICE Docs
Выполните следующие действия, чтобы подключить бакет Amazon S3 в качестве кэша для ONLYOFFICE Docs.
-
Войдите в AWS Management Console и откройте консоль Amazon S3. Нажмите кнопку Create bucket. Укажите уникальное имя бакета и сохраните бакет.
-
Рекомендуем в дальнейшем создать нового пользователя IAM.
-
Нажмите на имя пользователя в правом верхнем углу и перейдите в раздел Security credentials. Разверните раздел Access keys (access key ID and secret access key). Нажмите кнопку Create Access Key. В открывшейся таблице скопируйте ключ из поля Access key. Нажмите кнопку Show, чтобы отобразить Secret access key, и скопируйте его. Также можно нажать кнопку Download .csv file в правом нижнем углу, чтобы сохранить ключи на жесткий диск.

Затем перейдите в раздел Access management и разрешите доступ к бакету. Нажмите Policies, затем нажмите кнопку Create Policy. Перейдите на вкладку JSON и добавьте следующий код:
{"Version": "2012-10-17","Statement": [{"Sid": "Stmt1492520443000","Effect": "Allow","Action": ["s3:ListAllMyBuckets"],"Resource": ["arn:aws:s3:::*"]},{"Sid": "Stmt1492520492000","Effect": "Allow","Action": ["s3:GetBucketLocation","s3:ListBucket","s3:ListBucketMultipartUploads"],"Resource": "arn:aws:s3:::my-s3-bucketname"},{"Sid": "Stmt1492521245000","Effect": "Allow","Action": ["s3:AbortMultipartUpload","s3:GetObject","s3:ListBucket","s3:ListMultipartUploadParts","s3:PutObject","s3:PutObjectAcl"],"Resource": "arn:aws:s3:::my-s3-bucketname/*"}]}Замените
my-s3-bucketnameфактическим именем своего бакета. Затем выполните оставшиеся шаги, чтобы сохранить новую политику. -
В консоли Amazon S3 нажмите на имя своего бакета. Выберите Permissions. В разделе Cross-origin resource sharing (CORS) нажмите Edit и добавьте следующий код:
[{"AllowedHeaders": ["*"],"AllowedMethods": ["GET","HEAD"],"AllowedOrigins": ["https://documentserver_address"],"ExposeHeaders": []}]Замените
https://documentserver_addressфактическим адресом своего ONLYOFFICE Docs. Сохраните настройки. -
Откройте файл конфигурации ONLYOFFICE Docs:
/etc/onlyoffice/documentserver/default.jsonпримечаниеЕсли изменить параметры в файле
default.json, все изменения будут потеряны после обновления ONLYOFFICE Docs или перезапуска Docker-контейнера. Чтобы изменения сохранились после обновления, редактируйте файл/etc/onlyoffice/documentserver/local.json.Добавьте настройки для подключения к бакету:
"storage": {"name": "storage-s3","region": "us-east-1","endpoint": "https://s3.us-east-1.amazonaws.com/","bucketName": "my-s3-bucketname","storageFolderName": "files","urlExpires": 604800,"accessKeyId": "***","secretAccessKey": "***","sslEnabled": true,"s3ForcePathStyle": false,"externalHost": "","useDirectStorageUrls": false},Укажите фактическое имя бакета, Access Key ID и Secret Access Key. Сохраните изменения.
-
Перезапустите службы ONLYOFFICE Docs:
DEB/RPM:
systemctl restart ds-converter ds-docserviceDocker:
sudo docker exec <CONTAINER_ID> supervisorctl restart ds:converter ds:docserviceWindows PowerShell:
Restart-Service DsConverterSvc, DsDocServiceSvc