louislam / uptime-kuma

A fancy self-hosted monitoring tool
https://uptime.kuma.pet
MIT License
60.19k stars 5.38k forks source link

Export / Import Backup #4872

Closed ArturAronov closed 5 months ago

ArturAronov commented 5 months ago

πŸ“‘ I have found these related issues/pull requests

Export and Import of backup flattens the collections. When importing or exporting the backup, the collections become flat again. Path name is recorded in backup file, however when file is imported, the data is not grouped into right collections.

Add status page set up to backup file.

πŸ›‘οΈ Security Policy

Description

No response

πŸ‘Ÿ Reproduction steps

https://url/dashboard -> Settings -> Back up -> Export / Import

πŸ‘€ Expected behavior

The uptime pages should be organised by collections on import. Status page entries are not exported

πŸ˜“ Actual Behavior

The imported pages should be organised by collections Status page entries should be exported

🐻 Uptime-Kuma Version

1.23.13

πŸ’» Operating System and Arch

Linux/X86_64 (Ubuntu)

🌐 Browser

Arc / Chromium

πŸ–₯️ Deployment Environment

πŸ“ Relevant log output

No response

louislam commented 5 months ago

https://url/dashboard -> Settings -> Back up

Please read the warning message in the same page.

CommanderStorm commented 5 months ago

Chiming in with a more in-depth explanation:

Please see https://github.com/louislam/uptime-kuma/issues/2141#issuecomment-1272360952

In 1.18.3, the backup feature was deprecated due to [being left] unmaintained.

Backup & Restore with JSON has been deprecated and issues will not be fixed due to the amount of problems it has been causing for our users and us. The current design is just not maintainable, causing countless bugs. In v2.0 the deprecated backup tool is being removed because of this reason. Please consider using SQL, API based[^1] or infrastructure based[^2] backup instead.

New approaches to these features should use SQLite dump or MariaDB dump respectively. (Here is our contribution guide)

You can subscribe to these issues meanwhile:

[^1]: using the third-party API: https://uptime-kuma-api.readthedocs.io/en/latest/ [^2]: see https://github.com/louislam/uptime-kuma/issues/477#issuecomment-1557966187 for a setup example

clement-igonet commented 5 months ago

F.Y.I., we prefered backup and restore notifications and monitors with python and uptime-kuma-api ( https://uptime-kuma-api.readthedocs.io/ ). Unfortunately, it is not possible to get then add dicts as is, we needed to pop/remove some fields, and manage relationship between monitors and notifications. But it was valuable.