How to update files locally with S3 as primary storage?

Hi, I moved my nextcloud install to AWS with S3 as primary storage but I’m having difficulty adapting one thing.

I have this script that gets an image out of my home CCTV every ten minutes and I’d like to run this on the same machine as nextcloud. Before S3 storage, I could just point the downloader to nextcloud folder in the disk and it’d work with automatic refresh. Now obviously that’s not an option so I tried webdav - I can push to it from another computer but can’t run it on the same computer (if I input 127.0.0.1 as the webdav address then I get an SSL error). If I tried to push to S3 directly then I wouldn’t get indexing on nextcloud. Is there a solution to this, or am I supposed to use anothe computer or avoid using S3 in such a case? Thanks.

Nextcloud version : 20.0.4 snap
Operating system and version : Ubuntu 20.04
PHP version : 7.4.14

The issue you are facing:

Inability to update files locally, described in detail above

Is this the first time you’ve seen this error? (Y/N):

Y

Steps to replicate it:

  1. Set up nextcloud via snap
  2. Configure S3 as primary storage by editing config.php
  3. Try and fail to push new images via webdav on local path

There’s nothing in the log

The output of your config.php file:

<?php
$CONFIG = array (
  'apps_paths' =>
  array (
    0 =>
    array (
      'path' => '/snap/nextcloud/current/htdocs/apps',
      'url' => '/apps',
      'writable' => false,
    ),
    1 =>
    array (
      'path' => '/var/snap/nextcloud/current/nextcloud/extra-apps',
      'url' => '/extra-apps',
      'writable' => true,
    ),
  ),
  'supportedDatabases' =>
  array (
    0 => 'mysql',
  ),
  'memcache.locking' => '\\OC\\Memcache\\Redis',
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'redis' =>
  array (
    'host' => '/tmp/sockets/redis.sock',
    'port' => 0,
  ),
  'log_type' => 'file',
  'logfile' => '/var/snap/nextcloud/current/logs/nextcloud.log',
  'logfilemode' => 416,
  'passwordsalt' => '***',
  'secret' => '***',
  'trusted_domains' =>
  array (
    0 => 'localhost',
    1 => 'cloud.mydomain.com,
  ),
  'objectstore' =>
  array (
    'class' => '\\OC\\Files\\ObjectStore\\S3',
    'arguments' =>
    array (
      'bucket' => 'nextcloud',
      'autocreate' => true,
      'key' => '***',
      'secret' => '***',
      'use_ssl' => true,
      'region' => 'eu-west-1',
      'use_path_style' => true,
    ),
  ),
  'datadirectory' => '/var/snap/nextcloud/common/nextcloud/data',
  'dbtype' => 'mysql',
  'version' => '20.0.4.0',
  'overwrite.cli.url' => 'http://localhost',
  'dbname' => 'nextcloud',
  'dbhost' => 'localhost:/tmp/sockets/mysql.sock',
  'dbport' => '',
  'dbtableprefix' => 'oc_',
  'mysql.utf8mb4' => true,
  'dbuser' => 'nextcloud',
  'dbpassword' => '***',
  'installed' => true,
  'instanceid' => '***',
  'maintenance' => false,
);

Hi welele,
did you ever solve this problem?

WebDAV works just fine from the same host or from another.

The original poster’s SSL errors were almost certainly just an issue with their web server/proxy/networking configuration.

https://docs.nextcloud.com/server/latest/user_manual/en/files/access_webdav.html#accessing-files-using-curl