Виправлена помилка, для резервної копіі в S3 хмару

This commit is contained in:
2026-03-25 01:12:09 +02:00
parent 415b9b1090
commit 3a5447d521
2 changed files with 13 additions and 7 deletions

View File

@@ -13,10 +13,10 @@ const bot = new TelegramBot(TOKEN, { polling: false });
// Настройки S3 / R2
const s3Client = new S3Client({
region: "auto",
endpoint: process.env.S3_ENDPOINT, // Напр: https://<id>.r2.cloudflarestorage.com
endpoint: process.env.S3_ENDPOINT,
credentials: {
accessKeyId: process.env.S3_ACCESS_KEY_ID,
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY,
accessKeyId: process.env.S3_ACCESS_KEY_ID || "",
secretAccessKey: process.env.S3_SECRET_ACCESS_KEY || ""
},
});
@@ -30,17 +30,18 @@ class Backup {
const fileName = `backup_${new Date().toISOString().replace(/[:.]/g, "-")}.sqlite`;
const fileBuffer = fs.readFileSync(FILE);
// 1. Отправка в Telegram
await bot.sendDocument(CHAT_ID, fs.createReadStream(FILE), {
await bot.sendDocument(CHAT_ID, fileBuffer, {
caption: `📦 Резервна копія бази даних`,
});
console.log("✅ Telegram: успішно надіслано");
// 2. Отправка в S3 (R2)
const fileBuffer = fs.readFileSync(FILE);
// 2. Отправка в S3 (R2)
const uploadParams = {
Bucket: process.env.S3_BUCKET_NAME,
Key: `sheep-service.com/database/${fileName}`, // Путь внутри бакета
Key: `sheep-service.com/database/${fileName}`,
Body: fileBuffer,
ContentType: "application/x-sqlite3",
};

View File

@@ -96,6 +96,11 @@ services:
- VAPID_PUBLIC_KEY=${VAPID_PUBLIC_KEY}
- VAPID_PRIVATE_KEY=${VAPID_PRIVATE_KEY}
- DOMAIN=${DOMAIN}
- S3_ENDPOINT=${S3_ENDPOINT}
- S3_ACCESS_KEY_ID=${S3_ACCESS_KEY_ID}
- S3_SECRET_ACCESS_KEY=${S3_SECRET_ACCESS_KEY}
- S3_BUCKET_NAME=${S3_BUCKET_NAME}
networks:
- network