+ {isLoadingPreviewDeployments ? (
+
+
+
+ Loading preview deployments...
+
+
+ ) : !previewDeployments?.length ? (
+
No preview deployments found
@@ -168,19 +178,10 @@ export const ShowPreviewDeployments = ({ applicationId }: Props) => {
-
-
- Builds
-
- }
/>
Database Name
-
+
@@ -789,10 +791,10 @@ export const RestoreBackup = ({
isLoading={isDeploying}
form="hook-form-restore-backup"
type="submit"
- disabled={
- !form.watch("backupFile") ||
- (backupType === "compose" && !form.watch("databaseType"))
- }
+ // disabled={
+ // !form.watch("backupFile") ||
+ // (backupType === "compose" && !form.watch("databaseType"))
+ // }
>
Restore
diff --git a/packages/server/src/utils/backups/web-server.ts b/packages/server/src/utils/backups/web-server.ts
index ae63b188..733d6a59 100644
--- a/packages/server/src/utils/backups/web-server.ts
+++ b/packages/server/src/utils/backups/web-server.ts
@@ -42,35 +42,35 @@ export const runWebServerBackup = async (backup: BackupSchedule) => {
);
if (!containerId) {
- writeStream.write("PostgreSQL container not found❌");
+ writeStream.write("Dokploy postgres container not found❌\n");
writeStream.end();
- throw new Error("PostgreSQL container not found");
+ throw new Error("Dokploy postgres container not found");
}
- writeStream.write(`PostgreSQL container ID: ${containerId}`);
+ writeStream.write(`Dokploy postgres container ID: ${containerId}\n`);
const postgresContainerId = containerId.trim();
const postgresCommand = `docker exec ${postgresContainerId} pg_dump -v -Fc -U dokploy -d dokploy > '${tempDir}/database.sql'`;
- writeStream.write(`Running command: ${postgresCommand}`);
+ writeStream.write(`Running command: ${postgresCommand}\n`);
await execAsync(postgresCommand);
await execAsync(`cp -r ${BASE_PATH}/* ${tempDir}/filesystem/`);
- writeStream.write("Copied filesystem to temp directory");
+ writeStream.write("Copied filesystem to temp directory\n");
await execAsync(
// Zip all .sql files since we created more than one
`cd ${tempDir} && zip -r ${backupFileName} *.sql filesystem/ > /dev/null 2>&1`,
);
- writeStream.write("Zipped database and filesystem");
+ writeStream.write("Zipped database and filesystem\n");
const uploadCommand = `rclone copyto ${rcloneFlags.join(" ")} "${tempDir}/${backupFileName}" "${s3Path}"`;
- writeStream.write(`Running command: ${uploadCommand}`);
+ writeStream.write(`Running command: ${uploadCommand}\n`);
await execAsync(uploadCommand);
- writeStream.write("Uploaded backup to S3 ✅");
+ writeStream.write("Uploaded backup to S3 ✅\n");
writeStream.end();
await updateDeploymentStatus(deployment.deploymentId, "done");
return true;
@@ -80,7 +80,9 @@ export const runWebServerBackup = async (backup: BackupSchedule) => {
} catch (error) {
console.error("Backup error:", error);
writeStream.write("Backup error❌\n");
- writeStream.write(error instanceof Error ? error.message : "Unknown error");
+ writeStream.write(
+ error instanceof Error ? error.message : "Unknown error\n",
+ );
writeStream.end();
await updateDeploymentStatus(deployment.deploymentId, "error");
throw error;