Hi,
For years I was using a raspi+hdd, and I am now migrating the server to a better hardware.
Both install are on ubuntu core (from core for raspi, to core for NUC).
I used the nextcloud export command on the old raspi.
I installed ubuntu core and the nextcloud snap on the new server.
I plugged the old HDD from the raspi on the new server, transfered all files in the data or the backup folders.
Then i import:
sudo nextcloud.import /var/snap/nextcloud/common/backups/20230825-111105
WARNING: This functionality is still experimental and under
development, use at your own risk. Note that the CLI interface is
unstable, so beware if using from within scripts.
Clearing existing non-default apps... done
Importing apps...
1.91G 100% 40.33MB/s 0:00:45 (xfr#48453, to-chk=0/54884)
Dropping existing database... done
Creating new database... done
Granting database privileges to existing user... done
Importing database...
Importing config...
Clearing existing data... done
Importing data...
21.54M 100% 130.01MB/s 0:00:00 (xfr#80, to-chk=0/151)
Disabling maintenance mode... error
An unhandled exception has been thrown:
Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [1045] Access denied for user 'nextcloud'@'localhost' (using password: YES) in /snap/nextcloud/36392/htdocs/lib/private/DB/Connection.php:140
Stack trace:
#0 /snap/nextcloud/36392/htdocs/3rdparty/doctrine/dbal/src/Connection.php(1531): OC\DB\Connection->connect()
#1 /snap/nextcloud/36392/htdocs/3rdparty/doctrine/dbal/src/Connection.php(1029): Doctrine\DBAL\Connection->getWrappedConnection()
#2 /snap/nextcloud/36392/htdocs/lib/private/DB/Connection.php(262): Doctrine\DBAL\Connection->executeQuery()
#3 /snap/nextcloud/36392/htdocs/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php(345): OC\DB\Connection->executeQuery()
#4 /snap/nextcloud/36392/htdocs/lib/private/DB/QueryBuilder/QueryBuilder.php(280): Doctrine\DBAL\Query\QueryBuilder->execute()
#5 /snap/nextcloud/36392/htdocs/lib/private/AppConfig.php(418): OC\DB\QueryBuilder\QueryBuilder->execute()
#6 /snap/nextcloud/36392/htdocs/lib/private/AppConfig.php(184): OC\AppConfig->loadConfigValues()
#7 /snap/nextcloud/36392/htdocs/lib/private/AppConfig.php(374): OC\AppConfig->getApps()
#8 /snap/nextcloud/36392/htdocs/lib/private/legacy/OC_App.php(976): OC\AppConfig->getValues()
#9 /snap/nextcloud/36392/htdocs/lib/private/Server.php(731): OC_App::getAppVersions()
#10 /snap/nextcloud/36392/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php(171): OC\Server->OC\{closure}()
#11 /snap/nextcloud/36392/htdocs/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#12 /snap/nextcloud/36392/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php(138): Pimple\Container->offsetGet()
#13 /snap/nextcloud/36392/htdocs/lib/private/ServerContainer.php(171): OC\AppFramework\Utility\SimpleContainer->query()
#14 /snap/nextcloud/36392/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php(65): OC\ServerContainer->query()
#15 /snap/nextcloud/36392/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php(193): OC\AppFramework\Utility\SimpleContainer->get()
#16 /snap/nextcloud/36392/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php(171): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#17 /snap/nextcloud/36392/htdocs/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#18 /snap/nextcloud/36392/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php(138): Pimple\Container->offsetGet()
#19 /snap/nextcloud/36392/htdocs/lib/private/ServerContainer.php(171): OC\AppFramework\Utility\SimpleContainer->query()
#20 /snap/nextcloud/36392/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php(65): OC\ServerContainer->query()
#21 /snap/nextcloud/36392/htdocs/lib/private/Server.php(1112): OC\AppFramework\Utility\SimpleContainer->get()
#22 /snap/nextcloud/36392/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php(171): OC\Server->OC\{closure}()
#23 /snap/nextcloud/36392/htdocs/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#24 /snap/nextcloud/36392/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php(138): Pimple\Container->offsetGet()
#25 /snap/nextcloud/36392/htdocs/lib/private/ServerContainer.php(171): OC\AppFramework\Utility\SimpleContainer->query()
#26 /snap/nextcloud/36392/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php(65): OC\ServerContainer->query()
#27 /snap/nextcloud/36392/htdocs/lib/private/Server.php(2067): OC\AppFramework\Utility\SimpleContainer->get()
#28 /snap/nextcloud/36392/htdocs/lib/private/Files/View.php(119): OC\Server->getLockingProvider()
#29 /snap/nextcloud/36392/htdocs/lib/private/Server.php(465): OC\Files\View->__construct()
#30 /snap/nextcloud/36392/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php(171): OC\Server->OC\{closure}()
#31 /snap/nextcloud/36392/htdocs/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#32 /snap/nextcloud/36392/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php(138): Pimple\Container->offsetGet()
#33 /snap/nextcloud/36392/htdocs/lib/private/ServerContainer.php(171): OC\AppFramework\Utility\SimpleContainer->query()
#34 /snap/nextcloud/36392/htdocs/lib/private/AppFramework/Utility/SimpleContainer.php(65): OC\ServerContainer->query()
#35 /snap/nextcloud/36392/htdocs/lib/private/Server.php(1469): OC\AppFramework\Utility\SimpleContainer->get()
#36 /snap/nextcloud/36392/htdocs/lib/base.php(632): OC\Server->boot()
#37 /snap/nextcloud/36392/htdocs/lib/base.php(1174): OC::init()
#38 /snap/nextcloud/36392/htdocs/console.php(48): require_once('...')
#39 /snap/nextcloud/36392/htdocs/occ(11): require_once('...')
#40 {main}
I’ve seen this tab was open while i had resolved my problem without find anything in the documentation, so i will keep posting this to make sure there is a trace for someone else below
I have read and read many times, but I think it is missing something in the documentation:
1/ the documentation in the import section should explicitly says that the current snap should be in an installed state (config.php with the database password). (My first try of nextcloud.import was without even visiting the ip of my nextcloud in the browser to finish installation).
2/ Once this is done, the documentation in the import section should explicitly says that the current backup should be updated to make sure its backup-ed config.php file has an updated database password with the current snap database password (and optionally update paths/IP/adresses if needed to match need the new snap install)
Might seems basic thing for some, but would definitely save time to users like me
Should i open a bug somewhere, or this topic is enough ?
PS: thank you for this awesome project, and specificly thanks you for the OPS experience with the snap, it really feels like nothing has to be done to have it securely works 24/7 and updated, and that’s perfect for me <3