Виправлена помилка, для резервної копіі в S3 хмару
This commit is contained in:
@@ -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",
|
||||
};
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user