diff --git a/dashboard/src/views/BackupSitesView.vue b/dashboard/src/views/BackupSitesView.vue index 892936116..681effc15 100644 --- a/dashboard/src/views/BackupSitesView.vue +++ b/dashboard/src/views/BackupSitesView.vue @@ -117,6 +117,7 @@ async function onRemount(site) { if (statusError) console.error(statusError); site.status.state = status.state === 'active' ? 'success' : 'danger'; + site.status.message = status.message; site.status.busy = false; } @@ -226,7 +227,8 @@ async function refreshStatusForSite(site) { const [error, status] = await backupSitesModels.status(site.id); if (error) return console.error(error); - site.status.state = status?.state === 'active' ? 'success' : 'danger'; + site.status.state = status.state === 'active' ? 'success' : 'danger'; + site.status.message = status.message; site.status.busy = false; } @@ -342,6 +344,7 @@ onMounted(async () => { {{ site.task.error.message }} +
diff --git a/src/storage/filesystem.js b/src/storage/filesystem.js index f07b301d4..14cc349b1 100644 --- a/src/storage/filesystem.js +++ b/src/storage/filesystem.js @@ -76,7 +76,12 @@ async function getStatus(config) { hostPath = config.backupDir; } - return await mounts.getStatus(config._provider, hostPath); // { state, message } + const status = await mounts.getStatus(config._provider, hostPath); // { state, message } + if (config._provider === mounts.MOUNT_TYPE_FILESYSTEM && status.state === 'active') { + status.message = 'Backups are stored on the same disk as Cloudron. If the disk fills up or fails, Cloudron may stop working and data could be lost. Learn how to store backups externally.'; + } + + return status; } function hasChownSupportSync(config) {