Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps - Status | Demo | Docs | Install
dsp76D

Dirk Spannaus

@dsp76
About
Posts
174
Topics
44
Shares
0
Groups
0
Followers
1
Following
1

Posts

Recent Best Controversial

  • Backup restore brocken - wrong file owner "yellowtent" instead of "www-data" in /app/data Lamp Stack
    dsp76D dsp76

    I have a run.sh indeed. Which runs invoked by start.sh, right?

    I don't think there is anything that overrules the start.sh chown command.

    #!/bin/bash
    set -e
    shopt -s expand_aliases
    
    # Alias zur Nutzung innerhalb des Skripts
    alias swd='sudo -E -u www-data'
    
    # Pfade
    TMPDIR=/app/data/tmp
    NPM_CACHE=$TMPDIR/npm_cache
    COMPOSER_CACHE=$TMPDIR/composer_cache
    NPMRC=$TMPDIR/.npmrc
    BASHRC=/app/data/.bashrc
    
    # Verzeichnisse & Dateien vorbereiten
    swd mkdir -p "$NPM_CACHE"
    swd mkdir -p "$COMPOSER_CACHE"
    swd touch "$NPMRC"
    
    # Rechte setzen
    chown -R www-data:www-data "$TMPDIR"
    
    # .bashrc ergänzen (idempotent)
    ensure_bashrc_entry() {
      local LINE="$1"
      grep -qxF "$LINE" "$BASHRC" || printf "%s\n" "$LINE" >> "$BASHRC"
    }
    
    ensure_bashrc_entry "alias swd='sudo -E -u www-data'"
    ensure_bashrc_entry "alias php='php -d memory_limit=1G'"
    ensure_bashrc_entry "export NPM_CONFIG_CACHE=$NPM_CACHE"
    ensure_bashrc_entry "export NPM_CONFIG_USERCONFIG=$NPMRC"
    ensure_bashrc_entry "export COMPOSER_CACHE_DIR=$COMPOSER_CACHE"
    
    # App starten (z. B. Apache im LAMP-Stack)
    # example: exec /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
    

    As far as I can see, start.sh has

    chown -R www-data:www-data /app/data /run/apache2 /run/app /tmp
    

    But still after restoring backup it all belong to yellowtent.

    When I find the time, I will test this with a vanilla LAMP App...

    Support backup restore permissions

  • Backup restore brocken - wrong file owner "yellowtent" instead of "www-data" in /app/data Lamp Stack
    dsp76D dsp76

    OK - managed to enter the terminal with recovery modus and changed ownership of the files. App is now running again. But still - whats the issue with the backup restore?

    Support backup restore permissions

  • Backup restore brocken - wrong file owner "yellowtent" instead of "www-data" in /app/data Lamp Stack
    dsp76D dsp76

    Description

    I had some no related issues in an application installed in the LAMP stack. When I tried to restore an earlier manual and automatic backup from today, the app failed to start after the restore. I found out, that all restored files are owned by "yellowtent" instead of "www-data". Unfortunately the shell doesn't start so I can't manually fix it recursively.

    Steps to reproduce

    • restore LAMP App from backup
    • files are owned by "yellowtent"

    Logs

    Jan 22 20:43:48 ==> Do not override existing index file
    Jan 22 20:43:48 ==> PHP version set to 8.3
    Jan 22 20:43:48 ==> Source custom startup script
    Jan 22 20:43:48 touch: cannot touch '/app/data/tmp/.npmrc': Permission denied
    

    Troubleshooting Already Performed

    • tried to enter terminal to change owner of the files

    System Details

    Generate Diagnostics Data

    Cloudron Version

    Cloudron version - 9.0.17
    

    Ubuntu Version

    Ubuntu version - Ubuntu 24.04 LTS Linux 6.8.0-90-generic
    

    Cloudron installation method

    Options:

    • Manual with ./cloudron-setup

    Output of cloudron-support --troubleshoot

    Vendor: Hetzner Product: vServer
    Linux: 6.8.0-90-generic
    Ubuntu: noble 24.04
    Execution environment: kvm
    Processor: AMD EPYC-Milan Processor
    BIOS NotSpecified  CPU @ 2.0GHz x 8
    RAM: 32087112KB
    Disk: /dev/sda1        21G
    [OK]	node version is correct
    [OK]	IPv6 is enabled and public IPv6 address is working
    [OK]	docker is running
    [OK]	docker version is correct
    [OK]	MySQL is running
    [OK]	netplan is good
    [OK]	DNS is resolving via systemd-resolved
    [OK]	unbound is running
    [OK]	nginx is running
    [OK]	dashboard cert is valid
    [OK]	dashboard is reachable via loopback
    [OK]	No pending database migrations
    [OK]	Service 'mysql' is running and healthy
    [OK]	Service 'postgresql' is running and healthy
    [OK]	Service 'mongodb' is running and healthy
    [OK]	Service 'mail' is running and healthy
    [OK]	Service 'graphite' is running and healthy
    [OK]	Service 'sftp' is running and healthy
    [OK]	box v9.0.17 is running
    [OK]	Dashboard is reachable via domain name
    
    Support backup restore permissions

  • Error 400 in backup process with Ionos S3 Object Storage
    dsp76D dsp76

    Its IONOS Object Storage.

    Storage: ionos-objectstorage (tgz)
    Berlin (eu-central-3)

    Support ionos backups

  • Error 400 in backup process with Ionos S3 Object Storage
    dsp76D dsp76

    Happened again this morning. Log says "Old backup not found" but looking there now shows the file is there.

    Support ionos backups

  • Error 400 in backup process with Ionos S3 Object Storage
    dsp76D dsp76

    @james it still happens sometimes. I did more investigation in the log. It says in between it couldn't find the file ("Old backup not found").

    Jan 14 05:26:29 box:storage/s3 Upload progress: {"loaded":40692513140,"part":304,"Key":"snapshot/app_APP_UUID_01.tar.gz.enc","Bucket":"ACME-BACKUP"}
    Jan 14 05:47:09 box:storage/s3 Upload finished. {"$metadata":{"httpStatusCode":200,"requestId":"REQUEST_ID_01-ACCOUNT_01-REGION_01","attempts":3,"totalRetryDelay":40000},"Bucket":"ACME-BACKUP","ETag":"\"\"","Key":"snapshot/app_APP_UUID_01.tar.gz.enc","Location":"S3_ENDPOINT_01/ACME-BACKUP/snapshot/app_APP_UUID_01.tar.gz.enc"}
    Jan 14 05:47:09 box:backuptask upload: path snapshot/app_APP_UUID_01.tar.gz.enc site SITE_UUID_01 uploaded: {"fileCount":11571,"size":40692513140,"transferred":40692513140}
    Jan 14 05:47:09 box:tasks updating task TASK_ID_01 with: {"percent":75.1935483870967,"message":"Uploading integrity information to snapshot/app_APP_UUID_01.tar.gz.enc.backupinfo (REGISTRY.DOMAIN.TLD)"}
    Jan 14 05:47:10 box:storage/s3 Upload progress: {"loaded":146,"total":146,"part":1,"Key":"snapshot/app_APP_UUID_01.tar.gz.enc.backupinfo","Bucket":"ACME-BACKUP"}
    Jan 14 05:47:10 box:storage/s3 Upload finished. {"$metadata":{"httpStatusCode":200,"requestId":"REQUEST_ID_02-ACCOUNT_02-REGION_01","attempts":1,"totalRetryDelay":0},"ETag":"\"ETAG_01\"","Bucket":"ACME-BACKUP","Key":"snapshot/app_APP_UUID_01.tar.gz.enc.backupinfo","Location":"https://ACME-BACKUP.s3.REGION_01.ionoscloud.com/snapshot/app_APP_UUID_01.tar.gz.enc.backupinfo"}
    Jan 14 05:47:10 box:backupupload upload completed. error: null
    Jan 14 05:47:10 box:backuptask runBackupUpload: result - {"result":{"stats":{"fileCount":11571,"size":40692513140,"transferred":40692513140},"integrity":{"signature":"SIGNATURE_01"}}}
    Jan 14 05:47:10 box:backuptask uploadAppSnapshot: REGISTRY.DOMAIN.TLD uploaded to snapshot/app_APP_UUID_01.tar.gz.enc. 4202.695 seconds
    Jan 14 05:47:10 box:backuptask backupAppWithTag: rotating REGISTRY.DOMAIN.TLD snapshot of SITE_UUID_01 to path 2026-01-14-030000-896/app_REGISTRY.DOMAIN.TLD_VERSION_01.tar.gz.enc
    Jan 14 05:47:10 box:tasks updating task TASK_ID_01 with: {"percent":75.1935483870967,"message":"Copying (multipart) snapshot/app_APP_UUID_01.tar.gz.enc"}
    Jan 14 05:47:10 box:tasks updating task TASK_ID_01 with: {"percent":75.1935483870967,"message":"Copying part 1 - ACME-BACKUP/snapshot/app_APP_UUID_01.tar.gz.enc bytes=0-1073741823"}
    Jan 14 05:47:10 box:tasks updating task TASK_ID_01 with: {"percent":75.1935483870967,"message":"Copying part 2 - ACME-BACKUP/snapshot/app_APP_UUID_01.tar.gz.enc bytes=1073741824-2147483647"}
    Jan 14 05:47:10 box:tasks updating task TASK_ID_01 with: {"percent":75.1935483870967,"message":"Copying part 3 - ACME-BACKUP/snapshot/app_APP_UUID_01.tar.gz.enc bytes=2147483648-3221225471"}
    Jan 14 05:47:10 box:tasks updating task TASK_ID_01 with: {"percent":75.1935483870967,"message":"Aborting multipart copy of snapshot/app_APP_UUID_01.tar.gz.enc"}
    Jan 14 05:47:10 box:storage/s3 copy: s3 copy error when copying snapshot/app_APP_UUID_01.tar.gz.enc: NoSuchKey: UnknownError
    Jan 14 05:47:10 box:backuptask copy: copy to 2026-01-14-030000-896/app_REGISTRY.DOMAIN.TLD_VERSION_01.tar.gz.enc errored. error: Old backup not found: snapshot/app_APP_UUID_01.tar.gz.enc
    Jan 14 05:47:10 box:backuptask fullBackup: app REGISTRY.DOMAIN.TLD backup finished. Took 4203.103 seconds
    Jan 14 05:47:10 box:locks write: current locks: {"full_backup_task_SITE_UUID_01":null}
    Jan 14 05:47:10 box:locks release: app_backup_APP_UUID_01
    Jan 14 05:47:10 box:tasks setCompleted - TASK_ID_01: {"result":null,"error":{"message":"Old backup not found: snapshot/app_APP_UUID_01.tar.gz.enc","reason":"Not found"},"percent":100}
    Jan 14 05:47:10 box:tasks updating task TASK_ID_01 with: {"completed":true,"result":null,"error":{"message":"Old backup not found: snapshot/app_APP_UUID_01.tar.gz.enc","reason":"Not found"},"percent":100}
    Jan 14 05:47:10 box:taskworker Task took 6429.474 seconds
    Jan 14 05:47:10 BoxError: Old backup not found: snapshot/app_APP_UUID_01.tar.gz.enc
    Jan 14 05:47:10 at throwError (/home/yellowtent/box/src/storage/s3.js:387:49)
    Jan 14 05:47:10 at copyInternal (/home/yellowtent/box/src/storage/s3.js:454:16)
    Jan 14 05:47:10 at process.processTicksAndRejections (node:internal/process/task_queues:105:5)
    Jan 14 05:47:10 at async Object.copy (/home/yellowtent/box/src/storage/s3.js:488:12)
    Jan 14 05:47:10 at async Object.copy (/home/yellowtent/box/src/backupformat/tgz.js:282:5)
    Jan 14 05:47:10 Exiting with code 0
    
    

    I checked the bucket and can see its still there:

    app_APP_UUID_01.tar.gz.enc 37.90 GB 14.1.2026, 05:36:49
    app_APP_UUID_01.tar.gz.enc.backupinfo 146 bytes 14.1.2026, 05:47:09
    

    Please also check the timestamps.

    Whats causing the the process is not finding the file and stopping the process?

    Support ionos backups

  • canceled - Save the date: 24/25 September 2024 Berlin, Germany
    dsp76D dsp76

    @jayonrails are you referring to the Mautic App or Cloudron?

    For Mautic - we have a monthly online meetup for DACH every first monday at 12:30 CET. Except for today - its moved to 12th of january. (https://meet.mauticamp.de/adm-suk-gfm-ath).

    Also we have a poll for a real world meetup running: https://forum.mautic.org/t/neues-jahr-neues-meetup-terminfindung-fur-das-d-a-ch-mauticamp-2026/36991

    Mautic

  • Matomo complains about missing annotations table - any way to fix this?
    dsp76D dsp76

    OK, as a hint for others: I found out, that some tables had different database collations. Thats why some migrations didn't work. Its most likely due to the fact, we imported an existing Matomo instance into cloudron: https://forum.cloudron.io/topic/10759/migrating-matomo/2?_=1762191084826

    With help of AI we fixed thos database errors pretty quick now.
    Annotations work again. Also another plugin in Matomo, which complained about missing tables.

    Matomo

  • Matomo complains about missing annotations table - any way to fix this?
    dsp76D dsp76

    Actually I didn't look into it for quite a while. The error is not blocking the usage and tracking. It shows up once in a while and of course I can't load or add new annotations.

    Also - when the annotations plugin is active, I get this message in the dashboard:

    Oops… there was a problem during the request. Maybe the server had a temporary issue, or maybe you requested a report with too much data. Please try again. If this error occurs repeatedly please contact your Matomo administrator for assistance.

    Deactivating the plugin solves the error, but of course removes the functionality of this core plugin.

    Matomo

  • Matomo complains about missing annotations table - any way to fix this?
    dsp76D dsp76

    Hi,
    our cloudron hosted Matomo complains about the missing annotations table. Is there an easy way to fix this? To repair the package / database?

    Error: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'XYZ.annotations' doesn't exist
    
    Matomo

  • Error 400 in backup process with Ionos S3 Object Storage
    dsp76D dsp76

    @james I didn't find the place where I could do it.
    @girish will write you!

    Support ionos backups

  • Error 400 in backup process with Ionos S3 Object Storage
    dsp76D dsp76

    Can I mark this as unsolved again?

    Support ionos backups

  • Error 400 in backup process with Ionos S3 Object Storage
    dsp76D dsp76

    Unfortunately even with the correct IONOS Settings from my Hetzner based Cloudron.

    image.png

    It started crashing again every night since a week now. Thats the anonymised log:

    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/autoptimize/js/autoptimize_snippet_********.js file
    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/autoptimize/js/autoptimize_snippet_********.js file
    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/autoptimize/js/autoptimize_snippet_********.js file
    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/autoptimize/js/autoptimize_snippet_********.js file
    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/autoptimize/js/autoptimize_snippet_********.js file
    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/autoptimize/js/autoptimize_snippet_********.js file
    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/autoptimize/js/autoptimize_snippet_********.js file
    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/autoptimize/js/autoptimize_snippet_********.js file
    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/autoptimize/js/autoptimize_snippet_********.js file
    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/autoptimize/js/autoptimize_snippet_********.js file
    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/autoptimize/js/autoptimize_snippet_********.js file
    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/autoptimize/js/autoptimize_snippet_********.js file
    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/autoptimize/js/autoptimize_snippet_********.js file
    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/autoptimize/js/index.html file
    Oct 15 04:12:36 box:backupformat/tgz tarPack: processing /home/***/appsdata/********/data/public/wp-content/cache/borlabs-cookie
    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/borlabs-cookie/1 directory
    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/borlabs-cookie/borlabs-cookie_1_de.css file
    Oct 15 04:12:36 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/borlabs-cookie/borlabs-cookie_1_en.css file
    Oct 15 04:12:37 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/borlabs-cookie/geo-ip-database-********.mmdb file
    Oct 15 04:12:37 box:backupformat/tgz tarPack: processing /home/***/appsdata/********/data/public/wp-content/cache/borlabs-cookie/1
    Oct 15 04:12:37 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/borlabs-cookie/1/borlabs-cookie-1-de.css file
    Oct 15 04:12:37 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/borlabs-cookie/1/borlabs-cookie-1-en.css file
    Oct 15 04:12:37 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/borlabs-cookie/1/borlabs-cookie-config-de.json.js file
    Oct 15 04:12:37 box:backupformat/tgz addToPack: added ./data/public/wp-content/cache/borlabs-cookie/1/borlabs-cookie-config-en.json.js file
    Oct 15 04:12:37 box:backupformat/tgz tarPack: processing /home/***/appsdata/********/data/public/wp-content/cache/matomo
    Oct 15 04:12:37 box:backupformat/tgz tarPack: processing /home/***/appsdata/********/data/public/wp-content/infinitewp
    Oct 15 04:12:37 box:backupformat/tgz addToPack: added ./data/public/wp-content/infinitewp/backups directory
    Oct 15 04:12:37 box:backupformat/tgz addToPack: added ./data/public/wp-content/infinitewp/temp directory
    Oct 15 04:12:37 box:backupformat/tgz tarPack: processing /home/***/appsdata/********/data/public/wp-content/infinitewp/backups
    Oct 15 04:12:37 box:backupformat/tgz addToPack: added ./data/public/wp-content/infinitewp/backups/DE_clCPUUsage.****.txt file
    Oct 15 04:12:37 box:backupformat/tgz addToPack: added ./data/public/wp-content/infinitewp/backups/DE_clMemoryPeak.****.txt file
    Oct 15 04:12:37 box:backupformat/tgz addToPack: added ./data/public/wp-content/infinitewp/backups/DE_clMemoryUsage.****.txt file
    Oct 15 04:12:37 box:backupformat/tgz addToPack: added ./data/public/wp-content/infinitewp/backups/DE_clTimeTaken.****.txt file
    Oct 15 04:12:37 box:backupformat/tgz addToPack: added ./data/public/wp-content/infinitewp/backups/index.php file
    Oct 15 04:12:42 box:tasks update ****: {"percent":21.3,"message":"Uploading backup 134M@9MBps (example.com)"}
    Oct 15 04:12:42 box:storage/s3 Upload progress: {"loaded":134217728,"part":1,"key":"snapshot/app_********.tar.gz.enc"}
    Oct 15 04:12:51 box:storage/s3 Upload progress: {"loaded":268435456,"part":2,"key":"snapshot/app_********.tar.gz.enc"}
    Oct 15 04:12:52 box:tasks update ****: {"percent":21.3,"message":"Uploading backup 277M@14MBps (example.com)"}
    Oct 15 04:13:02 box:tasks update ****: {"percent":21.3,"message":"Uploading backup 435M@16MBps (example.com)"}
    Oct 15 04:13:03 box:backupformat/tgz addToPack: added ./data/public/wp-content/infinitewp/backups/example.com-de_backup_full_****-**-**_********.zip file
    Oct 15 04:13:08 box:storage/s3 Upload progress: {"loaded":402653184,"part":4,"key":"snapshot/app_********.tar.gz.enc"}
    Oct 15 04:13:12 box:tasks update ****: {"percent":21.3,"message":"Uploading backup 584M@15MBps (example.com)"}
    Oct 15 04:13:12 AWS SDK Error: 400 Bad Request
    Oct 15 04:13:12 code: 400, statusCode: 400, retryable: false
    Oct 15 04:13:12 Node.js v20.18.0
    Oct 15 04:13:19 box:shell backuptask: errored BoxError: backuptask exited with code 1 signal null
    Oct 15 04:13:19 reason: 'Shell Error', code: 1
    Oct 15 04:13:19 box:backuptask runBackupUpload: backuptask crashed BoxError: backuptask exited with code 1 signal null
    Oct 15 04:13:19 box:backuptask fullBackup: app example.com backup finished. Took 67.438 seconds
    Oct 15 04:13:19 box:tasks update ****: {"percent":100,"error":{"message":"Backuptask crashed"}}
    Oct 15 04:13:19 BoxError: Backuptask crashed
    

    Not sure what to do with it. Just started a manual backup, it also crashed again while uploading to IONOS.

    Oct 15 11:00:05 400: null
    Oct 15 11:00:05 at Request.extractError (/home/yellowtent/box/node_modules/aws-sdk/lib/services/s3.js:712:35)
    Oct 15 11:00:05 at Request.callListeners (/home/yellowtent/box/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
    Oct 15 11:00:05 at Request.emit (/home/yellowtent/box/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
    Oct 15 11:00:05 at Request.emit (/home/yellowtent/box/node_modules/aws-sdk/lib/request.js:686:14)
    Oct 15 11:00:05 at Request.transition (/home/yellowtent/box/node_modules/aws-sdk/lib/request.js:22:10)
    Oct 15 11:00:05 at AcceptorStateMachine.runTo (/home/yellowtent/box/node_modules/aws-sdk/lib/state_machine.js:14:12)
    Oct 15 11:00:05 at /home/yellowtent/box/node_modules/aws-sdk/lib/state_machine.js:26:10
    Oct 15 11:00:05 at Request.<anonymous> (/home/yellowtent/box/node_modules/aws-sdk/lib/request.js:38:9)
    Oct 15 11:00:05 at Request.<anonymous> (/home/yellowtent/box/node_modules/aws-sdk/lib/request.js:688:12)
    Oct 15 11:00:05 at Request.callListeners (/home/yellowtent/box/node_modules/aws-sdk/lib/sequential_executor.js:116:18) {
    Oct 15 11:00:05 code: 400,
    Oct 15 11:00:05 region: null,
    Oct 15 11:00:05 time: 2025-10-15T09:00:05.031Z,
    Oct 15 11:00:05 requestId: null,
    Oct 15 11:00:05 extendedRequestId: undefined,
    Oct 15 11:00:05 cfId: undefined,
    Oct 15 11:00:05 statusCode: 400,
    Oct 15 11:00:05 retryable: false,
    Oct 15 11:00:05 retryDelay: 20000
    Oct 15 11:00:05 }
    

    and

    Oct 15 11:00:05 box:tasks setCompleted - 7460: {"result":null,"error":{"stack":"BoxError: Backuptask crashed\n at runBackupUpload (/home/yellowtent/box/src/backuptask.js:170:15)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async uploadAppSnapshot (/home/yellowtent/box/src/backuptask.js:369:5)\n at async backupAppWithTag (/home/yellowtent/box/src/backuptask.js:391:5)","name":"BoxError","reason":"Internal Error","details":{},"message":"Backuptask crashed"}}
    Oct 15 11:00:05 box:tasks update 7460: {"percent":100,"result":null,"error":{"stack":"BoxError: Backuptask crashed\n at runBackupUpload (/home/yellowtent/box/src/backuptask.js:170:15)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async uploadAppSnapshot (/home/yellowtent/box/src/backuptask.js:369:5)\n at async backupAppWithTag (/home/yellowtent/box/src/backuptask.js:391:5)","name":"BoxError","reason":"Internal Error","details":{},"message":"Backuptask crashed"}}
    Oct 15 11:00:05 BoxError: Backuptask crashed
    

    The snapshot folder within the bucket (created by cloudron?) contains a couple of up to date uploads.

    • Who should I with - is it IONOS? Is it cloudron? Is it Hetzner?
    • Whats causing the "internal error" while uploading?
    • Why is it "retryable: false"?
    Support ionos backups

  • All links gone after update to v2.13.0
    dsp76D dsp76

    Oh yes, so glad I found the thread and went back to package 1.18.1 to get back all our stuff.
    Auto Update disabled for the moment...

    Linkwarden

  • Error 400 in backup process with Ionos S3 Object Storage
    dsp76D dsp76

    Hi @james ,
    Hetzner Object Storage ≠ Hetzner Storage Box (thats what I was using as alternative backup target). I didn't try the Object Storage.

    @halima632 that was a good hint! Just switched to the IONOS (Profitbricks) entry and it seems to run fine. I didn't know it existed and thought it was "S3 compatible" and fine 😉

    Support ionos backups

  • Error 400 in backup process with Ionos S3 Object Storage
    dsp76D dsp76

    Switching back to SSHFS in Hetzner Storage Box seems to run the backup reliable.
    So whats wrong with S3 in combination with Ionos then? It looks like the process dies in cloudron, but the error log for the task itself seems not to help. Ionos found no issues in the log.

    Support ionos backups

  • Error 400 in backup process with Ionos S3 Object Storage
    dsp76D dsp76

    It also crashes when I start it manually.

    Support ionos backups

  • Error 400 in backup process with Ionos S3 Object Storage
    dsp76D dsp76

    Hi @joseph - the complete log is in #8 https://forum.cloudron.io/topic/14253/error-400-in-backup-process-with-ionos-s3-object-storage/8?_=1757661856982

    This is todays error log of the backup task:

    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg3.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-1024x335.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-1200x393.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-150x150.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-1536x502.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-177x142.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-200x65.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-300x214.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-300x98.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-320x202.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-400x131.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-460x295.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-540x272.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-600x196.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-669x272.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-66x66.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-700x441.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-768x251.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-800x262.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4-940x400.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg4.jpg file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-1024x342.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-1200x401.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-150x150.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-1536x513.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-177x142.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-200x67.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-2048x684.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-300x100.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-300x214.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-320x202.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-400x134.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-460x295.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-540x272.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-600x200.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-669x272.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-66x66.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-700x441.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-768x256.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-800x267.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-940x400.png file
    Sep 12 04:17:21 box:backupformat/tgz addToPack: added ./data/public/wp-content/uploads/2024/03/testbg5-scaled.jpg file
    Sep 12 04:17:21 /home/yellowtent/box/node_modules/aws-sdk/lib/services/s3.js:712
    Sep 12 04:17:21 resp.error = AWS.util.error(new Error(), {
    Sep 12 04:17:21 ^
    Sep 12 04:17:21
    Sep 12 04:17:21 400: null
    Sep 12 04:17:21 at Request.extractError (/home/yellowtent/box/node_modules/aws-sdk/lib/services/s3.js:712:35)
    Sep 12 04:17:21 at Request.callListeners (/home/yellowtent/box/node_modules/aws-sdk/lib/sequential_executor.js:106:20)
    Sep 12 04:17:21 at Request.emit (/home/yellowtent/box/node_modules/aws-sdk/lib/sequential_executor.js:78:10)
    Sep 12 04:17:21 at Request.emit (/home/yellowtent/box/node_modules/aws-sdk/lib/request.js:686:14)
    Sep 12 04:17:21 at Request.transition (/home/yellowtent/box/node_modules/aws-sdk/lib/request.js:22:10)
    Sep 12 04:17:21 at AcceptorStateMachine.runTo (/home/yellowtent/box/node_modules/aws-sdk/lib/state_machine.js:14:12)
    Sep 12 04:17:21 at /home/yellowtent/box/node_modules/aws-sdk/lib/state_machine.js:26:10
    Sep 12 04:17:21 at Request.<anonymous> (/home/yellowtent/box/node_modules/aws-sdk/lib/request.js:38:9)
    Sep 12 04:17:21 at Request.<anonymous> (/home/yellowtent/box/node_modules/aws-sdk/lib/request.js:688:12)
    Sep 12 04:17:21 at Request.callListeners (/home/yellowtent/box/node_modules/aws-sdk/lib/sequential_executor.js:116:18) {
    Sep 12 04:17:21 code: 400,
    Sep 12 04:17:21 region: null,
    Sep 12 04:17:21 time: 2025-09-12T02:17:21.579Z,
    Sep 12 04:17:21 requestId: null,
    Sep 12 04:17:21 extendedRequestId: undefined,
    Sep 12 04:17:21 cfId: undefined,
    Sep 12 04:17:21 statusCode: 400,
    Sep 12 04:17:21 retryable: false,
    Sep 12 04:17:21 retryDelay: 20000
    Sep 12 04:17:21 }
    Sep 12 04:17:21
    Sep 12 04:17:21 Node.js v20.18.0
    Sep 12 04:17:21 box:shell backuptask: /usr/bin/sudo -S -E --close-from=4 /home/yellowtent/box/src/scripts/backupupload.js snapshot/app_{UUID} tgz {"localRoot":"/home/yellowtent/appsdata/{UUID}","layout":[]} errored BoxError: backuptask exited with code 1 signal null
    Sep 12 04:17:21 at ChildProcess.<anonymous> (/home/yellowtent/box/src/shell.js:137:19)
    Sep 12 04:17:21 at ChildProcess.emit (node:events:519:28)
    Sep 12 04:17:21 at ChildProcess.emit (node:domain:488:12)
    Sep 12 04:17:21 at ChildProcess._handle.onexit (node:internal/child_process:294:12) {
    Sep 12 04:17:21 reason: 'Shell Error',
    Sep 12 04:17:21 details: {},
    Sep 12 04:17:21 code: 1,
    Sep 12 04:17:21 signal: null
    Sep 12 04:17:21 }
    Sep 12 04:17:21 box:backuptask runBackupUpload: backuptask crashed BoxError: backuptask exited with code 1 signal null
    Sep 12 04:17:21 at ChildProcess.<anonymous> (/home/yellowtent/box/src/shell.js:137:19)
    Sep 12 04:17:21 at ChildProcess.emit (node:events:519:28)
    Sep 12 04:17:21 at ChildProcess.emit (node:domain:488:12)
    Sep 12 04:17:21 at ChildProcess._handle.onexit (node:internal/child_process:294:12) {
    Sep 12 04:17:21 reason: 'Shell Error',
    Sep 12 04:17:21 details: {},
    Sep 12 04:17:21 code: 1,
    Sep 12 04:17:21 signal: null
    Sep 12 04:17:21 }
    Sep 12 04:17:21 box:backuptask fullBackup: app {DOMAIN} backup finished. Took 364.294 seconds
    Sep 12 04:17:21 box:locks write: current locks: {"backup_task":null}
    Sep 12 04:17:21 box:locks release: app_{UUID}
    Sep 12 04:17:21 box:taskworker Task took 1041.04 seconds
    Sep 12 04:17:21 box:tasks setCompleted - 7083: {"result":null,"error":{"stack":"BoxError: Backuptask crashed\n at runBackupUpload (/home/yellowtent/box/src/backuptask.js:170:15)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async uploadAppSnapshot (/home/yellowtent/box/src/backuptask.js:369:5)\n at async backupAppWithTag (/home/yellowtent/box/src/backuptask.js:391:5)","name":"BoxError","reason":"Internal Error","details":{},"message":"Backuptask crashed"}}
    Sep 12 04:17:21 box:tasks update 7083: {"percent":100,"result":null,"error":{"stack":"BoxError: Backuptask crashed\n at runBackupUpload (/home/yellowtent/box/src/backuptask.js:170:15)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async uploadAppSnapshot (/home/yellowtent/box/src/backuptask.js:369:5)\n at async backupAppWithTag (/home/yellowtent/box/src/backuptask.js:391:5)","name":"BoxError","reason":"Internal Error","details":{},"message":"Backuptask crashed"}}
    Sep 12 04:17:21 BoxError: Backuptask crashed
    Sep 12 04:17:21 at runBackupUpload (/home/yellowtent/box/src/backuptask.js:170:15)
    Sep 12 04:17:21 at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    Sep 12 04:17:21 at async uploadAppSnapshot (/home/yellowtent/box/src/backuptask.js:369:5)
    Sep 12 04:17:21 at async backupAppWithTag (/home/yellowtent/box/src/backuptask.js:391:5)
    
    
    Support ionos backups

  • Error 400 in backup process with Ionos S3 Object Storage
    dsp76D dsp76

    Moved it to another time, made sure no update processes are overlapping. Still:

    "Backuptask crashed\n at runBackupUpload"

    As mentioned before - there was no error in the log at Ionos S3.

    The root cause may be this:

    Sep 10 04:00:28 box:shell backuptask: /usr/bin/sudo -S -E --close-from=4 /home/yellowtent/box/src/scripts/backupupload.js snapshot/app_UUID tgz {"localRoot":"/home/yellowtent/appsdata/UUID","layout":[]} errored BoxError: backuptask exited with code 1 signal null
    Sep 10 04:00:28 at ChildProcess.<anonymous> (/home/yellowtent/box/src/shell.js:137:19)
    Sep 10 04:00:28 at ChildProcess.emit (node:events:519:28)
    Sep 10 04:00:28 at ChildProcess._handle.onexit (node:internal/child_process:294:12) {
    Sep 10 04:00:28 reason: 'Shell Error',
    Sep 10 04:00:28 details: {},
    Sep 10 04:00:28 code: 1,
    Sep 10 04:00:28 signal: null
    

    System log:

    {
      "taskId": "7060",
      "errorMessage": "Backuptask crashed",
      "timedOut": false,
      "backupId": null
    }
    

    The Problem: The system Backup log still shows the complete number of apps (supposed to be backed up). Checking them shows, they havn't been backed up. Looks like, that instead of only one task crashed, the complete backup task crashed and ended the complete operation in the same minute it started, @nebulon ...

    Support ionos backups

  • Error 400 in backup process with Ionos S3 Object Storage
    dsp76D dsp76

    Its still happening. Everyday a different app in backup process. At different times.
    @nebulon could we please remove the "solved" tag? I'm happy to help with debugging, if I know what to look for.
    I'm now also looking into timing and potentially overlaps with other tasks.

    Support ionos backups
  • Login

  • Don't have an account? Register

  • Login or register to search.
  • First post
    Last post
0
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search