Restore to on-prem has failed

I have…

  • Read the following guideline: Troubleshooting and Support | Squidex. I understand that my support request might get deleted if I do not follow the guideline.
  • [ x] Used code blocks with ``` to format my code examples like JSON or logs properly.

I’m submitting a…

  • Regression (a behavior that stopped working in a new release)
  • [ x] Bug report
  • Performance issue
  • Documentation issue or request

Current behavior

When attemping to restore from the cloud version to the on-prem, i get this error:


2025-08-18T15:26:26Z: Started. The restore process has the following steps:

2025-08-18T15:26:26Z: * Download backup

2025-08-18T15:26:26Z: * Restore events and attachments.

2025-08-18T15:26:26Z: * Restore all objects like app, schemas and contents

2025-08-18T15:26:26Z: * Complete the restore operation for all objects

2025-08-18T15:26:26Z: Downloading Backup

2025-08-18T15:26:32Z: Downloaded Backup

2025-08-18T15:26:32Z: Creating Users

2025-08-18T15:26:35Z: Reading 305/300 events and 15 attachments completed.

2025-08-18T15:26:35Z: Failed with internal error.

Expected behavior

Minimal reproduction of the problem

Environment

App Name:

momath

  • [ x] Self hosted with docker
  • Self hosted with IIS
  • Self hosted with other version
  • Cloud version

Version: [VERSION]

Browser:

  • [ x] Chrome (desktop)
  • Chrome (Android)
  • Chrome (iOS)
  • Firefox
  • Safari (desktop)
  • Safari (iOS)
  • IE
  • Edge

Others:

I think this is a feature gap, because some types are not available in on-prem and you had bad luck. This rule action is only available in the cloud.

by types, do you mean content/schema types, or something like email addresses? I’m using OKTA on-prem, but google auth in the hosted version.

I am talking about the possible rule actions. There is a SquidexEmail rule action that is only available in the cloud. You can fix it by assigning another rule action in your backup. So basically:

  1. Download the backup to your PC
  2. Extract it
  3. Open the folder with VSCode
  4. Search for “SquidexEmail” and replace it with “Webhook”
  5. Archive the folder
  6. Upload the folder to S3 or dropbox
  7. Restore

OK, thanks- yeah, i found the rule- I replaced it with webhook, but left the other fields, like email address, etc.- it still failed a restore. I then deleted the JSON file and tried a restore, but that didn’t work. Should i create a webhook rule, download that, and copy paste over the offending email rule event?


This looks like the archive has been corrupted so that it cannot be opened anymore.

On this version I replaced the SquidexEmail with Webhook. I then added a webhook rule, backed that up, and copy-pasted from Webhook rule on the last event JSON file back to the email rule event. I then re-zipped, uploaded to dropbox, but get the same error. Can you suggest a path forward? I’d be happy to pay you to fix this for me : )

u0022Webhook\u0022,\u0022url\u0022:\u0022www.google.com\u0022,\u0022method\u0022:\u0022POST\u0022,\u0022payload\u0022:null,\u0022payloadType\u0022:null,\u0022headers\u0022:null,\u0022sharedSecret\u0022:null},\u0022name\u0022:null,\u0022ruleId\u0022:\u00229117d461-59c2-47ca-a183-34e4b085dcee\u0022,\u0022appId\u0022:\u00223ee1c3e6-51c7-4ef6-9ae5-309de17fbeeb,momath\u0022,\u0022actor\u0022:\u0022subject:5cec75edeb56d000013cedbf\u0022,\u0022fromRule\u0022:false}"

Can you send me the backup? I can also have a look to provide a fallback rule or so, but then you need to upgrade your instance.

here is the backup. I’ll need to do this at least one more time before i fully migrate on-prem. I’m ok with upgrading the on-prem instance. Thank you so much- https://www.dropbox.com/scl/fi/ykoxt6wtj954yg285icnw/backup-momath-2025-08-23_10-09-44.zip?rlkey=3sh5zfea2qljbrkh021ote72z&st=gd8jxtgs&dl=0

Hi Olaaf,

I ran into a similar issue while helping a client migrate from Squidex Cloud to an on-prem instance.
Turned out to be a version mismatch between the exporter and the target environment.

I can take a deeper look if you want to share more detailed logs.
Comfortable working across Squidex internals and Docker based setups.

You can reach out to me on my email here

Colin

1 Like

There are 2 problems here:

  1. The files you have changed are not correct, check especially 305.json (not sure about the other).
  2. You have created a new archive with a root folder, but Events and Attachments need to be the root folders.

I have also digged into the code whether it can be done automatically. But I am not sure yet. Would you also send me your original backup?

wow, ok- odd- i’ll double check and try again- here is the source backup- https://cloud.squidex.io/api/apps/jobs/6d211ea2-2ba4-4dba-855e-af1bc31db492?appId=3ee1c3e6-51c7-4ef6-9ae5-309de17fbeeb

It’s still failing… when i change 305.json with SqidexEmail to Webhook- all other files are untouched, and attachements and events are the only folders in the zip: https://www.dropbox.com/scl/fi/b3517uz2bvo176h327x0e/attachments.zip?rlkey=cfw2o02gvtyoqlw9kjhjxlzan&e=1&st=0rsg8vtp&dl=0

I have a migration that works automatically. It is part of the latest dev version

1 Like

Hey Seb, which branch is this migration code on? I’d like to build and deploy as a test.

It has been merged to the master branch

1 Like