fix cron after first run + add hc
docker-build / Build image (push) Failing after 6s

This commit is contained in:
2026-09-01 11:00:36 +07:00
parent 2875fc8334
commit 5646ecd6dd
8 changed files with 151 additions and 28 deletions
+28
View File
@@ -18,6 +18,8 @@ services:
- MINIO_APPLICATION_KEY
- MINIO_ENDPOINT
- MINIO_LOCATION
- HEALTHCHECK_URL
- HEALTHCHECK_UUID
```
пример .env
@@ -32,8 +34,34 @@ MINIO_ACCOUNT_ID=account
MINIO_APPLICATION_KEY=key
MINIO_ENDPOINT=https://s3.domain.ru
MINIO_LOCATION=ru-nsk
# необязательно: пинг в healthchecks.io (в т.ч. self-hosted)
HEALTHCHECK_URL=https://hc.domain.ru/ping
HEALTHCHECK_UUID=00000000-0000-0000-0000-000000000000
```
1. myminio - системно! не менять
2. проверьте настройки локации, не должно быть пусто
3. DELETE_AFTER - в днях
## Healthchecks
Если `HEALTHCHECK_URL` пуст — пинги не отправляются, бекап работает как обычно.
Итоговый адрес: `${HEALTHCHECK_URL}/${HEALTHCHECK_UUID}`
| Момент | Запрос |
|---|---|
| старт бекапа | `.../${HEALTHCHECK_UUID}/start` |
| дамп снят, проверен `PRAGMA integrity_check`, запакован, залит в s3, размер в s3 сверен с локальным, старое удалено | `.../${HEALTHCHECK_UUID}` |
| любая ошибка на любом шаге | `.../${HEALTHCHECK_UUID}/fail` |
Для self-hosted инстанса `HEALTHCHECK_URL` — это адрес его ping-эндпоинта, например `https://hc.domain.ru/ping`.
## Как передаётся окружение в cron
`crond` из busybox запускает джобы с пустым окружением, поэтому `entrypoint.sh`
сохраняет env контейнера в `/tmp/container.env` (права 600), а cron-запись
вызывает `/scripts/backup.sh --from-cron`, который его подгружает.
Ручной запуск (`docker exec ... /scripts/backup.sh`) использует то окружение,
с которым его вызвали.