From f4a376ff4bb658e2b863e60c8108200c34d700ae Mon Sep 17 00:00:00 2001 From: Codex Agent Date: Sun, 2 Aug 2026 23:55:16 +0300 Subject: [PATCH] docs: record Synology deployment --- .gitignore | 2 +- README.md | 6 ++++ docs/PROJECT_STATUS.md | 30 +++++++++++-------- .../decisions/001-mvp-boundaries-and-rules.md | 4 +-- 4 files changed, 26 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index f617510..f963c95 100755 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,5 @@ # Local credentials and secrets -credentials.txt +credentials.json # Python/runtime artifacts (for the upcoming bot implementation) __pycache__/ diff --git a/README.md b/README.md index ce93578..086d78c 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,12 @@ Markdown публикуется в теме `TELEGRAM_REPORT_THREAD_ID`, а в python3 -m unittest -v ``` +## Synology + +Контейнер `akyldash-bot` работает на образе `python:3.11-slim` с политикой +перезапуска `unless-stopped`. Постоянные данные находятся в +`/volume1/docker/akyldash/data`. + --- Акылдаш v0.2.0 diff --git a/docs/PROJECT_STATUS.md b/docs/PROJECT_STATUS.md index 2686397..4bc5ff3 100755 --- a/docs/PROJECT_STATUS.md +++ b/docs/PROJECT_STATUS.md @@ -9,7 +9,7 @@ Telegram-инфраструктура и первая версия бота-секретаря подготовлены. Бот сохраняет сообщения разрешённых тем в SQLite, переживает перезапуск и экспортирует обсуждения в Markdown. -Ближайшая цель — проверить полный цикл на реальном обсуждении и подготовить постоянный запуск бота. +Ближайшая цель — проверить экспорт из постоянно работающего контейнера и настроить резервное копирование SQLite. ## Уже сделано @@ -32,6 +32,7 @@ Telegram-инфраструктура и первая версия бота-се | Решения | `4` | подтверждено тестовым сообщением | | Обсуждение | `6` | подтверждено тестовым сообщением | | Работа с ИИ | `8` | подтверждено тестовым сообщением | +| Отчеты | `37` | закрытая тема для Markdown-экспортов | ### Документация и правила @@ -43,8 +44,8 @@ Telegram-инфраструктура и первая версия бота-се ### Доступы -- Локальные доступы находятся в `credentials.txt`. -- `credentials.txt` добавлен в `.gitignore`. +- Локальные доступы находятся в `credentials.json`. +- `credentials.json` добавлен в `.gitignore`. - Секреты нельзя добавлять в Git, логи, экспорты или сообщения бота. ### Репозиторий и приложение @@ -57,11 +58,15 @@ Telegram-инфраструктура и первая версия бота-се - Исходное обсуждение завершается заметной отсечкой со ссылкой и хэштегом отчёта. - Локальный Git-репозиторий восстановлен и привязан к Gitea. -## Пока не сделано - ### Развёртывание -- Не настроены Docker-файлы для Synology. +- Бот постоянно запущен на Synology в контейнере `akyldash-bot`. +- Используется официальный образ `python:3.11-slim` и long polling. +- Контейнер работает без root, с read-only root filesystem и политикой `unless-stopped`. +- Код, закрытый env-файл и SQLite хранятся в `/volume1/docker/akyldash`. + +## Пока не сделано + - Не настроен CI/CD. ### Хранилище @@ -86,7 +91,7 @@ Telegram-инфраструктура и первая версия бота-се ## Важные неизвестные -Перед реализацией постоянного развёртывания нужно получить или принять решения по следующим вопросам: +Для следующего этапа нужно получить или принять решения по следующим вопросам: 1. Адрес и параметры PostgreSQL для разработки и Synology. 2. Правила хранения и удаления сообщений и вложений. @@ -94,15 +99,13 @@ Telegram-инфраструктура и первая версия бота-се ## Следующий этап -### Проверка бота-секретаря +### Проверка постоянного запуска Рекомендуемый порядок: -1. Запустить бота с рабочими переменными окружения. -2. Отправить в разрешённую тему текст, ответ, правку сообщения и вложение. -3. Проверить `/status`, `/export 1` и `/export все`. -4. Перезапустить процесс и убедиться, что сообщения не дублируются. -5. После проверки подготовить постоянный запуск на Synology. +1. Проверить `/status` и `/export 1` из контейнера Synology. +2. Перезапустить контейнер и убедиться, что сообщения не дублируются. +3. Настроить резервное копирование `/volume1/docker/akyldash/data`. ## История изменений статуса @@ -112,6 +115,7 @@ Telegram-инфраструктура и первая версия бота-се - Технические ответы на корневое сообщение темы исключены из Markdown. - Экспорт перенесён в тему `Отчеты`, добавлены отсечки и навигационные хэштеги. - Проверена живая публикация отчёта и отсечки через Telegram Bot API. +- Бот версии `0.2.0` развёрнут в Container Manager на Synology. - Версия приложения обновлена до `0.2.0`. ### 2026-08-01 diff --git a/docs/decisions/001-mvp-boundaries-and-rules.md b/docs/decisions/001-mvp-boundaries-and-rules.md index ad2f282..b377845 100755 --- a/docs/decisions/001-mvp-boundaries-and-rules.md +++ b/docs/decisions/001-mvp-boundaries-and-rules.md @@ -65,10 +65,10 @@ Telegram позволяет запретить пользователям отп ## Инфраструктурные предпосылки -- Доступы для настройки находятся в `credentials.txt`; секреты из этого файла нельзя включать в Git, логи CI/CD, экспорт Telegram или сообщения бота. +- Доступы для настройки находятся в `credentials.json`; секреты из этого файла нельзя включать в Git, логи CI/CD, экспорт Telegram или сообщения бота. - Для проекта можно создать открытый репозиторий в Gitea. - В Gitea необходимо настроить защиту `main`: прямые push запрещены, изменения проходят через pull request и проверки CI/CD. -- Развёртывание бота планируется на Docker-инфраструктуре Synology. +- Бот развёрнут в Container Manager на Synology с постоянным SQLite-томом и политикой автоперезапуска. - PostgreSQL будет использоваться как хранилище бота; параметры доступа к базе будут предоставлены отдельно. - Почта может использоваться как дополнительный канал доставки файлов и отчётов, но не как основное хранилище. -- 2.49.1