<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Attempted to restore Cloudron 9.0.12, receiving error when loading backup configuration and hitting Restore button]]></title><description><![CDATA[<h2>Description</h2>
<p dir="auto">I tried to run a dry-run restore of a Cloudron instance from 9.0.12 to a fresh 9.0.12. I receive this error:</p>
<pre><code>Error put object cloudron-testfile. code: undefined message: Expected closing tag 'hr' (opened in line 5, col 1) instead of closing tag 'body'.:6:1 Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object. HTTP: 403
</code></pre>
<h3>Steps to reproduce</h3>
<p dir="auto">Download backup file from old Cloudron, upload to new Cloudron on Restore page. Set access keys / secrets, and encryption password, and click on the Restore button.</p>
<h3>Logs</h3>
<pre><code>2025-11-22T17:43:50.056Z box:server ==========================================
2025-11-22T17:43:50.056Z box:server            Cloudron 9.0.12  
2025-11-22T17:43:50.056Z box:server ==========================================
2025-11-22T17:43:50.056Z box:platform initialize: start platform
2025-11-22T17:43:50.057Z box:tasks stopAllTasks: 0 tasks are running. sending abort signal
2025-11-22T17:43:50.057Z box:shell tasks: /usr/bin/sudo --non-interactive /home/yellowtent/box/src/scripts/stoptask.sh all
2025-11-22T17:43:50.108Z box:locks releaseAll: all locks released
2025-11-22T17:43:50.111Z box:platform initialize: not activated. generating IP based redirection config
2025-11-22T17:43:50.112Z box:reverseproxy writeDefaultConfig: create new cert
2025-11-22T17:43:50.112Z box:shell reverseproxy: openssl req -x509 -newkey rsa:2048 -keyout /home/yellowtent/platformdata/nginx/cert/default.key -out /home/yellowtent/platformdata/nginx/cert/default.cert -days 800 -subj /CN=cloudron-2025-11-22T17:43:50.112Z -nodes
2025-11-22T17:43:50.245Z box:reverseproxy writeDefaultConfig: writing configs for endpoint "setup"
2025-11-22T17:43:50.246Z box:shell reverseproxy: /usr/bin/sudo --non-interactive /home/yellowtent/box/src/scripts/restartservice.sh nginx
2025-11-22T17:43:50.274Z box:notifications add: cloudronInstalled Cloudron v9.0.12 installed
2025-11-22T17:43:50.330Z box:proxyAuth start: generating new token secret
2025-11-22T17:43:51.292Z box:box Received SIGTERM. Shutting down.
2025-11-22T17:43:51.292Z box:platform uninitializing platform
2025-11-22T17:43:51.293Z box:tasks stopAllTasks: 0 tasks are running. sending abort signal
2025-11-22T17:43:51.293Z box:shell tasks: /usr/bin/sudo --non-interactive /home/yellowtent/box/src/scripts/stoptask.sh all
2025-11-22T17:43:51.319Z box:database pool closed
2025-11-22T17:43:53.320Z box:box Shutdown complete
2025-11-22T17:44:24.061Z box:server ==========================================
2025-11-22T17:44:24.062Z box:server            Cloudron 9.0.12  
2025-11-22T17:44:24.062Z box:server ==========================================
2025-11-22T17:44:24.062Z box:platform initialize: start platform
2025-11-22T17:44:24.063Z box:tasks stopAllTasks: 0 tasks are running. sending abort signal
2025-11-22T17:44:24.063Z box:shell tasks: /usr/bin/sudo --non-interactive /home/yellowtent/box/src/scripts/stoptask.sh all
2025-11-22T17:44:24.128Z box:locks releaseAll: all locks released
2025-11-22T17:44:24.136Z box:platform initialize: not activated. generating IP based redirection config
2025-11-22T17:44:24.139Z box:reverseproxy writeDefaultConfig: writing configs for endpoint "setup"
2025-11-22T17:44:24.140Z box:shell reverseproxy: /usr/bin/sudo --non-interactive /home/yellowtent/box/src/scripts/restartservice.sh nginx
2025-11-22T17:44:44.508Z box:network/generic getIP: querying https://ipv4.api.cloudron.io/api/v1/helper/public_ip to get ipv4
2025-11-22T17:44:44.612Z box:network/generic getIP: querying https://ipv6.api.cloudron.io/api/v1/helper/public_ip to get ipv6
2025-11-22T17:44:44.733Z box:network/generic getIP: Error getting IP. connect ENETUNREACH 2604:a880:800:10::b66:f001:443 - Local (:::0)
2025-11-22T17:45:25.575Z box:network/generic getIP: querying https://ipv6.api.cloudron.io/api/v1/helper/public_ip to get ipv6
2025-11-22T17:45:25.583Z box:network/generic getIP: Error getting IP. connect ENETUNREACH 2604:a880:800:10::b66:f001:443 - Local (:::0)
2025-11-22T17:45:25.679Z box:shell system: lsblk --paths --bytes --json --list --fs --output +rota,fsused,fsavail
2025-11-22T17:56:24.449Z box:network/generic getIP: querying https://ipv4.api.cloudron.io/api/v1/helper/public_ip to get ipv4
2025-11-22T17:56:24.526Z box:network/generic getIP: querying https://ipv6.api.cloudron.io/api/v1/helper/public_ip to get ipv6
2025-11-22T17:56:24.540Z box:network/generic getIP: Error getting IP. connect ENETUNREACH 2604:a880:800:10::b66:f001:443 - Local (:::0)
2025-11-22T17:56:26.156Z box:network/generic getIP: querying https://ipv6.api.cloudron.io/api/v1/helper/public_ip to get ipv6
2025-11-22T17:56:26.164Z box:network/generic getIP: Error getting IP. connect ENETUNREACH 2604:a880:800:10::b66:f001:443 - Local (:::0)
2025-11-22T17:56:26.263Z box:shell system: lsblk --paths --bytes --json --list --fs --output +rota,fsused,fsavail
2025-11-22T18:26:11.498Z box:server no such route: PROPFIND /
2025-11-22T18:37:57.532Z box:network/generic getIP: querying https://ipv4.api.cloudron.io/api/v1/helper/public_ip to get ipv4
2025-11-22T18:37:57.611Z box:network/generic getIP: querying https://ipv6.api.cloudron.io/api/v1/helper/public_ip to get ipv6
2025-11-22T18:37:57.641Z box:network/generic getIP: Error getting IP. connect ENETUNREACH 2604:a880:800:10::b66:f001:443 - Local (:::0)
2025-11-22T18:37:57.754Z box:shell system: lsblk --paths --bytes --json --list --fs --output +rota,fsused,fsavail
2025-11-22T18:46:47.731Z box:network/generic getIP: querying https://ipv4.api.cloudron.io/api/v1/helper/public_ip to get ipv4
2025-11-22T18:46:47.807Z box:network/generic getIP: querying https://ipv6.api.cloudron.io/api/v1/helper/public_ip to get ipv6
2025-11-22T18:46:47.839Z box:network/generic getIP: Error getting IP. connect ENETUNREACH 2604:a880:800:10::b66:f001:443 - Local (:::0)
2025-11-22T18:46:47.941Z box:shell system: lsblk --paths --bytes --json --list --fs --output +rota,fsused,fsavail
2025-11-22T18:57:34.995Z box:backups add: validating new storage configuration
2025-11-22T18:57:35.228Z box:provision restore: error. BoxError: Error put object cloudron-testfile. code: undefined message: Expected closing tag 'hr' (opened in line 5, col 1) instead of closing tag 'body'.:6:1 Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object. HTTP: 403 at Object.verifyConfig (/home/yellowtent/box/src/storage/s3.js:648:25) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async Object.createPseudo (/home/yellowtent/box/src/backupsites.js:586:29) at async Object.restore (/home/yellowtent/box/src/provision.js:251:28) { reason: 'External Error', details: {} }
2025-11-22T18:58:09.073Z box:backups add: validating new storage configuration
2025-11-22T18:58:09.097Z box:provision restore: error. BoxError: Error put object cloudron-testfile. code: undefined message: Expected closing tag 'hr' (opened in line 5, col 1) instead of closing tag 'body'.:6:1 Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object. HTTP: 403 at Object.verifyConfig (/home/yellowtent/box/src/storage/s3.js:648:25) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async Object.createPseudo (/home/yellowtent/box/src/backupsites.js:586:29) at async Object.restore (/home/yellowtent/box/src/provision.js:251:28) { reason: 'External Error', details: {} }
2025-11-22T18:58:26.014Z box:network/generic getIP: querying https://ipv4.api.cloudron.io/api/v1/helper/public_ip to get ipv4
2025-11-22T18:58:26.093Z box:network/generic getIP: querying https://ipv6.api.cloudron.io/api/v1/helper/public_ip to get ipv6
2025-11-22T18:58:26.125Z box:network/generic getIP: Error getting IP. connect ENETUNREACH 2604:a880:800:10::b66:f001:443 - Local (:::0)
2025-11-22T18:58:26.224Z box:shell system: lsblk --paths --bytes --json --list --fs --output +rota,fsused,fsavail
2025-11-22T18:58:33.459Z box:network/generic getIP: querying https://ipv6.api.cloudron.io/api/v1/helper/public_ip to get ipv6
2025-11-22T18:58:33.479Z box:network/generic getIP: Error getting IP. connect ENETUNREACH 2604:a880:800:10::b66:f001:443 - Local (:::0)
2025-11-22T18:58:34.672Z box:network/generic getIP: querying https://ipv6.api.cloudron.io/api/v1/helper/public_ip to get ipv6
2025-11-22T18:58:34.680Z box:network/generic getIP: Error getting IP. connect ENETUNREACH 2604:a880:800:10::b66:f001:443 - Local (:::0)
2025-11-22T18:58:34.766Z box:shell system: lsblk --paths --bytes --json --list --fs --output +rota,fsused,fsavail
2025-11-22T18:59:10.993Z box:backups add: validating new storage configuration
2025-11-22T18:59:11.030Z box:provision restore: error. BoxError: Error put object cloudron-testfile. code: undefined message: Expected closing tag 'hr' (opened in line 5, col 1) instead of closing tag 'body'.:6:1 Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object. HTTP: 403 at Object.verifyConfig (/home/yellowtent/box/src/storage/s3.js:648:25) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async Object.createPseudo (/home/yellowtent/box/src/backupsites.js:586:29) at async Object.restore (/home/yellowtent/box/src/provision.js:251:28) { reason: 'External Error', details: {} }
2025-11-22T19:02:00.947Z box:backups add: validating new storage configuration
2025-11-22T19:02:00.968Z box:provision restore: error. BoxError: Error put object cloudron-testfile. code: undefined message: Expected closing tag 'hr' (opened in line 5, col 1) instead of closing tag 'body'.:6:1 Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object. HTTP: 403 at Object.verifyConfig (/home/yellowtent/box/src/storage/s3.js:648:25) at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async Object.createPseudo (/home/yellowtent/box/src/backupsites.js:586:29) at async Object.restore (/home/yellowtent/box/src/provision.js:251:28) { reason: 'External Error', details: {} }
</code></pre>
]]></description><link>https://forum.cloudron.io/topic/14596/attempted-to-restore-cloudron-9.0.12-receiving-error-when-loading-backup-configuration-and-hitting-restore-button</link><generator>RSS for Node</generator><lastBuildDate>Wed, 15 Apr 2026 00:54:12 GMT</lastBuildDate><atom:link href="https://forum.cloudron.io/topic/14596.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 22 Nov 2025 19:07:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Attempted to restore Cloudron 9.0.12, receiving error when loading backup configuration and hitting Restore button on Sun, 23 Nov 2025 05:14:40 GMT]]></title><description><![CDATA[<p dir="auto">Oh I fixed it. Embarrassingly, this was an issue on my side. I forgot I had added some IP allowlist to the iDrive e2 bucket which is what happened here. Once I added the new IP address, this all worked properly. Sorry about this. Hopefully this helps someone else in the future though. <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/1f47c.png?v=223f9defb2f" class="not-responsive emoji emoji-android emoji--angel" style="height:23px;width:auto;vertical-align:middle" title=":angel:" alt="👼" /></p>
<p dir="auto">I do think the error message should be improved here though, it's a bit cryptic as it is currently.</p>
]]></description><link>https://forum.cloudron.io/post/115812</link><guid isPermaLink="true">https://forum.cloudron.io/post/115812</guid><dc:creator><![CDATA[d19dotca]]></dc:creator><pubDate>Sun, 23 Nov 2025 05:14:40 GMT</pubDate></item><item><title><![CDATA[Reply to Attempted to restore Cloudron 9.0.12, receiving error when loading backup configuration and hitting Restore button on Tue, 25 Nov 2025 00:52:53 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/girish" aria-label="Profile: girish">@<bdi>girish</bdi></a> said in <a href="/post/115910">Attempted to restore Cloudron 9.0.12, receiving error when loading backup configuration and hitting Restore button</a>:</p>
<blockquote>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/d19dotca" aria-label="Profile: d19dotca">@<bdi>d19dotca</bdi></a> I tried to reproduce this but I couldn't figure where to set this IP allowlist in iDrive e2. Maybe it's only for paying customers since I am on the trial plan ?</p>
</blockquote>
<p dir="auto">Hi Girish. This link can help, assuming it isn’t gated to paying customers (I’m not sure if it is or not), but hopefully this provides some instructions for setting up an allowlist.</p>
<p dir="auto"><a href="https://www.idrive.com/s3-storage-e2/faq-buckets#ip-allowlisting" target="_blank" rel="noopener noreferrer nofollow ugc">https://www.idrive.com/s3-storage-e2/faq-buckets#ip-allowlisting</a></p>
<p dir="auto">I suspect you’re right though, that it is sending back a non-XML response to provide a response message that it’s forbidden from accessing it. I understand this use-case may be rare, but I think if there’s a way to improve that error handling, it may help others too because at first glance it’s really not clear where the issue could be coming from.</p>
]]></description><link>https://forum.cloudron.io/post/115945</link><guid isPermaLink="true">https://forum.cloudron.io/post/115945</guid><dc:creator><![CDATA[d19dotca]]></dc:creator><pubDate>Tue, 25 Nov 2025 00:52:53 GMT</pubDate></item><item><title><![CDATA[Reply to Attempted to restore Cloudron 9.0.12, receiving error when loading backup configuration and hitting Restore button on Mon, 24 Nov 2025 13:47:02 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/d19dotca" aria-label="Profile: d19dotca">@<bdi>d19dotca</bdi></a> I tried to reproduce this but I couldn't figure where to set this IP allowlist in iDrive e2. Maybe it's only for paying customers since I am on the trial plan ?</p>
<blockquote>
<p dir="auto">Error put object cloudron-testfile. code: undefined message: Expected closing tag 'hr' (opened in line 5, col 1) instead of closing tag 'body'.:6:1 Deserialization error: to see the raw response, inspect the hidden field {error}.$response on this object. HTTP: 403</p>
</blockquote>
<p dir="auto">Going by the output it seems that the "block" made the endpoint respond with some html (possibly saying the access is blocked) ! The AWS S3 module expects xml responses.</p>
]]></description><link>https://forum.cloudron.io/post/115910</link><guid isPermaLink="true">https://forum.cloudron.io/post/115910</guid><dc:creator><![CDATA[girish]]></dc:creator><pubDate>Mon, 24 Nov 2025 13:47:02 GMT</pubDate></item><item><title><![CDATA[Reply to Attempted to restore Cloudron 9.0.12, receiving error when loading backup configuration and hitting Restore button on Sun, 23 Nov 2025 05:14:40 GMT]]></title><description><![CDATA[<p dir="auto">Oh I fixed it. Embarrassingly, this was an issue on my side. I forgot I had added some IP allowlist to the iDrive e2 bucket which is what happened here. Once I added the new IP address, this all worked properly. Sorry about this. Hopefully this helps someone else in the future though. <img src="https://forum.cloudron.io/assets/plugins/nodebb-plugin-emoji/emoji/android/1f47c.png?v=223f9defb2f" class="not-responsive emoji emoji-android emoji--angel" style="height:23px;width:auto;vertical-align:middle" title=":angel:" alt="👼" /></p>
<p dir="auto">I do think the error message should be improved here though, it's a bit cryptic as it is currently.</p>
]]></description><link>https://forum.cloudron.io/post/115812</link><guid isPermaLink="true">https://forum.cloudron.io/post/115812</guid><dc:creator><![CDATA[d19dotca]]></dc:creator><pubDate>Sun, 23 Nov 2025 05:14:40 GMT</pubDate></item></channel></rss>