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