owncloud / files_primary_s3

📦 S3 compatible Storage
GNU General Public License v2.0
16 stars 5 forks source link

Cannot install #346

Closed designermonkey closed 4 years ago

designermonkey commented 4 years ago

I don't know what I'm missing, but I can't get this app to work. I added it to the custom apps dir, and added the env variables (I'm using docker) yet I consistently get an error telling me the S3Storage class cannot be found.

Cn anyone point me to how to get this installed? The documentation is pretty lacking for an owncloud noob like me.

designermonkey commented 4 years ago

Here's the specific docker log dump

owncloud_1  | services are ready!
owncloud_1  | Waiting for Redis...
owncloud_1  | services are ready!
owncloud_1  | Writing config file...
owncloud_1  | Fixing base perms...
owncloud_1  | Fixing data perms...
owncloud_1  | Fixing hook perms...
owncloud_1  | Upgrading server database...
owncloud_1  | An unhandled exception has been thrown:
owncloud_1  | Error: Class 'OCA\\Files_Primary_S3\\S3Storage' not found in /var/www/owncloud/lib/private/legacy/util.php:112
owncloud_1  | Stack trace:
owncloud_1  | #0 /var/www/owncloud/lib/private/legacy/util.php(293): OC_Util::initObjectStoreRootFS(Array)
owncloud_1  | #1 /var/www/owncloud/lib/private/Files/Filesystem.php(264): OC_Util::setupFS('')
owncloud_1  | #2 /var/www/owncloud/apps/files_sharing/lib/AppInfo/Application.php(132): OC\Files\Filesystem::getMountManager()
owncloud_1  | #3 /var/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(118): OCA\Files_Sharing\AppInfo\Application->OCA\Files_Sharing\AppInfo\{closure}(Object(OC\AppFramework\DependencyInjection\DIContainer))
owncloud_1  | #4 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(108): Pimple\Container->offsetGet('ExternalManager')
owncloud_1  | #5 /var/www/owncloud/apps/federatedfilesharing/lib/AppInfo/Application.php(169): OC\AppFramework\Utility\SimpleContainer->query('ExternalManager')
owncloud_1  | #6 /var/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(118): OCA\FederatedFileSharing\AppInfo\Application->OCA\FederatedFileSharing\AppInfo\{closure}(Object(OC\AppFramework\DependencyInjection\DIContainer))
owncloud_1  | #7 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(108): Pimple\Container->offsetGet('OCA\\FederatedFi...')
owncloud_1  | #8 /var/www/owncloud/lib/private/ServerContainer.php(79): OC\AppFramework\Utility\SimpleContainer->query('OCA\\FederatedFi...')
owncloud_1  | #9 /var/www/owncloud/lib/private/Console/Application.php(171): OC\ServerContainer->query('OCA\\FederatedFi...')
owncloud_1  | #10 /var/www/owncloud/lib/private/Console/Application.php(112): OC\Console\Application->loadCommandsFromInfoXml(Array)
owncloud_1  | #11 /var/www/owncloud/console.php(115): OC\Console\Application->loadCommands(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
owncloud_1  | #12 /var/www/owncloud/occ(11): require_once('/var/www/ownclo...')
owncloud_1  | #13 {main}dpkg: error: --compare-versions takes three arguments: <version> <relation> <version>
owncloud_1  | 
owncloud_1  | Type dpkg --help for help about installing and deinstalling packages [*];
owncloud_1  | Use 'apt' or 'aptitude' for user-friendly package management;
owncloud_1  | Type dpkg -Dhelp for a list of dpkg debug flag values;
owncloud_1  | Type dpkg --force-help for a list of forcing options;
owncloud_1  | Type dpkg-deb --help for help about manipulating *.deb files;
owncloud_1  | 
owncloud_1  | Options marked [*] produce a lot of output - pipe it through 'less' or 'more' !
owncloud_1  | Writing objectstore config...
owncloud_1  | Writing php config...
owncloud_1  | dpkg: error: --compare-versions takes three arguments: <version> <relation> <version>
owncloud_1  | 
owncloud_1  | Type dpkg --help for help about installing and deinstalling packages [*];
owncloud_1  | Use 'apt' or 'aptitude' for user-friendly package management;
owncloud_1  | Type dpkg -Dhelp for a list of dpkg debug flag values;
owncloud_1  | Type dpkg --force-help for a list of forcing options;
owncloud_1  | Type dpkg-deb --help for help about manipulating *.deb files;
owncloud_1  | 
owncloud_1  | Options marked [*] produce a lot of output - pipe it through 'less' or 'more' !
owncloud_1  | Writing apache config...
owncloud_1  | Enabling cron background...
owncloud_1  | An unhandled exception has been thrown:
owncloud_1  | Error: Class 'OCA\\Files_Primary_S3\\S3Storage' not found in /var/www/owncloud/lib/private/legacy/util.php:112
owncloud_1  | Stack trace:
owncloud_1  | #0 /var/www/owncloud/lib/private/legacy/util.php(293): OC_Util::initObjectStoreRootFS(Array)
owncloud_1  | #1 /var/www/owncloud/lib/private/Files/Filesystem.php(264): OC_Util::setupFS('')
owncloud_1  | #2 /var/www/owncloud/apps/files_sharing/lib/AppInfo/Application.php(132): OC\Files\Filesystem::getMountManager()
owncloud_1  | #3 /var/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(118): OCA\Files_Sharing\AppInfo\Application->OCA\Files_Sharing\AppInfo\{closure}(Object(OC\AppFramework\DependencyInjection\DIContainer))
owncloud_1  | #4 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(108): Pimple\Container->offsetGet('ExternalManager')
owncloud_1  | #5 /var/www/owncloud/apps/federatedfilesharing/lib/AppInfo/Application.php(169): OC\AppFramework\Utility\SimpleContainer->query('ExternalManager')
owncloud_1  | #6 /var/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(118): OCA\FederatedFileSharing\AppInfo\Application->OCA\FederatedFileSharing\AppInfo\{closure}(Object(OC\AppFramework\DependencyInjection\DIContainer))
owncloud_1  | #7 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(108): Pimple\Container->offsetGet('OCA\\FederatedFi...')
owncloud_1  | #8 /var/www/owncloud/lib/private/ServerContainer.php(79): OC\AppFramework\Utility\SimpleContainer->query('OCA\\FederatedFi...')
owncloud_1  | #9 /var/www/owncloud/lib/private/Console/Application.php(171): OC\ServerContainer->query('OCA\\FederatedFi...')
owncloud_1  | #10 /var/www/owncloud/lib/private/Console/Application.php(112): OC\Console\Application->loadCommandsFromInfoXml(Array)
owncloud_1  | #11 /var/www/owncloud/console.php(115): OC\Console\Application->loadCommands(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
owncloud_1  | #12 /var/www/owncloud/occ(11): require_once('/var/www/ownclo...')
owncloud_1  | #13 {main}
rode093 commented 4 years ago

Install the app in /path/to/owncloud/apps.

Then run this command from your owncloud root directory: php occ app:enable files_primary_s3

designermonkey commented 4 years ago

Thanks for the reply! I'll give that a go.

designermonkey commented 4 years ago
root@4d7d335fec1b: /var/www/owncloud # php occ app:enable files_primary_s3
An unhandled exception has been thrown:
PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'owncloud.appconfig' doesn't exist in /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:88
Stack trace:
#0 /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php(88): PDO->query('SELECT * FROM `...')
#1 /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(910): Doctrine\DBAL\Driver\PDOConnection->query('SELECT * FROM `...')
#2 /var/www/owncloud/lib/private/DB/Connection.php(187): Doctrine\DBAL\Connection->executeQuery('SELECT * FROM `...', Array, Array, NULL)
#3 /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php(200): OC\DB\Connection->executeQuery('SELECT * FROM `...', Array, Array)
#4 /var/www/owncloud/lib/private/DB/QueryBuilder/QueryBuilder.php(141): Doctrine\DBAL\Query\QueryBuilder->execute()
#5 /var/www/owncloud/lib/private/AppConfig.php(301): OC\DB\QueryBuilder\QueryBuilder->execute()
#6 /var/www/owncloud/lib/private/AppConfig.php(80): OC\AppConfig->loadConfigValues()
#7 /var/www/owncloud/lib/private/AppConfig.php(278): OC\AppConfig->getApps()
#8 /var/www/owncloud/lib/private/legacy/app.php(948): OC\AppConfig->getValues(false, 'installed_versi...')
#9 /var/www/owncloud/lib/private/Server.php(439): OC_App::getAppVersions()
#10 /var/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(118): OC\Server->OC\{closure}(Object(OC\Server))
#11 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(108): Pimple\Container->offsetGet('MemCacheFactory')
#12 /var/www/owncloud/lib/private/ServerContainer.php(86): OC\AppFramework\Utility\SimpleContainer->query('MemCacheFactory')
#13 /var/www/owncloud/lib/private/Server.php(1203): OC\ServerContainer->query('MemCacheFactory')
#14 /var/www/owncloud/lib/private/Server.php(598): OC\Server->getMemCacheFactory()
#15 /var/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(118): OC\Server->OC\{closure}(Object(OC\Server))
#16 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(108): Pimple\Container->offsetGet('AppManager')
#17 /var/www/owncloud/lib/private/ServerContainer.php(86): OC\AppFramework\Utility\SimpleContainer->query('AppManager')
#18 /var/www/owncloud/lib/private/Server.php(1419): OC\ServerContainer->query('AppManager')
#19 /var/www/owncloud/lib/private/legacy/app.php(343): OC\Server->getAppManager()
#20 /var/www/owncloud/lib/private/legacy/app.php(107): OC_App::getEnabledApps()
#21 /var/www/owncloud/lib/base.php(585): OC_App::loadApps(Array)
#22 /var/www/owncloud/lib/base.php(1059): OC::init()
#23 /var/www/owncloud/console.php(74): require_once('/var/www/ownclo...')
#24 /var/www/owncloud/occ(11): require_once('/var/www/ownclo...')
#25 {main}

Next Doctrine\DBAL\Driver\PDOException: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'owncloud.appconfig' doesn't exist in /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:90
Stack trace:
#0 /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(910): Doctrine\DBAL\Driver\PDOConnection->query('SELECT * FROM `...')
#1 /var/www/owncloud/lib/private/DB/Connection.php(187): Doctrine\DBAL\Connection->executeQuery('SELECT * FROM `...', Array, Array, NULL)
#2 /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php(200): OC\DB\Connection->executeQuery('SELECT * FROM `...', Array, Array)
#3 /var/www/owncloud/lib/private/DB/QueryBuilder/QueryBuilder.php(141): Doctrine\DBAL\Query\QueryBuilder->execute()
#4 /var/www/owncloud/lib/private/AppConfig.php(301): OC\DB\QueryBuilder\QueryBuilder->execute()
#5 /var/www/owncloud/lib/private/AppConfig.php(80): OC\AppConfig->loadConfigValues()
#6 /var/www/owncloud/lib/private/AppConfig.php(278): OC\AppConfig->getApps()
#7 /var/www/owncloud/lib/private/legacy/app.php(948): OC\AppConfig->getValues(false, 'installed_versi...')
#8 /var/www/owncloud/lib/private/Server.php(439): OC_App::getAppVersions()
#9 /var/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(118): OC\Server->OC\{closure}(Object(OC\Server))
#10 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(108): Pimple\Container->offsetGet('MemCacheFactory')
#11 /var/www/owncloud/lib/private/ServerContainer.php(86): OC\AppFramework\Utility\SimpleContainer->query('MemCacheFactory')
#12 /var/www/owncloud/lib/private/Server.php(1203): OC\ServerContainer->query('MemCacheFactory')
#13 /var/www/owncloud/lib/private/Server.php(598): OC\Server->getMemCacheFactory()
#14 /var/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(118): OC\Server->OC\{closure}(Object(OC\Server))
#15 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(108): Pimple\Container->offsetGet('AppManager')
#16 /var/www/owncloud/lib/private/ServerContainer.php(86): OC\AppFramework\Utility\SimpleContainer->query('AppManager')
#17 /var/www/owncloud/lib/private/Server.php(1419): OC\ServerContainer->query('AppManager')
#18 /var/www/owncloud/lib/private/legacy/app.php(343): OC\Server->getAppManager()
#19 /var/www/owncloud/lib/private/legacy/app.php(107): OC_App::getEnabledApps()
#20 /var/www/owncloud/lib/base.php(585): OC_App::loadApps(Array)
#21 /var/www/owncloud/lib/base.php(1059): OC::init()
#22 /var/www/owncloud/console.php(74): require_once('/var/www/ownclo...')
#23 /var/www/owncloud/occ(11): require_once('/var/www/ownclo...')
#24 {main}

Next Doctrine\DBAL\Exception\TableNotFoundException: An exception occurred while executing 'SELECT * FROM `appconfig`':

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'owncloud.appconfig' doesn't exist in /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php:42
Stack trace:
#0 /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php(169): Doctrine\DBAL\Driver\AbstractMySQLDriver->convertException('An exception oc...', Object(Doctrine\DBAL\Driver\PDOException))
#1 /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php(145): Doctrine\DBAL\DBALException::wrapException(Object(Doctrine\DBAL\Driver\PDOMySql\Driver), Object(Doctrine\DBAL\Driver\PDOException), 'An exception oc...')
#2 /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(913): Doctrine\DBAL\DBALException::driverExceptionDuringQuery(Object(Doctrine\DBAL\Driver\PDOMySql\Driver), Object(Doctrine\DBAL\Driver\PDOException), 'SELECT * FROM `...', Array)
#3 /var/www/owncloud/lib/private/DB/Connection.php(187): Doctrine\DBAL\Connection->executeQuery('SELECT * FROM `...', Array, Array, NULL)
#4 /var/www/owncloud/lib/composer/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php(200): OC\DB\Connection->executeQuery('SELECT * FROM `...', Array, Array)
#5 /var/www/owncloud/lib/private/DB/QueryBuilder/QueryBuilder.php(141): Doctrine\DBAL\Query\QueryBuilder->execute()
#6 /var/www/owncloud/lib/private/AppConfig.php(301): OC\DB\QueryBuilder\QueryBuilder->execute()
#7 /var/www/owncloud/lib/private/AppConfig.php(80): OC\AppConfig->loadConfigValues()
#8 /var/www/owncloud/lib/private/AppConfig.php(278): OC\AppConfig->getApps()
#9 /var/www/owncloud/lib/private/legacy/app.php(948): OC\AppConfig->getValues(false, 'installed_versi...')
#10 /var/www/owncloud/lib/private/Server.php(439): OC_App::getAppVersions()
#11 /var/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(118): OC\Server->OC\{closure}(Object(OC\Server))
#12 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(108): Pimple\Container->offsetGet('MemCacheFactory')
#13 /var/www/owncloud/lib/private/ServerContainer.php(86): OC\AppFramework\Utility\SimpleContainer->query('MemCacheFactory')
#14 /var/www/owncloud/lib/private/Server.php(1203): OC\ServerContainer->query('MemCacheFactory')
#15 /var/www/owncloud/lib/private/Server.php(598): OC\Server->getMemCacheFactory()
#16 /var/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(118): OC\Server->OC\{closure}(Object(OC\Server))
#17 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(108): Pimple\Container->offsetGet('AppManager')
#18 /var/www/owncloud/lib/private/ServerContainer.php(86): OC\AppFramework\Utility\SimpleContainer->query('AppManager')
#19 /var/www/owncloud/lib/private/Server.php(1419): OC\ServerContainer->query('AppManager')
#20 /var/www/owncloud/lib/private/legacy/app.php(343): OC\Server->getAppManager()
#21 /var/www/owncloud/lib/private/legacy/app.php(107): OC_App::getEnabledApps()
#22 /var/www/owncloud/lib/base.php(585): OC_App::loadApps(Array)
#23 /var/www/owncloud/lib/base.php(1059): OC::init()
#24 /var/www/owncloud/console.php(74): require_once('/var/www/ownclo...')
#25 /var/www/owncloud/occ(11): require_once('/var/www/ownclo...')
#26 {main}
designermonkey commented 4 years ago

Ok, so the docker container runs as root user, but the suggested command must be run as www-data user.

designermonkey commented 4 years ago

This has made no difference. The original issue is still present.

risacher commented 4 years ago

I'm also having similar issues, although I got there differently. I've installed owncloud/server via docker-compose, and then installed files_primary_s3 via Marketplace. It says that it installed, but under "Settings/External Storage", S3 doesn't appear as an option.

In the container, occ app:list shows that files_primary_s3 is enabled, but occ files_external:backends does not show anything regarding s3. I'm probably doing things wrong, but the documentation is a bit sparse.

DeepDiver1975 commented 4 years ago

root@4d7d335fec1b: /var/www/owncloud # php occ app:enable files_primary_s3

owncloud docker images have a helper script for occ to properly setup the environment - use: occ app:enable (notice the missing ./ or php ...)

DeepDiver1975 commented 4 years ago

I'm also having similar issues, although I got there differently. I've installed owncloud/server via docker-compose, and then installed files_primary_s3 via Marketplace. It says that it installed, but under "Settings/External Storage", S3 doesn't appear as an option.

files primary s3 can only be configured via config.php - it is not a secondardy storage which can be added in the settings. For this you need files_external_s3 ...

designermonkey commented 4 years ago

I wasn't asking about external S3 storage, I am asking why primary storage isn't working.

Why is this closed as the issue is still quite clearly present!

DeepDiver1975 commented 4 years ago

I wasn't asking about external S3 storage, I am asking why primary storage isn't working.

because of you are using php occ and not occ - see my comment above .... further details about to use primary s3. finally - please ask for help at https://central.owncloud.org/

THX

designermonkey commented 4 years ago

Ok, I'm not trying to be flippant here but this simply isn't working.

I have enabled the extension in the UI, I have enabled the extension in the cli, I have disabled it and enabled it over and over again.

As soon as I tell the config file to use it, I get the exception saying it cannot find the S3 class.

Here are my ENV vars:

OWNCLOUD_OBJECTSTORE_ENABLED=true
OWNCLOUD_OBJECTSTORE_CLASS=OCA\\Files_Primary_S3\\S3Storage
OWNCLOUD_OBJECTSTORE_BUCKET=owncloud
OWNCLOUD_OBJECTSTORE_AUTOCREATE=true
OWNCLOUD_OBJECTSTORE_ENDPOINT=minio:9000
OWNCLOUD_OBJECTSTORE_VERSION=2006-03-01
OWNCLOUD_OBJECTSTORE_REGION=eu-west-2
OWNCLOUD_OBJECTSTORE_PATHSTYLE=false

Here is the output:

owncloud_1  | Creating hook folders...
owncloud_1  | Waiting for MySQL...
owncloud_1  | services are ready!
mariadb_1   | 2020-07-08 15:18:58 14 [Warning] Aborted connection 14 to db: 'unconnected' user: 'unauthenticated' host: '172.23.0.5' (This connection closed normally without authentication)
owncloud_1  | Waiting for Redis...
owncloud_1  | services are ready!
owncloud_1  | Writing config file...
owncloud_1  | Fixing base perms...
owncloud_1  | Fixing data perms...
owncloud_1  | Fixing hook perms...
owncloud_1  | Upgrading server database...
owncloud_1  | An unhandled exception has been thrown:
owncloud_1  | Error: Class 'OCA\\Files_Primary_S3\\S3Storage' not found in /var/www/owncloud/lib/private/legacy/util.php:112
owncloud_1  | Stack trace:
owncloud_1  | #0 /var/www/owncloud/lib/private/legacy/util.php(293): OC_Util::initObjectStoreRootFS(Array)
owncloud_1  | #1 /var/www/owncloud/lib/private/Files/Filesystem.php(264): OC_Util::setupFS('')
owncloud_1  | #2 /var/www/owncloud/apps/files_sharing/lib/AppInfo/Application.php(132): OC\Files\Filesystem::getMountManager()
owncloud_1  | #3 /var/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(118): OCA\Files_Sharing\AppInfo\Application->OCA\Files_Sharing\AppInfo\{closure}(Object(OC\AppFramework\DependencyInjection\DIContainer))
owncloud_1  | #4 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(108): Pimple\Container->offsetGet('ExternalManager')
owncloud_1  | #5 /var/www/owncloud/apps/federatedfilesharing/lib/AppInfo/Application.php(169): OC\AppFramework\Utility\SimpleContainer->query('ExternalManager')
owncloud_1  | #6 /var/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(118): OCA\FederatedFileSharing\AppInfo\Application->OCA\FederatedFileSharing\AppInfo\{closure}(Object(OC\AppFramework\DependencyInjection\DIContainer))
owncloud_1  | #7 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(108): Pimple\Container->offsetGet('OCA\\FederatedFi...')
owncloud_1  | #8 /var/www/owncloud/lib/private/ServerContainer.php(79): OC\AppFramework\Utility\SimpleContainer->query('OCA\\FederatedFi...')
owncloud_1  | #9 /var/www/owncloud/lib/private/Console/Application.php(171): OC\ServerContainer->query('OCA\\FederatedFi...')
owncloud_1  | #10 /var/www/owncloud/lib/private/Console/Application.php(112): OC\Console\Application->loadCommandsFromInfoXml(Array)
owncloud_1  | #11 /var/www/owncloud/console.php(115): OC\Console\Application->loadCommands(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
owncloud_1  | #12 /var/www/owncloud/occ(11): require_once('/var/www/ownclo...')
owncloud_1  | #13 {main}dpkg: error: --compare-versions takes three arguments: <version> <relation> <version>
owncloud_1  | 
owncloud_1  | Type dpkg --help for help about installing and deinstalling packages [*];
owncloud_1  | Use 'apt' or 'aptitude' for user-friendly package management;
owncloud_1  | Type dpkg -Dhelp for a list of dpkg debug flag values;
owncloud_1  | Type dpkg --force-help for a list of forcing options;
owncloud_1  | Type dpkg-deb --help for help about manipulating *.deb files;
owncloud_1  | 
owncloud_1  | Options marked [*] produce a lot of output - pipe it through 'less' or 'more' !
owncloud_1  | Writing objectstore config...
owncloud_1  | Writing php config...
owncloud_1  | dpkg: error: --compare-versions takes three arguments: <version> <relation> <version>
owncloud_1  | 
owncloud_1  | Type dpkg --help for help about installing and deinstalling packages [*];
owncloud_1  | Use 'apt' or 'aptitude' for user-friendly package management;
owncloud_1  | Type dpkg -Dhelp for a list of dpkg debug flag values;
owncloud_1  | Type dpkg --force-help for a list of forcing options;
owncloud_1  | Type dpkg-deb --help for help about manipulating *.deb files;
owncloud_1  | 
owncloud_1  | Options marked [*] produce a lot of output - pipe it through 'less' or 'more' !
owncloud_1  | Writing apache config...
owncloud_1  | Enabling cron background...
owncloud_1  | An unhandled exception has been thrown:
owncloud_1  | Error: Class 'OCA\\Files_Primary_S3\\S3Storage' not found in /var/www/owncloud/lib/private/legacy/util.php:112
owncloud_1  | Stack trace:
owncloud_1  | #0 /var/www/owncloud/lib/private/legacy/util.php(293): OC_Util::initObjectStoreRootFS(Array)
owncloud_1  | #1 /var/www/owncloud/lib/private/Files/Filesystem.php(264): OC_Util::setupFS('')
owncloud_1  | #2 /var/www/owncloud/apps/files_sharing/lib/AppInfo/Application.php(132): OC\Files\Filesystem::getMountManager()
owncloud_1  | #3 /var/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(118): OCA\Files_Sharing\AppInfo\Application->OCA\Files_Sharing\AppInfo\{closure}(Object(OC\AppFramework\DependencyInjection\DIContainer))
owncloud_1  | #4 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(108): Pimple\Container->offsetGet('ExternalManager')
owncloud_1  | #5 /var/www/owncloud/apps/federatedfilesharing/lib/AppInfo/Application.php(169): OC\AppFramework\Utility\SimpleContainer->query('ExternalManager')
owncloud_1  | #6 /var/www/owncloud/lib/composer/pimple/pimple/src/Pimple/Container.php(118): OCA\FederatedFileSharing\AppInfo\Application->OCA\FederatedFileSharing\AppInfo\{closure}(Object(OC\AppFramework\DependencyInjection\DIContainer))
owncloud_1  | #7 /var/www/owncloud/lib/private/AppFramework/Utility/SimpleContainer.php(108): Pimple\Container->offsetGet('OCA\\FederatedFi...')
owncloud_1  | #8 /var/www/owncloud/lib/private/ServerContainer.php(79): OC\AppFramework\Utility\SimpleContainer->query('OCA\\FederatedFi...')
owncloud_1  | #9 /var/www/owncloud/lib/private/Console/Application.php(171): OC\ServerContainer->query('OCA\\FederatedFi...')
owncloud_1  | #10 /var/www/owncloud/lib/private/Console/Application.php(112): OC\Console\Application->loadCommandsFromInfoXml(Array)
owncloud_1  | #11 /var/www/owncloud/console.php(115): OC\Console\Application->loadCommands(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput))
owncloud_1  | #12 /var/www/owncloud/occ(11): require_once('/var/www/ownclo...')
owncloud_1  | #13 {main}owncloud_owncloud_1 exited with code 1
DeepDiver1975 commented 4 years ago

Looks like you are one step further :+1: As said please seek out for help at https://central.owncloud.org/

designermonkey commented 4 years ago

Ok I will ask the same questions there about a bug that I'm logging on a bug tracker. However, I am not one step closer as it's exactly the same error I logged initially.

Thanks for your help.

risacher commented 4 years ago

The current link in the Marketplace to the admin docs for files_primary_s3 docs is a 404 (https://doc.owncloud.com/server/latest/admin_manual/enterprise/external_storage/s3_swift_as_primary_object_store_configuration.html). (Which redirects to the 10.4 docs)

The module config docs do appear in the 10.3 version of the admin docs: https://doc.owncloud.com/server/10.3/admin_manual/enterprise/external_storage/s3_swift_as_primary_object_store_configuration.html

DeepDiver1975 commented 4 years ago

The current link in the Marketplace to the admin docs for files_primary_s3 docs is a 404 (https://doc.owncloud.com/server/latest/admin_manual/enterprise/external_storage/s3_swift_as_primary_object_store_configuration.html). (Which redirects to the 10.4 docs)

Thx for reporting - looks like an issue in our docs .... reported to the responsible parties ...

DeepDiver1975 commented 4 years ago

Ok I will ask the same questions there about a bug that I'm logging on a bug tracker

You are under a wrong assumption - it is not a bug and therefore it does not belong into the bug tracker. You are looking for help - the forum is the best place to ask such a question.

Why not a bug? Because this is running successfully on multiple instances.

designermonkey commented 4 years ago

Right this is crazy.

Whenever I have used PHP and written a string, especially a classname, I have had to write it as: OCA\\Files_Primary_S3\\S3Storage (note the escaped slashes).

Owncloud it seems will take this literally.

If I configure it without escaping the slashes: OCA\Files_Primary_S3\S3Storage it accepts the classname.

I cannot believe how many hours I've tried debugging this since I initially raised the issue.

risacher commented 4 years ago

@designermonkey - that's not a PHP thing, that's a docker thing.

Aside: I may have finally gotten my config right, but alas, I now get this error:

owncloud_1  | Installing files_primary_s3 app...
owncloud_1  | files_primary_s3: Installing new app ...
owncloud_1  |  files_primary_s3: No marketplace connection: cURL error 60: SSL: no alternative certificate subject name matches target host name 'storage.marketplace.owncloud.com' 

And in fact, that's true ... storage.marketplace.owncloud.com has a bad cert -installed this morning; missing the right subject alternative name. Sigh.

risacher commented 4 years ago

For the benefit of @designermonkey and anyone else struggling with this, I got it to work using the following environment variables for docker-compose:

  - OWNCLOUD_APPS_INSTALL=files_primary_s3
  - OWNCLOUD_OBJECTSTORE_ENABLED=true
  - OWNCLOUD_OBJECTSTORE_CLASS=OCA\Files_Primary_S3\S3Storage
  - OWNCLOUD_OBJECTSTORE_BUCKET=my-unique-s3-bucketname-for-owncloud
  - OWNCLOUD_OBJECTSTORE_AUTOCREATE=true
  - OWNCLOUD_OBJECTSTORE_VERSION=2006-03-01
  - OWNCLOUD_OBJECTSTORE_ENDPOINT=https://s3.us-east-1.amazonaws.com
  - OWNCLOUD_OBJECTSTORE_REGION=us-east-1
  - OWNCLOUD_OBJECTSTORE_PATHSTYLE=false
  - OWNCLOUD_OBJECTSTORE_KEY=<key for an AWS IAM acct with privs to S3}
  - OWNCLOUD_OBJECTSTORE_SECRET=<secret fot AWS IAM acct with privs to S3}

I am running ownCloud in an AWS EC2 VPC, so I also had to create a VPC endpoint, which I did in the AWS console. I also created a S3 VPC Access Point, although I'm not 100% sure this was needed.