I've packaged openHab Cloud app, it can be built from
https://git.cloudron.io/vladimir.d/openhab-cloud
Comments are very welcome.
I've packaged openHab Cloud app, it can be built from
https://git.cloudron.io/vladimir.d/openhab-cloud
Comments are very welcome.
@girish the License has been added to the repository.
Please feel free to change anything if needed.
I've packaged netbox application available at
https://git.cloudron.io/vladimir.d/netbox
Just a few notes:
For now I haven't managed to run it properly as WSGI app with gunicorn. It's taking lots of server resources.
It's running using the Dev server.
https://docs.netbox.dev/en/stable/installation/3-netbox/#test-the-application
Super Admin username is specified in start.sh, the Postgress password is taken for Super Admin.
Mailpiler app for cloudron is here, built based on the original docker configuration.
https://git.cloudron.io/vladimir.d/mailpiler
Comments are very welcome.
By default, Nextcloud generates photo thumbnails on-demand that leads to slow Photos thumbnails load. To speed it up weβre using the Preview Generator app for Nextcloud to pre-generate previews regularly.
First we set the default thumbnail sizes by using the "occ config" commands:
sudo -u www-data /usr/bin/php /app/code/occ config:app:set --value="32 256" previewgenerator squareSizes
sudo -u www-data /usr/bin/php /app/code/occ config:app:set --value="256 384" previewgenerator widthSizes
sudo -u www-data /usr/bin/php /app/code/occ config:app:set --value="256" previewgenerator heightSizes
Then we generated previews for all existent images:
sudo -u www-data /usr/bin/php /app/code/occ preview:generate-all -vvv
It took about 3 weeks on our host to generate preview images for 4Tb of data which takes additional 500Gb.
Once it's finished we setup a cron job to generate previews:
0 */6 * * * sudo -u www-data /usr/bin/php -f /app/code/occ preview:pre-generate
TBH, it helped us a little but our Photos are still loading for 50-60 seconds and we are seeking any solution to speed it up.
@RazielKanos said in FYI size of n-gram data sets:
how can i add another language? do i just
NGRAM_DATASET=("en,de")?
Basically it's a bash script array variable so you should split values by a whitespace.
NGRAM_DATASET=("en" "de")
I'm not a German speaker but I heard it works very well.
Just wondering how it works with two languages.
We've created an ElasticSearch app for Cloudron.
https://git.cloudron.io/vladimir.d/elasticsearch
Comments are welcome!
Can we have an option to disable fixing file permissions on startup or fix permissions later?
It takes 2-3 hours to start Nextcloud app (3Tb, ~2.5 million files).
Looks good, looking forward for a new Nextcloud release.
Thank you.
We sorted this issue by amending /app/data/htaccess
(/app/code/.htaccess
) as follows:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} DavClnt
RewriteRule ^$ /remote.php/webdav/ [L,R=302]
RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteRule ^\.well-known/host-meta /public.php?service=host-meta [QSA,L]
RewriteRule ^\.well-known/host-meta\.json /public.php?service=host-meta-json [QSA,L]
- RewriteRule ^\.well-known/webfinger /public.php?service=webfinger [QSA,L]
- RewriteRule ^\.well-known/nodeinfo /public.php?service=nodeinfo [QSA,L]
+ RewriteRule ^/\.well-known/webfinger /index.php/.well-known/webfinger [R=301,L]
+ RewriteRule ^/\.well-known/nodeinfo /index.php/.well-known/nodeinfo [R=301,L]
RewriteRule ^\.well-known/carddav https://%{HTTP_HOST}/remote.php/dav/ [R=301,L]
RewriteRule ^\.well-known/caldav https://%{HTTP_HOST}/remote.php/dav/ [R=301,L]
RewriteRule ^remote/(.*) remote.php [QSA,L]
RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
RewriteCond %{REQUEST_URI} !^/\.well-known/(acme-challenge|pki-validation)/.*
RewriteRule ^(?:\.|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>
There is no LDAP support in Loomio so LDAP will be also disabled in the next version of the cloudron app.
They seem to be supporting OAuth, SAML providers but there is a lack of details in the documentation how to set it up. It needs some further research. As far as I can see some environment variables need to be setup and /app/data/.env
can be used for that.
Yes, it redirects to a new group creating form when a new account created. This is how it works and there seems no way to amend it for now.
@luckow I've installed the Loomio app from the app store using the default domains: loomio.mydomain.com and channels.loomio.mydomain.com. Everything went smoothly, I haven't got any errors on user signing up or creating new groups.
Could you explain steps to reproduce it? Does it happen for you at the user sign-up? What did you try to specify as the group name?
Could you also check if /app/data/storage
folder belongs to cloudron
user?
Does the app restart resolve the issue?
IMAP related notice is related to an incomplete IMAP configuration, which will be removed from the app in the future version for a while IMAP pooling is being refactored.
@RazielKanos said in FYI size of n-gram data sets:
how can i add another language? do i just
NGRAM_DATASET=("en,de")?
Basically it's a bash script array variable so you should split values by a whitespace.
NGRAM_DATASET=("en" "de")
I'm not a German speaker but I heard it works very well.
Just wondering how it works with two languages.
@marcusquinn Which package are you using ? Or are you running this outside Cloudron ?
We are running Docker runner
and SSH runner
as docker containers and Exec runner
as a service on the Cloudron host, basically exactly as described in the Drone documentation.
https://docs.drone.io/runner/overview/
@marcusquinn same here, but the Drone runners are still not part of the equation, would be nice if they could work together with the docker addon to have it 100% "portable"
Maybe we'll package runners as cloudron apps later that could build & deploy an app on Cloudron.
@girish sorry, a school boy mistake, the Content-Type
header did the trick, but I made a typo in the backupId, that's why I got the error.
still have no luck.
If I add -H 'Content-Type: application/json'
to the backup restoring request I get:
{ "status": "Internal Server Error", "message": "Cannot read properties of null (reading 'manifest')" }
I tried to send the request using curl and postman, the response is the same. Cloudron is v7.3.2
ps. the CLI tool works well though.
@subven said in cloudron-cli in cron:
You did something like:
'{"backupId": "2022-11-11-030000-618/app_archiv.domain.com_v2.2.1"}'
?
No, I put Id
value from the backup list response, e.g. a backup list response from REST API documentation:
{
"backups": [
{
"id": "string",
"remotePath": "2022-10-24-060000-679/app_cubby.nebulon.space_v1.0.1",
"label": "My important backup",
"identifier": "e7d4cc36-9ac0-4f93-8534-62514abe5d9c",
"creationTime": 0,
"type": "app",
"state": "normal",
"format": "rsync",
"preserveSecs": 604800,
"encryptionVersion": "string",
"dependsOn": [
null
],
"manifest": null
}
]
}
Do you mean remotePath
value is being used as backupId
in the backup restore request?
@girish said in cloudron-cli in cron:
Is the use case here to have some sort of a demo app instance that keeps resetting state
?
Instead of using the CLI tool, maybe you can just use the REST API for this. It's just a POST request. Something like:
curl -X POST -H 'Authorization: Bearer <token>' -d '{"backupId": "id"}' https://my.domain.com/api/v1/apps/<appid>/restore
I created a token in the profile and got backupId
using the REST API call:
curl -X GET -H 'Authorization: Bearer <token>' https://my.domain/api/v1/apps/<appid>/backups
I get the following error on the backup restore REST API call:
{
"status": "Bad Request",
"message": "backupId must be non-empty string"
}
So I'm sure the token
and backupId
are correct and valid.
The CLI tool successfully restores the backup copy by the same token
and backupId
.
What am I missing?
@subven said in cloudron-cli in cron:
You can create a personal token and pass it to the cron cli command via --token
Dunno how it works with 2FA enabled but there should be no need to manually log in.
EDIT: Just noticed that you want to run the cli command on the Cloudron host. The CLI tool is not intended to run on the Cloudron host itself!
Token seems to work very well.
What are drawbacks of using CLI tool on the Cloudron host?
@girish said in cloudron-cli in cron:
Is the use case here to have some sort of a demo app instance that keeps resetting state
?
Instead of using the CLI tool, maybe you can just use the REST API for this. It's just a POST request. Something like:
curl -X POST -H 'Authorization: Bearer <token>' -d '{"backupId": "id"}' https://my.domain.com/api/v1/apps/<appid>/restore
Yes, it's for a demo app instance and yes, REST API is a graceful solution.
I wonder if there is also a REST API call to get appid
by CLOUDRON_APP_DOMAIN
?