Remembos: install app

This commit is contained in:
2026-02-12 20:27:10 +03:00
parent e427422253
commit 254edf1e45
7 changed files with 424 additions and 161 deletions

View File

@@ -0,0 +1,125 @@
# =============================================================================
# Remembos — конфигурация
# =============================================================================
# Скопируйте этот файл в config.toml и заполните значения.
# =============================================================================
# Подключение к Memos
# =============================================================================
[memos]
# Адрес инстанса Memos, включая протокол.
# Пример: "https://memos.example.com"
url = "http://memos_app:5230"
# Токен доступа к API.
# Создаётся в Memos: Settings → Access Tokens.
token = "{{ remembos_memos_token }}"
# Публичный адрес Memos (для ссылок на оригинальные заметки).
# Если Memos и Remembos развёрнуты на одном сервере, внутренний адрес (url)
# может отличаться от публичного. Если не указан — используется url.
# Пример: "https://memos.example.com"
public_url = "https://memos.vakhrushev.me"
# =============================================================================
# База данных (SQLite)
# =============================================================================
[database]
# Путь к файлу базы данных SQLite.
# В ней хранится история показов и кэш запросов.
# Если файл не существует — будет создан автоматически.
path = "/data/remembos.db"
# =============================================================================
# Алгоритм поиска воспоминаний
# Подробное описание: spec/SEARCH.md
# =============================================================================
[search]
# Минимальное количество дней, прежде чем одна и та же заметка
# может быть показана повторно. Чем больше значение, тем реже
# будут повторяться воспоминания, но при малом количестве заметок
# это может привести к ситуации, когда нечего показать.
cooldown_days = 90
# Ослабленный cooldown: используется как fallback, если с основным
# cooldown не удалось найти ни одного кандидата.
relaxed_cooldown_days = 30
# Максимальное количество заметок, запрашиваемых у Memos за один запрос.
# Влияет на размер пула кандидатов внутри каждого уровня поиска.
page_size = 50
# Насколько далеко в прошлое искать воспоминания (в годах).
# Например, 10 означает поиск заметок за последние 10 лет.
max_years_back = 10
# Предпочитать более старые воспоминания при выборе из кандидатов.
# Если true — заметки из далёкого прошлого получают более высокий вес.
# Если false — все кандидаты внутри уровня равноценны.
prefer_older = true
# Веса уровней поиска (в процентах, сумма должна быть 100).
# Определяют вероятность выбора каждого уровня при поиске.
#
# Tier 1 — точная дата в прошлые годы (самое ценное совпадение)
# Tier 2 — тот же день месяца в прошлые месяцы
# Tier 3 — та же неделя (±3 дня) в прошлые годы
# Tier 4 — тот же месяц в прошлые годы
# Tier 5 — тот же квартал в прошлые годы
# Tier 6 — то же полугодие в прошлые годы
# Tier 7 — недавнее прошлое (от 2 до 6 месяцев назад)
[search.tier_weights]
tier1 = 35
tier2 = 15
tier3 = 15
tier4 = 12
tier5 = 10
tier6 = 5
tier7 = 8
# =============================================================================
# Telegram-бот
# =============================================================================
[telegram]
# Включить Telegram-бот для ежедневной отправки воспоминаний.
enabled = true
# Токен бота, полученный от @BotFather.
token = "{{ remembos_telegram_token }}"
# ID чата, в который бот отправляет воспоминания.
# Можно узнать через @userinfobot или из логов бота при первом сообщении.
chat_id = {{ remembos_telegram_chat_id }}
# Время ежедневной отправки воспоминания (формат HH:MM).
# Используется часовой пояс, указанный в параметре timezone.
send_at = "09:00"
# =============================================================================
# Веб-приложение
# =============================================================================
[web]
# Адрес и порт, на котором запускается веб-сервер.
listen = "0.0.0.0:8080"
# =============================================================================
# Общие настройки
# =============================================================================
[general]
# Часовой пояс для определения «сегодняшнего дня» и времени отправки.
# Формат — IANA (например, "Europe/Moscow", "Asia/Yekaterinburg").
timezone = "Europe/Moscow"
# Уровень логирования: debug, info, warn, error.
log_level = "info"
# Разрешить загрузку дополнительных воспоминаний (кнопка на веб-странице, /more в Telegram).
# Полезно для тестирования. Каждое загруженное воспоминание записывается в историю показов.
allow_load_more = true