nextcloud / nextcloud/files_versions_s3

No versions on Hetzner Object Storage

Open
#55 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug needs info
Dominant language
PHP
Stars
20
Forks
2
Avg merge
4m
Merged PRs (30d)
1

Description

Hello,

I spin up a new instance with nginx, php-fpm 8.3 and Nextcloud 30.0 to test the new Hetzner Object Storage.
The primary S3 Storage is working great but I don't see any versions with files_versions_s3.

Steps to reproduce
  1. Install latest Nextcloud 30.0
  2. edit config.php
  'objectstore' =>
  array (
    'class' => 'OC\\Files\\ObjectStore\\S3',
    'arguments' =>
    array (
      'bucket' => 'ef3fdd38-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
      'key' => '<supersecret-accesskey>',
      'secret' => '<superdupersecret-key>',
      'hostname' => 'ef3fdd38-xxxx-xxxx-xxxx-xxxxxxxxxxxx.fsn1.your-objectstorage.com',
      'use_ssl' => true,
      'use_path_style' => true,
      'autocreate' => true,
      'verify_bucket_exists' => true,
      'sse_c_key' => '<supersecret32bitkey>',
    ),
  ),
  1. install file_versions and files_versions_s3.
  2. enable files_versions_s3.
    Notice: status test is only working when deleting ef3fdd38-xxxx-xxxx-xxxx-xxxxxxxxxxxx. from hostname in config.php
root@host:/var/www/nc# sudo -u www-data php occ files_versions_s3:status

In WrappedHttpHandler.php line 196:

  Error executing "GetBucketVersioning" on "https://ef3fdd38-xxxx-xxxx-xxxx-xxxxxxxxxxxx.fsn1.your-objectstorage.com/
  ef3fdd38-xxxx-xxxx-xxxx-xxxxxxxxxxxx?versioning"; AWS HTTP error: Client error: `GET https://ef3fdd38-xxxx-xxxx-xxxx-xxxxxxxxxxxx.fsn1.your-objectstorage.com/ef3fdd38-xxxx-xxxx-xxxx-xxxxxxxxxxxx?versioning` resulted in a `404 Not
  Found` response:
  <?xml version="1.0" encoding="UTF-8"?><Error><Code>NoSuchKey</Code><Message></Message><BucketName>ef3fdd38-xxxx-xxxx-xxx (truncated...)
   NoSuchKey (client):  - <?xml version="1.0" encoding="UTF-8"?><Error><Code>NoSuchKey</Code><Message></Message><Buck
  etName>ef3fdd38-xxxx-xxxx-xxxx-xxxxxxxxxxxx</BucketName><RequestId>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-fsn1-pr
  od1-ceph3</RequestId><HostId>xxxxa-fsn1-prod1-ceph3-fsn1-prod1</HostId></Error>

After deleting ef3fdd38-xxxx-xxxx-xxxx-xxxxxxxxxxxx. from hostname in config.php

root@host:/var/www/nc# sudo -u www-data php occ files_versions_s3:status
  - primary ("Primary Storage"): false

root@host:/var/www/nc# sudo -u www-data php occ files_versions_s3:enable primary

root@host:/var/www/nc# sudo -u www-data php occ files_versions_s3:status
  - primary ("Primary Storage"): true
  1. adding ef3fdd38-xxxx-xxxx-xxxx-xxxxxxxxxxxx. to hostname in config.php again.
  2. Test via text file or picture...
    image
    image
  3. Verify the Minio backend has versioning enabled:
root@host2:~/minio$ ./mc version enable CLOUD/ef3fdd38-xxxx-xxxx-xxxx-xxxxxxxxxxxx
CLOUD/ef3fdd38-xxxx-xxxx-xxxx-xxxxxxxxxxxx versioning is enabled

root@host2:~/minio$ ./mc stat CLOUD/ef3fdd38-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Name      : ef3fdd38-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Date      : 2024-10-01 21:56:20 UTC
Size      : N/A
Type      : folder

Properties:
  Versioning: Enabled
  Location: fsn1-prod1
  Anonymous: Disabled
  ILM: Enabled

Usage:
      Total size: 0 B
   Objects count: 0
  Versions count: 0
  1. I also checked it in Hetzner Console to look for small number of urn:oid:xxxx that has a recently change date.
    image
Expected behaviour

See the versions on S3 Object Storage in Nextcloud Versions

Actual behaviour

nothing...
image

Server configuration

Web server: Nginx

Database: PostgreSQL 17

PHP version: 8.3

Nextcloud version: 30.0

List of activated apps
root@host:/var/www/nc# sudo -u www-data php occ app:list
Enabled:
  - activity: 3.0.0
  - admin_audit: 1.20.0
  - bruteforcesettings: 3.0.0
  - circles: 30.0.0-dev
  - cloud_federation_api: 1.13.0
  - comments: 1.20.1
  - contactsinteraction: 1.11.0
  - dashboard: 7.10.0
  - dav: 1.31.1
  - end_to_end_encryption: 1.16.1
  - federatedfilesharing: 1.20.0
  - federation: 1.20.0
  - files: 2.2.0
  - files_downloadlimit: 3.0.0
  - files_external: 1.22.0
  - files_pdfviewer: 3.0.0
  - files_reminders: 1.3.0
  - files_sharing: 1.22.0
  - files_trashbin: 1.20.1
  - files_versions: 1.23.0
  - files_versions_s3: 1.1.0
  - groupfolders: 18.0.2
  - logreader: 3.0.0
  - lookup_server_connector: 1.18.0
  - metadata: 0.21.0
  - nextcloud_announcements: 2.0.0
  - notifications: 3.0.0
  - oauth2: 1.18.1
  - password_policy: 2.0.0
  - privacy: 2.0.0
  - provisioning_api: 1.20.0
  - recommendations: 3.0.0
  - related_resources: 1.5.0
  - serverinfo: 2.0.0
  - settings: 1.13.0
  - sharebymail: 1.20.0
  - support: 2.0.0
  - survey_client: 2.0.0
  - systemtags: 1.20.0
  - text: 4.1.0
  - theming: 2.5.0
  - twofactor_backupcodes: 1.19.0
  - twofactor_totp: 12.0.0-dev
  - updatenotification: 1.20.0
  - user_oidc: 6.0.1
  - user_status: 1.10.0
  - viewer: 3.0.0
  - weather_status: 1.10.0
  - webhook_listeners: 1.1.0-dev
  - workflowengine: 2.12.0
Browser

Browser name: Vivaldi

Browser version: 6.9.3447.48

Operating system: Windows

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the config.php S3 objectstore settings and reproduce the issue using the files_versions_s3:status and files_versions_s3:enable commands. Compare the hostname behavior with the reported Minio versioning check and the GetBucketVersioning error. Done means Hetzner Object Storage versions appear in Nextcloud Versions without changing the configured endpoint.

Written by the indexing model from the issue text.

Assessment

Tech stack
nginx, php
Domain
backend, cloud
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.