<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Self-Hosted on Tatarinov</title><link>https://blog.tatarinovms.space/categories/self-hosted/</link><description>Recent content in Self-Hosted on Tatarinov</description><generator>Hugo</generator><language>en</language><lastBuildDate>Tue, 21 Jul 2026 18:00:00 +0500</lastBuildDate><atom:link href="https://blog.tatarinovms.space/categories/self-hosted/index.xml" rel="self" type="application/rss+xml"/><item><title>Автоматическая синхронизация YouTube cookies с Podsync</title><link>https://blog.tatarinovms.space/youtubecookies/</link><pubDate>Tue, 21 Jul 2026 18:00:00 +0500</pubDate><guid>https://blog.tatarinovms.space/youtubecookies/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/youtubecookies/logo.webp" alt="logo"&gt;&lt;/p&gt;
&lt;p&gt;YouTube всё чаще требует авторизацию даже для обычного скачивания видео. У меня это проявилось в &lt;a href="https://blog.tatarinovms.ru/podsync" class="external-link" target="_blank" rel="noopener"&gt;Podsync&lt;/a&gt;, про который я писал ранее: &lt;code&gt;yt-dlp&lt;/code&gt; на сервере переставал получать ролики.&lt;/p&gt;
&lt;p&gt;Решение простое: забрать актуальные cookies из локального Firefox, перевести их в Netscape-формат, отправить на сервер и перезапустить Podsync. Чтобы не делать эти шаги вручную, я собрал маленький проект &lt;code&gt;youtube-cookies&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id="что-получилось"&gt;
 Что получилось
 &lt;a class="heading-link" href="#%d1%87%d1%82%d0%be-%d0%bf%d0%be%d0%bb%d1%83%d1%87%d0%b8%d0%bb%d0%be%d1%81%d1%8c"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Проект лежит в &lt;code&gt;~/Documents/scripts/youtube-cookies/&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>OpenChamber: веб-морда для OpenCode на DietPi</title><link>https://blog.tatarinovms.space/openchamber/</link><pubDate>Fri, 17 Jul 2026 18:00:00 +0500</pubDate><guid>https://blog.tatarinovms.space/openchamber/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/openchamber/logo.webp" alt="logo"&gt;&lt;/p&gt;
&lt;p&gt;OpenChamber — это веб-интерфейс для агента OpenCode. В этой заметке я опишу, как поднять его на домашнем сервере с DietPi и получить доступ к веб-морде из любой точки через Tailscale.&lt;/p&gt;
&lt;h2 id="зачем-это-нужно"&gt;
 Зачем это нужно
 &lt;a class="heading-link" href="#%d0%b7%d0%b0%d1%87%d0%b5%d0%bc-%d1%8d%d1%82%d0%be-%d0%bd%d1%83%d0%b6%d0%bd%d0%be"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;OpenCode из коробки — это терминальный агент, да у него есть своя мордашка, но она страшная. OpenChamber добавляет к нему веб-морду: удобный UI, управление сессиями и просмотр того, что делает агент, прямо из браузера. Также он дает например удобную консоль. Связка «DietPi-сервер + Tailscale» позволяет держать агента дома, не открывая порты в интернет.&lt;/p&gt;</description></item><item><title>Navidrome — свой музыкальный стриминговый сервер на DietPi</title><link>https://blog.tatarinovms.space/navidrome/</link><pubDate>Fri, 06 Mar 2026 18:30:00 +0500</pubDate><guid>https://blog.tatarinovms.space/navidrome/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/navidrome/logo.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Ввиду недавних изменений на стриминговых платформах, давно хотел иметь свою собственную музыкальную библиотеку, к которой можно получить доступ с любого устройства. У меня конечно уже стоит &lt;a href="https://jellyfin.org/" class="external-link" target="_blank" rel="noopener"&gt;Jellyfin&lt;/a&gt;, но хотелось отдельного решения для музыки. Остановился на &lt;a href="https://www.navidrome.org/" class="external-link" target="_blank" rel="noopener"&gt;Navidrome&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id="почему-navidrome"&gt;
 Почему Navidrome?
 &lt;a class="heading-link" href="#%d0%bf%d0%be%d1%87%d0%b5%d0%bc%d1%83-navidrome"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Navidrome — это лёгкий и быстрый сервер для стриминга музыки с поддержкой Subsonic API. Написан на Go, использует SQLite в качестве базы данных и потребляет минимум ресурсов.&lt;/p&gt;</description></item><item><title>Podsync — скачивание подкастов из YouTube</title><link>https://blog.tatarinovms.space/podsync/</link><pubDate>Sun, 16 Nov 2025 14:04:00 +0500</pubDate><guid>https://blog.tatarinovms.space/podsync/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/podsync/logo.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;Podsync — маленький проектик на go, который преобразует каналы с YouTube или Vimeo в обычные подкаст-фиды (RSS). Идея проста: у меня есть каналы, которые я больше слушаю, чем смотрю, и мне хотелось бы делать это в моём подкаст-приёмнике. Гайд будет на Debian-based системы.&lt;/p&gt;
&lt;h2 id="как-это-работает"&gt;
 Как это работает
 &lt;a class="heading-link" href="#%d0%ba%d0%b0%d0%ba-%d1%8d%d1%82%d0%be-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d0%b0%d0%b5%d1%82"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Принцип работы Podsync довольно простой:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;В конфиге прописываем каналы&lt;/li&gt;
&lt;li&gt;Podsync по расписанию проверяет обновления&lt;/li&gt;
&lt;li&gt;Скачивает новые видео через yt-dlp и конвертирует их в аудио в MP3 через ffmpeg или оставляет видео. Тут уж как хотите.&lt;/li&gt;
&lt;li&gt;Генерирует RSS-фид, доступный по HTTP/HTTPS&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Вы просто добавляете ссылку вида &lt;code&gt;https://your-domain.com/feed_id.xml&lt;/code&gt; в подкаст-клиент — и всё работает.&lt;/p&gt;</description></item><item><title>DietPi - минималистичный Linux</title><link>https://blog.tatarinovms.space/dietpi/</link><pubDate>Tue, 13 May 2025 17:57:16 +0500</pubDate><guid>https://blog.tatarinovms.space/dietpi/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/dietpi/logo.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;DietPi отличается крайне малым размером образа (менее 500 МБ) и низким использованием оперативной памяти и процессора. И что самое приятное с большим количеством &amp;ldquo;преднастроенных сервисов&amp;rdquo; и собственных CLI утилит.&lt;/p&gt;
&lt;p&gt;Список предустановленных утилит:&lt;/p&gt;
&lt;table&gt;
	&lt;thead&gt;
			&lt;tr&gt;
					&lt;th&gt;Команда&lt;/th&gt;
					&lt;th&gt;Назначение&lt;/th&gt;
			&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tbody&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-launcher&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Единая точка входа в инструменты DietPi через меню&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-config&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Сетевые параметры, аудио, регион, CPU, журналирование и др.&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-software&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Установка и управление более чем 200 приложениями&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-update&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Обновление системы и утилит DietPi&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-backup&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Создание и восстановление резервных копий&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-sync&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Односторонняя синхронизация папок&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-cleaner&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Очистка системы от кэша и мусора&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-logclear&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Очистка логов системы&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-drive_manager&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Управление подключёнными накопителями&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-services&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Включение/отключение и перезапуск служб&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-autostart&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Настройка программ, запускаемых при старте системы&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-wifidb&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;База данных известных Wi-Fi сетей (если используется Wi-Fi)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-cron&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Упрощённое управление cron-заданиями&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-led_control&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Управление индикаторными LED (если поддерживаются устройством)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-nordvpn&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Быстрая настройка VPN-клиента через NordVPN&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-vpn&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Поддержка других OpenVPN/WirGuard-клиентов&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-optimal_mtu&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Автоматический подбор оптимального MTU-сетевого значения&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-letsencrypt&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Настройка HTTPS-сертификатов через Let&amp;rsquo;s Encrypt&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-ddns&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Поддержка Dynamic DNS провайдеров&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-banner&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Настройка приветственного баннера в терминале&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-display&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Управление выводом на экран (если поддерживается)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-justboom&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Настройка аудиоплат JustBoom и аналогичных DAC&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-benchmark&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Тестирование производительности CPU, RAM и накопителя&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-cloudshell&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Графическое отображение состояния системы в терминале&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-explorer&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Файловый менеджер на базе Midnight Commander&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-morsecode&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Световая передача IP-адреса устройства на LED (в виде азбуки Морзе)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-survey&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Анонимная статистика использования (можно отключить)&lt;/td&gt;
			&lt;/tr&gt;
			&lt;tr&gt;
					&lt;td&gt;&lt;code&gt;dietpi-bugreport&lt;/code&gt;&lt;/td&gt;
					&lt;td&gt;Утилита для сбора и отправки отчётов о проблемах&lt;/td&gt;
			&lt;/tr&gt;
	&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Почти все утилиты можно запускать как из &lt;code&gt;dietpi-launcher&lt;/code&gt;, так и напрямую.&lt;/p&gt;</description></item><item><title>Uptime Kuma – мониторинг ваших сервисов</title><link>https://blog.tatarinovms.space/uptime/</link><pubDate>Sun, 28 Jul 2024 16:26:26 +0500</pubDate><guid>https://blog.tatarinovms.space/uptime/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/uptime/logo.webp" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Uptime Kuma&lt;/strong&gt; — это легковесный open-source инструмент для отслеживания состояния сервисов, сайтов, Docker-контейнеров и даже домашних устройств. После тестирования в локальной среде могу сказать, что он отлично подходит как для небольших задач, так и для более сложных сценариев.&lt;/p&gt;
&lt;p&gt;Интеграция с Telegram позволяет удобно получать уведомления при падении сервисов.&lt;/p&gt;
&lt;h2 id="предварительные-требования"&gt;
 Предварительные требования
 &lt;a class="heading-link" href="#%d0%bf%d1%80%d0%b5%d0%b4%d0%b2%d0%b0%d1%80%d0%b8%d1%82%d0%b5%d0%bb%d1%8c%d0%bd%d1%8b%d0%b5-%d1%82%d1%80%d0%b5%d0%b1%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d1%8f"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Перед началом установки убедитесь, что на вашей системе установлены следующие компоненты:&lt;/p&gt;</description></item><item><title>Vaultwarden - свой сервер для Bitwarden клиента</title><link>https://blog.tatarinovms.space/vaultwarden/</link><pubDate>Tue, 23 Apr 2024 17:57:16 +0500</pubDate><guid>https://blog.tatarinovms.space/vaultwarden/</guid><description>&lt;p&gt;&lt;img src="https://blog.tatarinovms.space/images/posts/vaultwarden/logo.webp" alt=""&gt;&lt;/p&gt;
&lt;h3 id="предыстория"&gt;
 Предыстория
 &lt;a class="heading-link" href="#%d0%bf%d1%80%d0%b5%d0%b4%d1%8b%d1%81%d1%82%d0%be%d1%80%d0%b8%d1%8f"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Давно уже не помню пароли для своих сервисов. И помог мне в этом освобождении памяти — Bitwarden. &lt;a href="https://bitwarden.com/" class="external-link" target="_blank" rel="noopener"&gt;Битводен&lt;/a&gt; – это многофункциональный с открытым исходным кодом, менеджер паролей.&lt;/p&gt;
&lt;p&gt;Из плюсов этого решения:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;кроссплатформенность: МакОсь, Виндовс, Линукс, айОС, Андройд, екстешены для браузеров, и даже консольный клиент&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;интеграции с &lt;a href="https://www.raycast.com/" class="external-link" target="_blank" rel="noopener"&gt;рейкастом&lt;/a&gt; и &lt;a href="https://www.alfredapp.com/" class="external-link" target="_blank" rel="noopener"&gt;Альфредом&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;2х факторка и для него и внутри можно TOTP хранить&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;автозаполнение форм&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;генерация паролей по правилам&lt;/p&gt;</description></item></channel></rss>