Solved HumHub - social network software
-
Wonderfully promising - thanks a kazillion @atridad
Really looking forward to this. Any news on when this might land in the app store @girish?
-
@toja I'll throw my vote in here for that as well. The fewer production apps that depend on my docker instance the better
-
@atridad @girish is there a timeline for getting this in the app store?
I've been using it for a while and it seems to work OK.
-
-
-
@atridad what's the location?
-
@atridad yeah, it seems the git repo is a broken link now. What's the new location ?
-
@girish AFAIK the latest is here: https://github.com/atridadl/cloudron-humhub-app
-
@Sam_uk it’s mirrored to the cloudron gitlab just to make it easier to get to as well.
-
I have just given it a spin and it seems to work ok.
So far as I can tell, it could make use of a pre-setup admin account, like we have in other apps to skip the "install" wizard, especially since it comes with LDAP setup already.
Further it will need tests (looks like currently those are only copied over from the LAMP app)
Is there anything else I may have missed?
@atridad do you think the admin account pre-setup is doable?
-
@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?
-
@Sam_uk absolutely! It only sets LDAP settings if SSO is enabled
-
@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.
-
@nebulon So question:
https://github.com/atridadl/cloudron-humhub-app
I suspect I know the answer but I want to make sure. If an update to an app requires that a new folder is copied from /app/code to /app/data and then symlinked, would this require a new app rather than an upgrade? It doesn't seem to be updating correctly when I try with @Sam_uk 's environments. My last resort is another set of new apps and DB migrations from old to new apps but I'd like to avoid doing things like this if possible.
Thanks for looking into this BTW. Having this in the App Store removes the need for @Sam_uk to have to wait for me to manually update for him (I have a lot going on so it takes me a while at times). Also this has to be one of the apps I've had the hardest time packaging cleanly.
-
@atridad I was able to make progress as well - got installation to work but did not get the ability to create an admin so I was just a regular user. Will try again!
-
@atridad or indeed anyone
What would I need to edit in https://github.com/atridadl/cloudron-humhub-app to build Humhub from my fork of Humhub?
-
@atridad @nebulon Have you made any progress with Humhub? I'd really like it in the app store. I may be able to fund this work if you can let me know what needs doing and what the cost is.
-
@Sam_uk I haven’t heard anything from the cloudron side of things. I will be continuing to update the HumHub version on my repo until it is picked up. The way account creation and SMTP settings are done might make it tough. @nebulon what are your thoughts on the way the app handles config? From what I can tell there is no way to programmatically configure the site, which makes things tougher.
-
@atridad @nebulon or I will take a look at how to proceed with this when we find a bit more time.
-
@girish have you had a chance to look at this? Happy to pay for a bit of development time if that helps it happen sooner.
-
-
Unfortunately we still had no time to further look into this. I just tried to build and install the current state from @atridad but it seems the basic installation is still missing some steps to produce a working app. Also it is now unclear what the status is, as the upstream package repo is archived. Probably took too long for us to get to it
-
Latest stable version 1.12.1 is out on their website.
-
-
For now, I've moved my Humhub instances out of Cloudron.
It does run OK in Cloudron, but without being in the app store updates are a pain.
-
Out of curiosity, why are updates a pain through Cloudron when using the cli tool to build and deploy the package compared to other deployment options?
-
@nebulon I don't know how to do that. Maybe I just missed the documentation.
In a conventional LAMP install I just press the 'update' button in the webui (after testing in /dev)
-
So how to interpret - this is dead in the water, and not coming to Cloudron? For a long time I really wished it was there.
-
@toja Yes, I think so, unfortunately.
If anyone wants to pick up the work in the future this may be a useful starting position: https://github.com/transitionnetwork/cloudron-humhub-app/tree/main
-
OK, initial version is out. Thanks to @atridad and @vladimir-d
-
girish
-
girish
-
@girish Great news, thanks a lot!
-
girish
-
girish