HumHub - social network software
-
@nebulon I can add some proper tests for sure. As for initial account setup, this is problematic since it seems humhub requires manual setup to get the DB set up to allow accounts to be made at all. This is why LDAP and email are only working after the first re-start post setup.
-
@atridad Tried too but got something about a "base table doesn't exist"
-
@doodlemania2 O_O where in the process did you encounter this issue? The flow for this app is a bit odd.
- Install app
- Go to the app and follow the setup
- Restart the app
- Use the app
Also make sure the admin user does not have the same login as any users on your cloudron.
-
@atridad No worries - wasn't able to get to the initial setup, this was on first run - looks like it was missing a .schema file or something.
Cloned from GitHub and not git.cloudron - should I try git.cloudron instead? -
@doodlemania2 GitHub is where I update things and I have a workflow running to push commits over to Git.cloudron. If that ever fails technically GitHub would be the proper source of truth. But on to that issue, I am doing some updates for @Sam_uk tonight on his instances so if I encounter this I will let you know. If not, perhaps debugging 1-on-1 would be a good next step
-
@doodlemania2 So I didn't encounter any issues this time around. I pushed a new version with some misc fixes regardless. Could you give it one more try with this new version? It adds optional SSO.
-
@atridad 100% doing so now and will capture a full log if it goes boom!
Did you push to github or cloudron? GH still shows Mar 24
-
@doodlemania2 HAH so good catch. I legitimately forgot to PUSH my commit. Rookie move. Its pushed and a new release is up.
-
@atridad Did a git pull, cloudron build, no other changes, then on initial startup of app, things start up great. When I hit the app the first time, here's what goes boom:
2022-04-27 21:51:34,544 INFO success: apache2 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
Apr 27 14:51:40 - - - [27/Apr/2022:21:51:40 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
Apr 27 14:51:50 - - - [27/Apr/2022:21:51:50 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
Apr 27 14:52:00 - - - [27/Apr/2022:21:52:00 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
Apr 27 14:52:10 - - - [27/Apr/2022:21:52:10 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
Apr 27 14:52:20 - - - [27/Apr/2022:21:52:20 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
Apr 27 14:52:30 - - - [27/Apr/2022:21:52:30 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
Apr 27 14:52:32 Exception 'yii\db\Exception' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table '6e6072eed5097268.setting' doesn't exist
Apr 27 14:52:32 The SQL being executed was: SELECT * FROMsetting
WHERE (module_id
='base') AND (name
='cronLastHourlyRun')'
Apr 27 14:52:32 in /app/code/protected/vendor/yiisoft/yii2/db/Schema.php:676
Apr 27 14:52:32 Error Info:
Apr 27 14:52:32 Array
Apr 27 14:52:32 (
Apr 27 14:52:32 [0] => 42S02
Apr 27 14:52:32 [1] => 1146
Apr 27 14:52:32 [2] => Table '6e6072eed5097268.setting' doesn't exist
Apr 27 14:52:32 )
Apr 27 14:52:32 Caused by: Exception 'PDOException' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table '6e6072eed5097268.setting' doesn't exist'
Apr 27 14:52:32 in /app/code/protected/vendor/yiisoft/yii2/db/Command.php:1302
Apr 27 14:52:32 Stack trace:
Apr 27 14:52:32 #0 /app/code/protected/vendor/yiisoft/yii2/db/Command.php(1302): PDOStatement->execute()
Apr 27 14:52:32 #1 /app/code/protected/vendor/yiisoft/yii2/db/Command.php(1168): yii\db\Command->internalExecute()
Apr 27 14:52:32 #2 /app/code/protected/vendor/yiisoft/yii2/db/Command.php(424): yii\db\Command->queryInternal()
Apr 27 14:52:32 #3 /app/code/protected/vendor/yiisoft/yii2/db/Query.php(287): yii\db\Command->queryOne()
Apr 27 14:52:32 #4 /app/code/protected/vendor/yiisoft/yii2/db/ActiveQuery.php(304): yii\db\Query->one()
Apr 27 14:52:32 #5 /app/code/protected/humhub/libs/BaseSettingsManager.php(139): yii\db\ActiveQuery->one()
Apr 27 14:52:32 #6 /app/code/protected/humhub/commands/CronController.php(93): humhub\libs\BaseSettingsManager->getUncached()
Apr 27 14:52:32 #7 /app/code/protected/humhub/commands/CronController.php(54): humhub\commands\CronController->runHourly()
Apr 27 14:52:32 #8 [internal function]: humhub\commands\CronController->actionRun()
Apr 27 14:52:32 #9 /app/code/protected/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()
Apr 27 14:52:32 #10 /app/code/protected/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams()
Apr 27 14:52:32 #11 /app/code/protected/vendor/yiisoft/yii2/console/Controller.php(182): yii\base\Controller->runAction()
Apr 27 14:52:32 #12 /app/code/protected/vendor/yiisoft/yii2/base/Module.php(552): yii\console\Controller->runAction()
Apr 27 14:52:32 #13 /app/code/protected/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction()
Apr 27 14:52:32 #14 /app/code/protected/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction()
Apr 27 14:52:32 #15 /app/code/protected/vendor/yiisoft/yii2/base/Application.php(384): yii\console\Application->handleRequest()
Apr 27 14:52:32 #16 /app/code/protected/yii(29): yii\base\Application->run()
Apr 27 14:52:32 #17 {main}
Apr 27 14:52:40 - - - [27/Apr/2022:21:52:40 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)" -
@doodlemania2 Weird... I'll test it again. What this looks like to me is the second start where it thinks it has initialized, and it tries to edit DB values before the DB is initialized...
You're certain you didn't restart it after installing? I don't think you're dumb I'm just making absolutely sure because this is something I haven't encountered yet.
-
@doodlemania2 Ok, try the new release. I found a way to remove the initial setup restart requirement. The LDAP and SMTP settings are set on a cron job now.
https://github.com/atridadl/cloudron-humhub-app/releases/tag/1.5.0
-
@atridad said in HumHub - social network software:
The LDAP and SMTP settings are set on a cron job
Would this still be compatible with a 'no sso' install where for example Keycloak is used instead?
-
@atridad You probably know better but is it not better to run it in background in
start.sh
, instead of cronjob ? Like(setup) &
. We do this for example here: https://git.cloudron.io/cloudron/kanboard-app/-/blob/master/start.sh#L76 -
@atridad no worries at all good sir- trying again with your new update! (did not restart, but I can see how that would happen)
-
here's the full log (minus most of the image extraction) - no restarts:
Apr 28 12:22:26 box:docker pullImage: {"status":"Extracting","progressDetail":{"current":89686016,"total":90317750},"progress":"[=================================================> ] 89.69MB/90.32MB","id":"3d2b1d633598"}
Apr 28 12:22:26 box:docker pullImage: {"status":"Extracting","progressDetail":{"current":90317750,"total":90317750},"progress":"[==================================================>] 90.32MB/90.32MB","id":"3d2b1d633598"}
Apr 28 12:22:26 box:docker pullImage: {"status":"Pull complete","progressDetail":{},"id":"3d2b1d633598"}
Apr 28 12:22:26 box:docker pullImage: {"status":"Extracting","progressDetail":{"current":914,"total":914},"progress":"[==================================================>] 914B/914B","id":"facbe38d66d8"}
Apr 28 12:22:26 box:docker pullImage: {"status":"Extracting","progressDetail":{"current":914,"total":914},"progress":"[==================================================>] 914B/914B","id":"facbe38d66d8"}
Apr 28 12:22:27 box:docker pullImage: {"status":"Pull complete","progressDetail":{},"id":"facbe38d66d8"}
Apr 28 12:22:27 box:docker pullImage: {"status":"Extracting","progressDetail":{"current":699,"total":699},"progress":"[==================================================>] 699B/699B","id":"5979f7f0567d"}
Apr 28 12:22:27 box:docker pullImage: {"status":"Extracting","progressDetail":{"current":699,"total":699},"progress":"[==================================================>] 699B/699B","id":"5979f7f0567d"}
Apr 28 12:22:27 box:docker pullImage: {"status":"Pull complete","progressDetail":{},"id":"5979f7f0567d"}
Apr 28 12:22:27 box:docker pullImage: {"status":"Extracting","progressDetail":{"current":790,"total":790},"progress":"[==================================================>] 790B/790B","id":"1bb346ffa0fa"}
Apr 28 12:22:27 box:docker pullImage: {"status":"Extracting","progressDetail":{"current":790,"total":790},"progress":"[==================================================>] 790B/790B","id":"1bb346ffa0fa"}
Apr 28 12:22:27 box:docker pullImage: {"status":"Pull complete","progressDetail":{},"id":"1bb346ffa0fa"}
Apr 28 12:22:27 box:docker pullImage: {"status":"Digest: sha256:25279937749d0af43eb275664fe64d68acc76f6b3fd37a0f08827de877fbaf84"}
Apr 28 12:22:27 box:docker pullImage: {"status":"Status: Downloaded newer image for registry.apps.thedoodleproject.net/humhub:20220428-191611-5678ae9a4"}
Apr 28 12:22:27 box:docker downloaded image registry.apps.thedoodleproject.net/humhub:20220428-191611-5678ae9a4
Apr 28 12:22:27 box:tasks update 5863: {"percent":50,"message":"Creating app data directory"}
Apr 28 12:22:27 box:tasks update 5863: {"percent":60,"message":"Setting up addons"}
Apr 28 12:22:27 box:services setupAddons: Setting up ["mysql","localstorage","sendmail","ldap","scheduler"]
Apr 28 12:22:27 box:services setupAddons: setting up addon mysql with options {}
Apr 28 12:22:27 box:services Setting up mysql
Apr 28 12:22:27 box:services Setting mysql addon config to [{"name":"CLOUDRON_MYSQL_USERNAME","value":"861d26e19014f5b3"},{"name":"CLOUDRON_MYSQL_PASSWORD","value":"c7c9cf3a3916bd11dadd2592f674fae373da5cd1be5d72b5"},{"name":"CLOUDRON_MYSQL_HOST","value":"mysql"},{"name":"CLOUDRON_MYSQL_PORT","value":"3306"},{"name":"CLOUDRON_MYSQL_URL","value":"mysql://861d26e19014f5b3:c7c9cf3a3916bd11dadd2592f674fae373da5cd1be5d72b5@mysql/861d26e19014f5b3"},{"name":"CLOUDRON_MYSQL_DATABASE","value":"861d26e19014f5b3"}]
Apr 28 12:22:27 box:services setupAddons: setting up addon localstorage with options {"ftp":{"uid":33,"uname":"www-data"}}
Apr 28 12:22:27 box:services setupLocalStorage
Apr 28 12:22:27 box:shell createVolume spawn: /usr/bin/sudo -S /home/yellowtent/box/src/scripts/mkdirvolume.sh /home/yellowtent/appsdata/a82a3f73-544a-4d2a-a919-f5568f553257/data
Apr 28 12:22:27 box:services setupAddons: setting up addon sendmail with options {}
Apr 28 12:22:27 box:services Setting up SendMail
Apr 28 12:22:27 box:services Setting sendmail addon config to [{"name":"CLOUDRON_MAIL_SMTP_SERVER","value":"mail"},{"name":"CLOUDRON_MAIL_SMTP_PORT","value":"2525"},{"name":"CLOUDRON_MAIL_SMTPS_PORT","value":"2465"},{"name":"CLOUDRON_MAIL_STARTTLS_PORT","value":"2587"},{"name":"CLOUDRON_MAIL_SMTP_USERNAME","value":"humhub.app@apps.thedoodleproject.net"},{"name":"CLOUDRON_MAIL_SMTP_PASSWORD","value":"7f02e2cd8d8b5343ab10442ef21f9b9835e9233a6280fe6a"},{"name":"CLOUDRON_MAIL_FROM","value":"humhub.app@apps.thedoodleproject.net"},{"name":"CLOUDRON_MAIL_DOMAIN","value":"apps.thedoodleproject.net"}]
Apr 28 12:22:27 box:services setupAddons: setting up addon ldap with options {}
Apr 28 12:22:27 box:services Setting up LDAP
Apr 28 12:22:27 box:services setupAddons: setting up addon scheduler with options {"queue":{"schedule":"* * * * ","command":"/usr/bin/php /app/code/protected/yii queue/run --isolate=0"},"cron":{"schedule":" * * * ","command":"/usr/bin/php /app/code/protected/yii cron/run"},"update_db":{"schedule":" * * * *","command":"/app/code/db_update.sh"}}
Apr 28 12:22:27 box:tasks update 5863: {"percent":80,"message":"Creating container"}
Apr 28 12:22:27 box:apptask createContainer: creating container
Apr 28 12:22:28 box:shell addLogrotateConfig spawn: /usr/bin/sudo -S /home/yellowtent/box/src/scripts/configurelogrotate.sh add a82a3f73-544a-4d2a-a919-f5568f553257 /tmp/a82a3f73-544a-4d2a-a919-f5568f553257.logrotate
Apr 28 12:22:28 box:shell addCollectdProfile spawn: /usr/bin/sudo -S /home/yellowtent/box/src/scripts/configurecollectd.sh add a82a3f73-544a-4d2a-a919-f5568f553257
Apr 28 12:22:28 box:shell addCollectdProfile (stdout): Restarting collectd
Apr 28 12:22:28 box:apptask startApp: starting container
Apr 28 12:22:30 box:tasks update 5863: {"percent":85,"message":"Waiting for DNS propagation"}
Apr 28 12:22:30 box:sysinfo/generic getServerIPv4: getting server IP
Apr 28 12:22:31 box:dns/waitfordns waitForDns: waiting for humhub.apps.thedoodleproject.net to be 172.58.107.231 in zone apps.thedoodleproject.net
Apr 28 12:22:31 box:dns/waitfordns waitForDns: nameservers are ["ns3.digitalocean.com","ns2.digitalocean.com","ns1.digitalocean.com"]
Apr 28 12:22:31 box:dns/waitfordns resolveIp: Checking if humhub.apps.thedoodleproject.net has A record at 198.41.222.173
Apr 28 12:22:30 ==> Starting HumHub
Apr 28 12:22:31 2022-04-28 19:22:31,078 CRIT Supervisor is running as root. Privileges were not dropped because no user is specified in the config file. If you intend to run as root, you can set user=root in the config file to avoid this message.
Apr 28 12:22:31 2022-04-28 19:22:31,078 INFO Included extra file "/etc/supervisor/conf.d/apache2.conf" during parsing
Apr 28 12:22:31 2022-04-28 19:22:31,088 INFO RPC interface 'supervisor' initialized
Apr 28 12:22:31 2022-04-28 19:22:31,088 CRIT Server 'unix_http_server' running without any HTTP authentication checking
Apr 28 12:22:31 2022-04-28 19:22:31,088 INFO supervisord started with pid 1
Apr 28 12:22:31 box:dns/waitfordns isChangeSynced: humhub.apps.thedoodleproject.net (A) was resolved to 172.58.107.231 at NS ns3.digitalocean.com (198.41.222.173). Expecting 172.58.107.231. Match true
Apr 28 12:22:31 box:dns/waitfordns waitForDns: humhub.apps.thedoodleproject.net at ns ns3.digitalocean.com: done
Apr 28 12:22:31 box:dns/waitfordns resolveIp: Checking if humhub.apps.thedoodleproject.net has A record at 173.245.59.41
Apr 28 12:22:31 box:dns/waitfordns isChangeSynced: humhub.apps.thedoodleproject.net (A) was resolved to 172.58.107.231 at NS ns2.digitalocean.com (173.245.59.41). Expecting 172.58.107.231. Match true
Apr 28 12:22:31 box:dns/waitfordns waitForDns: humhub.apps.thedoodleproject.net at ns ns2.digitalocean.com: done
Apr 28 12:22:31 box:dns/waitfordns resolveIp: Checking if humhub.apps.thedoodleproject.net has A record at 173.245.58.51
Apr 28 12:22:31 box:dns/waitfordns isChangeSynced: humhub.apps.thedoodleproject.net (A) was resolved to 172.58.107.231 at NS ns1.digitalocean.com (173.245.58.51). Expecting 172.58.107.231. Match true
Apr 28 12:22:31 box:dns/waitfordns waitForDns: humhub.apps.thedoodleproject.net at ns ns1.digitalocean.com: done
Apr 28 12:22:31 box:dns/waitfordns waitForDns: humhub.apps.thedoodleproject.net has propagated
Apr 28 12:22:31 box:tasks update 5863: {"percent":95,"message":"Configuring reverse proxy"}
Apr 28 12:22:31 box:reverseproxy ensureCertificate: humhub.apps.thedoodleproject.net certificate already exists at /home/yellowtent/platformdata/nginx/cert/.apps.thedoodleproject.net.key
Apr 28 12:22:31 box:reverseproxy expiryDate: /home/yellowtent/platformdata/nginx/cert/.apps.thedoodleproject.net.cert notAfter=Jul 2 19:28:38 2022 GMT daysLeft=65.00424060185185
Apr 28 12:22:31 box:reverseproxy providerMatchesSync: /home/yellowtent/platformdata/nginx/cert/.apps.thedoodleproject.net.cert subject=CN = .apps.thedoodleproject.net domain=.apps.thedoodleproject.net issuer=C = US, O = Let's Encrypt, CN = R3 wildcard=true/true prod=true/true issuerMismatch=false wildcardMismatch=false match=true
Apr 28 12:22:31 box:reverseproxy writeAppNginxConfig: writing config for "humhub.apps.thedoodleproject.net" to /home/yellowtent/platformdata/nginx/applications/a82a3f73-544a-4d2a-a919-f5568f553257.conf with options {"sourceDir":"/home/yellowtent/box","vhost":"humhub.apps.thedoodleproject.net","hasIPv6":true,"ip":"172.18.16.52","port":80,"endpoint":"app","redirectTo":null,"certFilePath":"/home/yellowtent/platformdata/nginx/cert/.apps.thedoodleproject.net.cert","keyFilePath":"/home/yellowtent/platformdata/nginx/cert/_.apps.thedoodleproject.net.key","robotsTxtQuoted":null,"cspQuoted":null,"hideHeaders":[],"proxyAuth":{"id":"a82a3f73-544a-4d2a-a919-f5568f553257","location":"/"},"ocsp":true}
Apr 28 12:22:31 box:shell reload spawn: /usr/bin/sudo -S /home/yellowtent/box/src/scripts/restartservice.sh nginx
Apr 28 12:22:32 2022-04-28 19:22:32,093 INFO spawned: 'apache2' with pid 20
Apr 28 12:22:32 box:tasks update 5863: {"percent":100,"message":"Done"}
Apr 28 12:22:32 box:taskworker Task took 145.243 seconds
Apr 28 12:22:32 box:tasks setCompleted - 5863: {"result":null,"error":null}
Apr 28 12:22:32 box:tasks update 5863: {"percent":100,"result":null,"error":null}
Apr 28 12:22:32 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using fd00:c107:d509::25. Set the 'ServerName' directive globally to suppress this message
Apr 28 12:22:32 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using fd00:c107:d509::25. Set the 'ServerName' directive globally to suppress this message
Apr 28 12:22:32 [Thu Apr 28 19:22:32.718804 2022] [mpm_prefork:notice] [pid 21] AH00163: Apache/2.4.41 (Ubuntu) configured -- resuming normal operations
Apr 28 12:22:32 [Thu Apr 28 19:22:32.718962 2022] [core:notice] [pid 21] AH00094: Command line: '/usr/sbin/apache2 -D FOREGROUND'
Apr 28 12:22:33 2022-04-28 19:22:33,720 INFO success: apache2 entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
Apr 28 12:22:40 - - - [28/Apr/2022:19:22:40 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
Apr 28 12:22:50 - - - [28/Apr/2022:19:22:50 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
Apr 28 12:23:00 - - - [28/Apr/2022:19:23:00 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
Apr 28 12:23:10 - - - [28/Apr/2022:19:23:10 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
Apr 28 12:23:20 - - - [28/Apr/2022:19:23:20 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
Apr 28 12:23:20 Exception 'yii\db\Exception' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table '861d26e19014f5b3.queue' doesn't exist
Apr 28 12:23:20 The SQL being executed was: UPDATEqueue
SETreserved_at
=NULL WHEREreserved_at
is not null andreserved_at
< 1651173800 -ttr
anddone_at
is null'
Apr 28 12:23:20 in /app/code/protected/vendor/yiisoft/yii2/db/Schema.php:676
Apr 28 12:23:20 Error Info:
Apr 28 12:23:20 Array
Apr 28 12:23:20 (
Apr 28 12:23:20 [0] => 42S02
Apr 28 12:23:20 [1] => 1146
Apr 28 12:23:20 [2] => Table '861d26e19014f5b3.queue' doesn't exist
Apr 28 12:23:20 )
Apr 28 12:23:20 Caused by: Exception 'PDOException' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table '861d26e19014f5b3.queue' doesn't exist'
Apr 28 12:23:20 in /app/code/protected/vendor/yiisoft/yii2/db/Command.php:1302
Apr 28 12:23:20 Stack trace:
Apr 28 12:23:20 #0 /app/code/protected/vendor/yiisoft/yii2/db/Command.php(1302): PDOStatement->execute()
Apr 28 12:23:20 #1 /app/code/protected/vendor/yiisoft/yii2/db/Command.php(1102): yii\db\Command->internalExecute()
Apr 28 12:23:20 #2 /app/code/protected/vendor/yiisoft/yii2-queue/src/drivers/db/Queue.php(250): yii\db\Command->execute()
Apr 28 12:23:20 #3 /app/code/protected/vendor/yiisoft/yii2-queue/src/drivers/db/Queue.php(182): yii\queue\db\Queue->moveExpired()
Apr 28 12:23:20 #4 [internal function]: yii\queue\db\Queue->yii\queue\db{closure}()
Apr 28 12:23:20 #5 /app/code/protected/vendor/yiisoft/yii2/db/Connection.php(1129): call_user_func()
Apr 28 12:23:20 #6 /app/code/protected/vendor/yiisoft/yii2-queue/src/drivers/db/Queue.php(212): yii\db\Connection->useMaster()
Apr 28 12:23:20 #7 /app/code/protected/vendor/yiisoft/yii2-queue/src/drivers/db/Queue.php(78): yii\queue\db\Queue->reserve()
Apr 28 12:23:20 #8 [internal function]: yii\queue\db\Queue->yii\queue\db{closure}()
Apr 28 12:23:20 #9 /app/code/protected/vendor/yiisoft/yii2-queue/src/cli/Queue.php(117): call_user_func()
Apr 28 12:23:20 #10 /app/code/protected/vendor/yiisoft/yii2-queue/src/drivers/db/Queue.php(93): yii\queue\cli\Queue->runWorker()
Apr 28 12:23:20 #11 /app/code/protected/vendor/yiisoft/yii2-queue/src/drivers/db/Command.php(56): yii\queue\db\Queue->run()
Apr 28 12:23:20 #12 [internal function]: yii\queue\db\Command->actionRun()
Apr 28 12:23:20 #13 /app/code/protected/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()
Apr 28 12:23:20 #14 /app/code/protected/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams()
Apr 28 12:23:20 #15 /app/code/protected/vendor/yiisoft/yii2/console/Controller.php(182): yii\base\Controller->runAction()
Apr 28 12:23:20 #16 /app/code/protected/vendor/yiisoft/yii2/base/Module.php(552): yii\console\Controller->runAction()
Apr 28 12:23:20 #17 /app/code/protected/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction()
Apr 28 12:23:20 #18 /app/code/protected/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction()
Apr 28 12:23:20 #19 /app/code/protected/vendor/yiisoft/yii2/base/Application.php(384): yii\console\Application->handleRequest()
Apr 28 12:23:20 #20 /app/code/protected/yii(29): yii\base\Application->run()
Apr 28 12:23:20 #21 {main}
Apr 28 12:23:29 Exception 'yii\db\Exception' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table '861d26e19014f5b3.setting' doesn't exist
Apr 28 12:23:29 The SQL being executed was: SELECT * FROMsetting
WHERE (module_id
='base') AND (name
='cronLastHourlyRun')'
Apr 28 12:23:29 in /app/code/protected/vendor/yiisoft/yii2/db/Schema.php:676
Apr 28 12:23:29 Error Info:
Apr 28 12:23:29 Array
Apr 28 12:23:29 (
Apr 28 12:23:29 [0] => 42S02
Apr 28 12:23:29 [1] => 1146
Apr 28 12:23:29 [2] => Table '861d26e19014f5b3.setting' doesn't exist
Apr 28 12:23:29 )
Apr 28 12:23:29 Caused by: Exception 'PDOException' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 Table '861d26e19014f5b3.setting' doesn't exist'
Apr 28 12:23:29 in /app/code/protected/vendor/yiisoft/yii2/db/Command.php:1302
Apr 28 12:23:29 Stack trace:
Apr 28 12:23:29 #0 /app/code/protected/vendor/yiisoft/yii2/db/Command.php(1302): PDOStatement->execute()
Apr 28 12:23:29 #1 /app/code/protected/vendor/yiisoft/yii2/db/Command.php(1168): yii\db\Command->internalExecute()
Apr 28 12:23:29 #2 /app/code/protected/vendor/yiisoft/yii2/db/Command.php(424): yii\db\Command->queryInternal()
Apr 28 12:23:29 #3 /app/code/protected/vendor/yiisoft/yii2/db/Query.php(287): yii\db\Command->queryOne()
Apr 28 12:23:29 #4 /app/code/protected/vendor/yiisoft/yii2/db/ActiveQuery.php(304): yii\db\Query->one()
Apr 28 12:23:29 #5 /app/code/protected/humhub/libs/BaseSettingsManager.php(139): yii\db\ActiveQuery->one()
Apr 28 12:23:29 #6 /app/code/protected/humhub/commands/CronController.php(93): humhub\libs\BaseSettingsManager->getUncached()
Apr 28 12:23:29 #7 /app/code/protected/humhub/commands/CronController.php(54): humhub\commands\CronController->runHourly()
Apr 28 12:23:29 #8 [internal function]: humhub\commands\CronController->actionRun()
Apr 28 12:23:29 #9 /app/code/protected/vendor/yiisoft/yii2/base/InlineAction.php(57): call_user_func_array()
Apr 28 12:23:29 #10 /app/code/protected/vendor/yiisoft/yii2/base/Controller.php(178): yii\base\InlineAction->runWithParams()
Apr 28 12:23:29 #11 /app/code/protected/vendor/yiisoft/yii2/console/Controller.php(182): yii\base\Controller->runAction()
Apr 28 12:23:29 #12 /app/code/protected/vendor/yiisoft/yii2/base/Module.php(552): yii\console\Controller->runAction()
Apr 28 12:23:29 #13 /app/code/protected/vendor/yiisoft/yii2/console/Application.php(180): yii\base\Module->runAction()
Apr 28 12:23:29 #14 /app/code/protected/vendor/yiisoft/yii2/console/Application.php(147): yii\console\Application->runAction()
Apr 28 12:23:29 #15 /app/code/protected/vendor/yiisoft/yii2/base/Application.php(384): yii\console\Application->handleRequest()
Apr 28 12:23:29 #16 /app/code/protected/yii(29): yii\base\Application->run()
Apr 28 12:23:29 #17 {main}
Apr 28 12:23:30 - - - [28/Apr/2022:19:23:30 +0000] "GET / HTTP/1.1" 302 - "-" "Mozilla (CloudronHealth)"
Apr 28 12:23:30 mysql: [Warning] Using a password on the command line interface can be insecure.
Apr 28 12:23:30 Table is empty ... -
By the way - yall don't fuss - I see u/p's in there - it's a test server
-
@girish oh I could. The issue is the DB doesn’t have the tables needed to run setup commands until the UI setup is finished. So if it’s in startup, it would not work on first install and require a restart to trigger the DB updates.
-
@atridad I did try a restart of the app just now to same result. If you'd like/are interested, happy to let you at the server to play?
-
I took another look at the package and it seems besides the async db setup done via cron, we also need to call a few upgrade steps to ensure updatability as mentioned in https://docs.humhub.org/docs/admin/updating/
Further I think it makes more sense to pre-setup humhub via a localhost curl script before the healthcheck succeeds to avoid this db setup race and make it useful immediately.
Hopefully I have more time next week to get this going.