2bf618d105ca033315b83a43aa41e0ea74a79e6b
Базовый пакет imagemagick в alpine идёт без кодеков, поэтому magick не мог прочитать jpeg-вложение и падал с "exit status 1". Ставим imagemagick-jpeg, -heic, -webp, -tiff. Чтобы такое было видно из логов: runMagick подставляет stderr в ошибку и отдельно ловит "код выхода 0, но пустой вывод" (так magick ведёт себя без кодека на запись), а веб логирует формат, размеры до и после, время скачивания и ресайза. Если ресайз всё же не удался, отдаём оригинал вместо 502; в кэш не кладём записи больше 4 МБ, чтобы неужатые оригиналы не съели память. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Remembos
Проект для получения прошлых заметок из сервиса Memos (https://github.com/usememos/memos), чтобы они были как воспоминания о прошлых событиях.
Проект состоит из двух частей:
- Telegram Bot. Бот, который каждый день присылает одно воспоминание
- web-сервис с одной страницей, где можно увидеть одно воспоминание
Спецификации
Сборка и деплой
Команды проекта — через Task, список: task --list.
Деплоем занимается плейбук playbook-remembos.yml в pet-project-server:
роль app_image собирает образ локально этим репозиторием и везёт его на
сервер через docker save/load — реестр не участвует.
Контракт роли — задача image: она получает BUILD_ID через окружение и
собирает remembos:$BUILD_ID. Без переменной (task image) собирается
remembos:dev для локальной работы.
Стек
- Go — основной язык
- SQLite — хранение истории показов и кэша запросов
- Memos API — источник заметок
Настройки
Memos
Исходный код в директории memos-source
Справка API: https://usememos.com/docs/api