Commit Graph
372 Commits
Author SHA1 Message Date
av 26d9a98b8a Bifrost: update to 2.2.0 2026-09-17 09:01:25 +03:00
av c9c5ea74fd Netdata: update to 2.11.1 2026-09-17 09:01:24 +03:00
av aba2c9401a Wakapi: update to 2.18.0 2026-09-17 09:01:22 +03:00
av 763274213a Authelia: update to 4.39.27 2026-09-17 09:01:20 +03:00
av 2759f6de3d Tududi: update to 1.5.0 2026-09-17 08:45:10 +03:00
av da109bb5be Dozzle: update to 11.1.0
Linting / YAML Lint (push) Canceled after 0s
Linting / Ansible Lint (push) Canceled after 0s
2026-09-15 19:52:32 +03:00
av e9b6a23886 gramps: почта отправляется через STARTTLS
Linting / YAML Lint (push) Canceled after 0s
Linting / Ansible Lint (push) Canceled after 0s
2026-09-14 19:59:25 +03:00
av a7a886e19d Gramps: update to 26.9.0 2026-09-14 19:59:24 +03:00
av 4a98118c48 Tuwunel: update to 1.9.1 2026-09-14 19:59:22 +03:00
av af92587878 Outline: update to 1.10.1 2026-09-14 19:59:21 +03:00
av 2c0c3e9c6f Dozzle: update to 11.0.1 2026-09-14 19:59:20 +03:00
av b5c29abbce Dashboard: update to 2.3.0 2026-09-14 19:59:18 +03:00
av ff49f3e886 Authelia: update to 4.39.26 2026-09-14 19:59:17 +03:00
av 9d6fe68c97 Apprise: update to 1.5.4 2026-09-14 19:59:15 +03:00
av 711606c51e diet: кеш переведён на одну секцию [cache] с общим каталогом
- приложение само заводит cache/images и cache/cleanup, плейбук больше не создаёт images
2026-09-14 19:58:28 +03:00
av 5b0a7663ca diet: удалён комментарий про замер времени ответа у composition
- замер снимался со старой модели и к нынешней отношения не имеет
2026-09-11 10:00:53 +03:00
av 1e0636f826 diet: комментарий про имя модели приведён в соответствие с конфигом Bifrost
- в config.toml пишется точная пара провайдер/модель, алиасов и routing_rules у Bifrost нет
2026-09-11 10:00:10 +03:00
av e281082a66 diet: распознавание и сведение переведены на bothub/gemini-3.8-flash
- обе секции llm ходят в одну модель вместо разных, комментарии
  переписаны под именование моделей через Bifrost
- обновлены секреты в group_vars/all/secrets.yml
2026-09-11 09:57:17 +03:00
av 4ec0ea11b6 dashboard: siteMonitor dozzle переведён на /healthcheck
- корень dozzle за forward-proxy отдаёт 401 без заголовков Authelia,
  из-за чего сервис показывался недоступным и сорил ошибками в логах
2026-09-11 09:55:30 +03:00
av eefd476761 Dozzle: update to 11.0.0
- контейнер запускается от своего пользователя, доступ к docker.sock
  через дополнительную группу docker
- добавлен data/ под /data, он же попадает в backup-targets
2026-09-11 09:54:33 +03:00
av 7aa8276f13 Bifrost: update to 2.1.1 2026-09-09 17:01:18 +03:00
av 05cc1125b3 Bifrost: update to 2.1.0 2026-09-09 13:58:58 +03:00
av 3364f812c0 Dozzle: update to 10.10.0
Linting / YAML Lint (push) Canceled after 0s
Linting / Ansible Lint (push) Canceled after 0s
2026-09-06 17:37:33 +03:00
av 560fd2cc66 deps: ruff обновлён до 0.16, код приведён к новому набору правил
- в 0.16 расширился набор правил по умолчанию: 29 срабатываний там, где 0.15
  давал "All checks passed"
- subprocess.run без явного check (PLW1510) — проставлен check=False там, где
  код и так разбирает returncode сам
- слепые except Exception в оркестраторе бэкапов и скриптах помечены
  noqa: BLE001 с объяснением, почему перехват намеренно широкий
- EXE001 и TRY004 отключены в pyproject: бит исполняемости в репозитории
  ничего не решает, а ValueError при разборе config.toml — про содержимое
  конфига, а не про тип аргумента
- ruff format в 0.16 форматирует python внутри markdown, из-за чего
  переформатирован пример в docs/drafts/gitea-runner-on-demand.md
2026-09-06 17:33:22 +03:00
av b9e9dbafe0 Tududi: update to 1.4.2
Linting / YAML Lint (push) Canceled after 0s
Linting / Ansible Lint (push) Canceled after 0s
2026-09-06 12:01:13 +03:00
av 29485acc5f diet: срок распознавания поднят до двух минут
- первый вызов после простоя занял 65,9 с и был оборван минутным умолчанием,
  следующие уложились в 6–10 с
- по журналу запросов шлюза попытка была одна: 65,5 с ждал провайдер,
  накладные шлюза 0,46 с
2026-09-06 12:00:42 +03:00
av 8e1d5f8112 diet: заведён плейбук, периметр и бэкапы
- playbook-diet.yml и files/diet: образ через app_image, uid=gid=1111,
  каталоги config/data/cache, backup-targets со строкой data/
- блок сайта в Caddy разделён: /api/* идёт мимо Authelia под собственную
  аутентификацию, клиентские Remote-* срезаются на уровне сайта
- правило Authelia one_factor без subject: пользователи шире группы admins
2026-09-06 11:50:40 +03:00
av 41284ed33f bifrost: добавлен провайдер bothub и срок хранения логов
- bothub заведён custom-провайдером (base_provider_type openai, адрес без /v1):
  из него ходит diet, нативному DeepSeek снимки еды не по силам
- client.log_retention_days = 30: тело запроса пишется в logs.db целиком,
  снимок в 2500 px даёт запись около 911 КБ
2026-09-06 11:50:29 +03:00
av 3b46b97f47 Outline: update to 1.10.0
Linting / YAML Lint (push) Canceled after 0s
Linting / Ansible Lint (push) Canceled after 0s
2026-09-02 08:58:53 +03:00
av b3711c73b2 Dozzle: update to 10.9.0 2026-09-02 08:58:51 +03:00
av d7ff264c22 Dashboard: update to 2.2.0 2026-09-02 08:58:49 +03:00
av 320437ac7c dashboard: переменные homepage_* переименованы в dashboard_*
Linting / YAML Lint (push) Canceled after 0s
Linting / Ansible Lint (push) Canceled after 0s
Имена пересекались с неймспейсом отдельного сервиса homepage на apex-домене
2026-08-31 10:35:40 +03:00
av 47af9eba6a wanderer: удалена мёртвая ветка бэкапа через gobackup
- gobackup.template.yml и backup.template.sh не применялись: плейбук сам
  удалял backup.sh, а бэкап давно идёт через backup-targets
- шаблон gobackup остался копипастой от gramps, с его путями в комментариях
- задача удаления легаси-файлов оставлена, чтобы снять их с сервера
2026-08-31 10:35:37 +03:00
av c8b3ef4aa0 apprise: заведён бандл alerts, netdata снова доставляет уведомления
- netdata слал в бандл server, удалённый при переименовании в backups,
  и все health-алерты уходили в 404
- бандлы теперь рендерятся циклом: backups для отчётов backup-all.py,
  alerts для netdata
2026-08-31 10:33:13 +03:00
av 1dc0bdd2af wakapi: имя gobackup-модели исправлено с gramps на wakapi
Имя модели попало в шаблон копипастой от gramps, из-за чего архивы
бэкапа wakapi лежали под именем gramps.*
2026-08-31 10:33:11 +03:00
av e3e5808599 memos: исправлена ссылка на список версий в compose 2026-08-31 10:18:53 +03:00
av 068c1b1d5a Bifrost: update to 2.0.0
Linting / YAML Lint (push) Canceled after 0s
Linting / Ansible Lint (push) Canceled after 0s
2026-08-31 09:46:18 +03:00
av fdbcf2f149 Apprise: update to 1.5.3 2026-08-31 09:31:33 +03:00
av f43d518f16 Gramps: update to 26.8.1 2026-08-31 09:31:31 +03:00
av 6e6c801e65 Gitea: update to 1.27.3 2026-08-31 09:31:30 +03:00
av 3773503dc3 Dozzle: update to 10.8.0 2026-08-31 09:31:28 +03:00
av 70372ee028 caddyproxy: HSTS для всех сайтов и мелкий хардненинг
- сниппет access_log переименован в common, туда добавлен заголовок
  Strict-Transport-Security на год; без includeSubDomains — под
  vakhrushev.me есть имена не с этого сервера
- у edge-контейнера убрана capability NET_ADMIN, reverse-proxy её не требует
- убран leftover-листенер :29999 у status.vakhrushev.me
- задача caddy-hardening-nits удалена из беклога
2026-08-22 19:14:34 +03:00
av 6bb0d61183 caddyproxy: admin API закрыт на loopback, метрики вынесены на :2020
- `admin :2019` слушал всю web_proxy_network: любой контейнер мог POST-ом в
  /config/ переписать маршрутизацию и снять forward_auth. Теперь
  `admin localhost:2019`.
- Метрики для netdata отдаёт отдельный site-блок `http://:2020 { metrics
  /metrics }`, netdata скрейпит новый порт.
- Порт для метрик именно 2020, а не 2019, как предлагала задача: сайт на :2019
  перехватывает IPv6-петлю (admin висит только на IPv4), из-за чего
  `caddy reload` внутри контейнера возвращает 0 и молча ничего не применяет —
  проверено на caddy:2.11.4.
2026-08-22 17:44:08 +03:00
av 304263e7b1 authelia: уровень логов понижен с debug до info
- debug-логи содержат детали аутентификации, имена пользователей и внутренности
  OIDC-потоков — в обычной эксплуатации не нужны, а через docker logs/dozzle это
  лишняя поверхность утечки.
- Задача убрана из беклога.
2026-08-22 17:38:56 +03:00
av 25886d1be0 miniflux: /metrics закрыт снаружи в Caddy
- METRICS_ALLOWED_NETWORKS не помогает: за прокси Miniflux видит IP Caddy,
  а netdata скрейпит по той же web_proxy_network — по IP их не различить
- задача убрана из беклога
2026-08-22 17:35:00 +03:00
av b9be642c5c gitea: ветка по умолчанию в новых репозиториях — master 2026-08-22 17:29:22 +03:00
av 9c75a52529 Dashboard: update to 2.1.2
Мажорное обновление homepage. Единственное ломающее изменение 2.0.0 —
встроенная аутентификация, она включается только через HOMEPAGE_AUTH_ENABLED,
так что дашборд остаётся за Authelia как прежде.
2026-08-22 13:39:01 +03:00
av a909442d8f образы приложений прописаны в docker-compose явно
- dashboard и wanderer брали имя образа и версию из переменных плейбука;
  теперь, как у остальных сервисов, они видны прямо в compose
- переменные homepage_image и wanderer_version удалены за ненадобностью
2026-08-22 13:38:36 +03:00
av 6ff11061d9 apprise: бандл server переименован в backups, telegram убран
Linting / YAML Lint (push) Canceled after 0s
Linting / Ansible Lint (push) Canceled after 0s
- имя отражает единственный источник уведомлений — скрипт бэкапа;
  плейбук удаляет с сервера прежний server.cfg, иначе он остался бы
  рабочим конфигом со старыми секретами
- канал tgram:// удалён, уведомления идут на почту и в matrix
2026-08-22 12:38:34 +03:00
av a9d9eb8d83 apprise: уведомления дублируются в matrix-комнату
Linting / YAML Lint (push) Canceled after 0s
Linting / Ansible Lint (push) Canceled after 0s
- в бандл server добавлен канал matrix; в homeserver ходим по внутренней
  docker-сети, для этого у tuwunel заведён алиас без подчёркивания
- плейбук проверяет формат id комнаты: значение без '!' или '#' apprise
  считает алиасом и молча не доставляет уведомление
2026-08-22 12:28:01 +03:00