Перемикання сховища файлів
Kept зберігає файли (фото, чеки, документи) на томі даних (KEPT_STORAGE=local, типово) або в
S3-сумісному бакеті (KEPT_STORAGE=s3 зі змінними KEPT_S3_*). Зміна лише KEPT_STORAGE нічого
не переміщує: вже збережені файли залишаються там, де були, і Kept не може їх знайти. Переміщення —
це копіювання.
Переміщення
Section titled “Переміщення”Файли не змінюються після збереження, тож копіювання безпечно, поки працює Kept, і його можна повторювати: файл, який уже є в місці призначення з правильним хешем, пропускається.
- Додайте налаштування місця призначення поруч із поточними (для S3:
KEPT_S3_BUCKET,KEPT_S3_ACCESS_KEY_ID,KEPT_S3_SECRET_ACCESS_KEYі, якщо потрібно,KEPT_S3_ENDPOINT,KEPT_S3_REGION,KEPT_S3_FORCE_PATH_STYLE), залишаючиKEPT_STORAGEяк є. - Копіюйте, поки Kept працює:
kept admin storage copy --to s3(або--to local). Кожен файл, на який посилається база даних, і його версії зі зміненим розміром копіюються, і перевіряється їхній SHA-256.--dry-runлише підраховує. - Зупиніть Kept, і скопіюйте знову: копіюються лише файли, що з’явилися після цього.
- Встановіть
KEPT_STORAGEна нове сховище та запустіть Kept. - Перевірте:
kept admin storage verify --store s3перевіряє кожен файл, на який посилається база даних.
Старі файли залишаються там, де були; видаліть їх самостійно, коли будете задоволені.
Перш ніж обирати S3
Section titled “Перш ніж обирати S3”- Увімкніть версіонування бакета: зі сховищем S3 резервні копії не містять файли, а версіонування саме повертає видалений або перезаписаний файл (резервні копії).
- Телефони отримують файли з бакета безпосередньо, через короткоживучі підписані посилання. Якщо
сервер звертається до бакета за адресою, яку телефони не бачать (наприклад, усередині Compose),
встановіть
KEPT_S3_PUBLIC_ENDPOINTна ту, яку вони бачать. - Подавайте бакет зі свого власного імені хоста, а не Kept.