Compare commits

..

13 Commits

Author SHA1 Message Date
Rostislav Dugin
5d685e0a39 Merge pull request #492 from databasus/develop
FIX (backups): Save metadata file to storage before marking backup as…
2026-04-02 09:48:39 +03:00
Rostislav Dugin
981d560768 Merge pull request #491 from databasus/develop
Develop
2026-04-02 09:05:03 +03:00
Rostislav Dugin
7123de9fa3 Merge pull request #486 from databasus/develop
FIX (docker): Chown /var/run/postgresql after UID/GID adjustment to f…
2026-03-31 14:25:15 +03:00
Rostislav Dugin
c2ddbfc86f Merge pull request #484 from databasus/develop
FEATURE (docker): Add PUID/PGID environment variables to control post…
2026-03-31 11:52:23 +03:00
Rostislav Dugin
ef879df08f Merge pull request #483 from databasus/develop
FIX (backups): Use system's temp directory instead of mounter directo…
2026-03-31 11:41:26 +03:00
Rostislav Dugin
b5178f5752 Merge pull request #482 from databasus/develop
FEATURE (clipboard): Add parsing from clipboard via dialog in HTTP\no…
2026-03-31 11:21:25 +03:00
Rostislav Dugin
2815cc3752 Merge pull request #481 from databasus/develop
FIX (storages): Validat only single rclone storage is passed
2026-03-31 10:37:54 +03:00
Rostislav Dugin
81f77760c9 Merge pull request #479 from databasus/develop
FEATURE (navbar): Update navbar link color
2026-03-30 13:16:07 +03:00
Rostislav Dugin
8c1b8ac00f Merge pull request #477 from databasus/develop
Develop
2026-03-29 15:45:15 +03:00
Rostislav Dugin
496fc05993 Merge pull request #474 from databasus/develop
FIX (wal): Fix timeout upload test
2026-03-29 11:30:01 +03:00
Rostislav Dugin
6b052902f7 Merge pull request #473 from databasus/develop
Develop
2026-03-28 22:53:13 +03:00
Rostislav Dugin
927eeabc0f Merge pull request #470 from databasus/develop
Develop
2026-03-27 23:58:39 +03:00
Rostislav Dugin
f7f70a13eb Merge pull request #465 from databasus/develop
Develop
2026-03-24 18:01:35 +03:00
7 changed files with 7 additions and 89 deletions

View File

@@ -558,7 +558,7 @@ export const BackupsComponent = ({
<div className="mt-5" />
{database.postgresql?.backupType !== PostgresBackupType.WAL_V1 && (
<div className="flex items-center">
<div className="flex">
<Button
onClick={makeBackup}
className="mr-1"
@@ -569,17 +569,6 @@ export const BackupsComponent = ({
<span className="md:hidden">Backup now</span>
<span className="hidden md:inline">Make backup right now</span>
</Button>
{!IS_CLOUD && (
<a
href="https://databasus.com/cloud"
target="_blank"
rel="noreferrer"
className="inline-flex h-8 items-center rounded-md border border-blue-600 px-[15px] text-sm leading-none transition-colors hover:bg-blue-50 dark:!text-white dark:hover:bg-blue-900/30"
>
Get 24x7 uptime and 2x independent backups copy
</a>
)}
</div>
)}

View File

@@ -1,8 +1,6 @@
import { ExclamationCircleOutlined } from '@ant-design/icons';
import { Button, Modal, Spin } from 'antd';
import { useEffect, useState } from 'react';
import { IS_CLOUD } from '../../../constants';
import { storageApi } from '../../../entity/storages';
import type { Storage } from '../../../entity/storages';
import type { UserProfile } from '../../../entity/users';
@@ -102,31 +100,6 @@ export const StoragesComponent = ({
>
{storages.length >= 5 && isCanManageStorages && addStorageButton}
{!IS_CLOUD && (
<div className="mb-3 rounded bg-yellow-50 p-3 shadow dark:bg-yellow-900/30">
<div className="mb-1 flex items-center gap-1.5 text-sm font-bold text-yellow-700 dark:text-yellow-400">
<ExclamationCircleOutlined />
Self-hosted notice
</div>
<div className="text-sm !text-yellow-600 dark:!text-yellow-500">
Do not forget to backup the storage itself as it contains all your backups.
<br /> Or you can use cloud{"'"}s build-in{' '}
<u>unlimited storage with double reservation</u>. We care about security,
maintainance and 24x7 uptime
</div>
<a
href="https://databasus.com/cloud"
target="_blank"
rel="noreferrer"
className="mt-2 block w-full rounded-md !bg-green-600 px-4 py-1.5 text-center text-sm font-medium !text-white transition-colors hover:!bg-green-700 dark:!bg-green-700 dark:hover:!bg-green-800"
>
Use cloud storage from $9
</a>
</div>
)}
{storages.map((storage) => (
<StorageCardComponent
key={storage.id}

View File

@@ -1,4 +1,4 @@
import { ExclamationCircleOutlined, InfoCircleOutlined } from '@ant-design/icons';
import { InfoCircleOutlined } from '@ant-design/icons';
import { Button, Input, Select, Switch, Tooltip } from 'antd';
import { useEffect, useState } from 'react';
@@ -14,7 +14,6 @@ import { ToastHelper } from '../../../../shared/toast';
import { EditAzureBlobStorageComponent } from './storages/EditAzureBlobStorageComponent';
import { EditFTPStorageComponent } from './storages/EditFTPStorageComponent';
import { EditGoogleDriveStorageComponent } from './storages/EditGoogleDriveStorageComponent';
import { EditLocalStorageComponent } from './storages/EditLocalStorageComponent';
import { EditNASStorageComponent } from './storages/EditNASStorageComponent';
import { EditRcloneStorageComponent } from './storages/EditRcloneStorageComponent';
import { EditS3StorageComponent } from './storages/EditS3StorageComponent';
@@ -487,35 +486,6 @@ export function EditStorageComponent({
}}
/>
)}
{storage?.type === StorageType.LOCAL && <EditLocalStorageComponent />}
</div>
<div>
{!IS_CLOUD && (
<div className="mb-3 rounded bg-yellow-50 p-3 shadow dark:bg-yellow-900/30">
<div className="mb-1 flex items-center gap-1.5 text-sm font-bold text-yellow-700 dark:text-yellow-400">
<ExclamationCircleOutlined />
Self-hosted notice
</div>
<div className="text-sm !text-yellow-600 dark:!text-yellow-500">
Do not forget to backup the storage itself as it contains all your backups.
<br /> Or you can use cloud{"'"}s build-in{' '}
<u>unlimited storage with double reservation</u>. We care about security, maintainance
and 24x7 uptime for you
</div>
<a
href="https://databasus.com/cloud"
target="_blank"
rel="noreferrer"
className="mt-2 block w-full rounded-md !bg-green-600 px-4 py-1.5 text-center text-sm font-medium !text-white transition-colors hover:!bg-green-700 dark:!bg-green-700 dark:hover:!bg-green-800"
>
Use cloud storage from $9
</a>
</div>
)}
</div>
<div className="mt-3 flex">

View File

@@ -1,14 +0,0 @@
import { ExclamationCircleOutlined } from '@ant-design/icons';
export function EditLocalStorageComponent() {
return (
<>
<div className="max-w-[360px] text-yellow-600 dark:text-yellow-400">
<ExclamationCircleOutlined /> Be careful: with local storage you may run out of ROM memory.
It is recommended to use S3 or unlimited storages
</div>
<div className="mb-5" />
</>
);
}

View File

@@ -34,12 +34,12 @@ export function AuthNavbarComponent() {
{!IS_CLOUD && (
<a
className="!text-black hover:opacity-80 dark:!text-gray-200"
className="!text-black !underline !decoration-blue-600 !decoration-2 underline-offset-2 hover:opacity-80 dark:!text-gray-200"
href="https://databasus.com/cloud"
target="_blank"
rel="noreferrer"
>
Cloud
Cloud (from $9)
</a>
)}

View File

@@ -232,12 +232,12 @@ export const MainScreenComponent = () => {
{!IS_CLOUD && (
<a
className="!text-black hover:opacity-80 dark:!text-gray-200"
className="!text-black !underline !decoration-blue-600 !decoration-2 underline-offset-2 hover:opacity-80 dark:!text-gray-200"
href="https://databasus.com/cloud"
target="_blank"
rel="noreferrer"
>
Cloud
Cloud (from $9)
</a>
)}

View File

@@ -211,7 +211,7 @@ export const SidebarComponent = ({
target="_blank"
rel="noreferrer"
>
Cloud
Cloud (from $9)
</a>
)}