Гид по технологиям

Установка и настройка Misskey на Raspberry Pi

10 min read Самохостинг Обновлено 17 Dec 2025
Misskey на Raspberry Pi: установка и настройка
Misskey на Raspberry Pi: установка и настройка

люди празднуют, силуэты

Социальные сети и микроблоги — ключ к созданию онлайн‑сообщества. Крупные корпоративные сервисы, такие как Threads и Twitter, подходят для набора десятков тысяч подписчиков, а Fediverse ориентирован на человеческие, более управляемые беседы.

Misskey — это платформа для создания собственной социальной зоны в сети с возможностями облачного хранения для учётных записей и федеративной совместимости через ActivityPub.

Что такое Misskey

главная страница Misskey с японскими символами и персонажем в стиле аниме

Fediverse — это сеть взаимосвязанных инстансов (отдельных серверов), которые могут работать как самостоятельные социальные платформы или федеративно общаться друг с другом. Все серверы Fediverse опираются на протокол ActivityPub. Наиболее распространённый тип — Mastodon, но Misskey предлагает альтернативу с более гибким пользовательским интерфейсом, богатой кастомизацией и встроенным облачным хранилищем для пользователей.

Misskey родом из Японии, интерфейс и оформление зачастую ближе к стилю аниме, что подчёркивает дружелюбную визуальную идентичность, но это не влияет на функциональность: Misskey — активно развиваемое ПО с открытым исходным кодом и полностью совместимое с Fediverse.

Ключевые характеристики Misskey:

  • Совместимость с ActivityPub и остальным Fediverse.
  • Расширяемость через плагины и темы.
  • Встроенное облачное хранилище для медиафайлов.
  • Гибкие настройки модерации и правила сервера.

Перед началом: что нужно подготовить

Важно подготовить следующее перед установкой:

  • Raspberry Pi с установленной ОС Raspberry Pi OS (рекомендуется 64‑битная версия). Минимум 2‑4 ГБ ОЗУ для комфортной работы; для больших инстансов — 8+ ГБ.
  • Доступ по SSH к Raspberry Pi.
  • Доменное имя и доступ к панели DNS регистратора.
  • Установленные Apache2 и Certbot (или возможность установить их).
  • Установленный Docker и Docker Compose (рекомендуется последняя версия Docker Compose v2+).
  • Резервные носители или удалённые бэкапы для данных.

Примечание: в этом руководстве описан подход с Docker Compose — он изолирует Misskey от остальных сервисов и упрощает обновления.

Настройка DNS для домена

Зайдите в панель регистратора домена, откройте расширенные параметры DNS и добавьте A‑запись:

  • Host: @
  • Value: ваш публичный IP (или IP вашего маршрутизатора, если вы используете проброс портов)
  • TTL: минимально возможное значение (обычно 300 секунд)

Если вы используете динамический IP, настройте DDNS или сервис динамической перепривязки домена.

Важно: для публичного доступа потребуется проброс портов на маршрутизаторе — перенаправьте HTTP/HTTPS порты на ваш Raspberry Pi.

Установка Docker и Docker Compose

Если Docker ещё не установлен, выполните стандартную установку Docker на Raspberry Pi. После этого установите Docker Compose вручную, если версия в репозитории устарела.

Пример установки Docker Compose (v2) через плагин Docker:

sudo apt update && sudo apt install -y ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/raspbian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/raspbian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

# Проверка
sudo docker version
sudo docker compose version

Если вы предпочитаете установку через pip или статический бинарник — используйте проверенный источник и официальную документацию.

Важно: запускать Docker от root не нужно — добавьте своего пользователя в группу docker, если хотите запускать без sudo:

sudo usermod -aG docker $USER
newgrp docker

Клонирование репозитория Misskey и подготовка конфигурации

Первым шагом клонируйте репозиторий и перейдите в каталог проекта:

git clone -b master https://github.com/misskey-dev/misskey.git && cd misskey

Misskey предоставляет примеры конфигурационных файлов. Скопируйте их в рабочие версии:

cp .config/docker_example.yml .config/default.yml
cp .config/docker_example.env .config/docker.env
cp ./docker-compose.yml.example ./docker-compose.yml

Отредактируйте файл docker.env — в нём содержатся учётные данные для PostgreSQL (имя пользователя, пароль, имя базы данных):

nano .config/docker.env

Смените значения на запоминаемые и безопасные строки. Сохраните Ctrl+O, выйдите Ctrl+X.

Затем откройте default.yml и укажите адрес вашего домена в разделе Final accessible URL, добавив префикс https://:

nano .config/default.yml

Найдите секцию PostgreSQL configuration и введите те же учётные данные, что в docker.env.

Примечание: по умолчанию Misskey слушает на порту 3000. Если порт занят, отредактируйте docker-compose.yml и замените порт на свободный.

Построение образов и инициализация базы данных

Соберите контейнеры и инициализируйте базу данных:

sudo docker compose build
sudo docker compose run --rm web pnpm run init

Время выполнения может быть несколько минут; процесс выполняет сборку JS/CSS и миграции базы данных.

После инициализации нужно дать правильные права на папку с файлами (media):

sudo chown -hR 991.991 ./files

Если не выполнить эту команду, при попытке загрузки изображений может появиться внутренняя ошибка с кодом вида 5d37dbcb-891e-41ca-a3d6-e690c97775ac.

Запустите контейнеры в фоновом режиме:

docker compose up -d

Через несколько минут инстанс должен быть доступен по адресу http://ваш-ip:3000 или по домену после настройки прокси.

Для просмотра логов используйте:

docker compose logs -f web

Для упрощённого мониторинга контейнеров установите lazydocker (опционально).

клонирование Misskey и копирование конфигураций

Настройка обратного прокси и HTTPS через Apache

Чтобы сделать Misskey доступным по домену и подключить TLS, используйте Apache как обратный прокси.

Создайте конфигурацию сайта:

cd /etc/apache2/sites-available && sudo nano misskey.conf

Вставьте конфигурацию, указав ваш домен вместо muo.lol и, при необходимости, скорректировав порт:


    ServerName muo.lol

    ProxyPass / http://127.0.0.1:3000/
    ProxyPassReverse / http://127.0.0.1:3000/
    ProxyPreserveHost On

Сохраните файл и активируйте сайт:

sudo a2ensite misskey.conf
sudo service apache2 restart

Запустите Certbot для получения TLS‑сертификата и автоматического обновления:

sudo certbot --apache

Выберите домен в списке, следуйте подсказкам Certbot, затем перезапустите Apache:

sudo service apache2 restart

После этого ваш инстанс будет доступен по https://ваш-домен и защищён от MITM‑атак.

docker-compose ps: Misskey стартует

Важно: если используете Nginx вместо Apache — настройте аналогичный обратный прокси и обновите правила ProxyPass.

Создание учётной записи администратора

создание администратора Misskey

Откройте браузер и перейдите по вашему домену. Создайте администратора, задайте надёжный пароль. Формат имени пользователя: @user@your-misskey-instance.tld — вы можете изменить только часть before first @.

Во время первого входа произойдёт мастер создания профиля — можно отложить, но рекомендуется заполнить имя, биографию и аватар, чтобы пользователи понимали, кому принадлежит инстанс.

Misskey предложит опции приватности: подтверждение подписчиков, индексация поисковыми системами, флаг запрета обучения ИИ и скрытие статуса онлайн. Настройки можно изменить в любой момент в панели управления.

Настройка и кастомизация инстанса

интерфейс Misskey

Административные настройки находятся в Control Panel на левой панели навигации.

Ключевые разделы:

  • Dashboard — статистика: активные пользователи, локальные/федеративные связи, метрики.
  • Branding — логотипы, баннеры, фоновые изображения, темы.
  • Custom Emoji — загрузка пользовательских наборов эмодзи.
  • Settings > General — имя инстанса, описание, контакты мейнтейнера, кэширование удалённых файлов.
  • Moderation — правила регистрации, капча, подтверждение почты.

Советы по брендингу: используйте единый стиль и баннер, добавьте читаемое описание, чтобы люди понимали цель инстанса.

Политики модерации и правила сервера

настройка правил сервера Misskey

Обязательно создайте базовые правила сервера в разделе Server Rules: приемлемый контент, политика блокировок, порядок обжалования решений модерации. Это упрощает модерацию и повышает прозрачность.

Рекомендуемые пункты правил:

  • Запрещённый контент (насилие, призывы к ненависти, явное нарушение закона).
  • Процедура подачи жалобы.
  • Порядок временных и постоянных блокировок.
  • Правила для имен, аватаров и ссылок.

Можно также добавить подробные Terms of Service и политику приватности.

Безопасность и жёсткая настройка

Важно обезопасить инстанс и данные пользователей. Рекомендации:

  • HTTPS всегда включён через Certbot. Настройте автоматическое обновление сертификатов.
  • Используйте брандмауэр (ufw) — откройте только нужные порты (80, 443, SSH по нестандартному порту или через VPN):
sudo apt install ufw
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
  • Включите автоматические обновления безопасности или регулярно применяйте apt update/upgrade.
  • Установите fail2ban для защиты SSH и панели администратора.
  • Ограничьте регистрацию новых пользователей, если железо Raspberry Pi перегружается.
  • Храните секреты (пароли, ключи) в .env вне публичного репозитория и делайте бэкапы.
  • Разграничивайте права доступа: файлы — владелец 991, база — отдельный пользователь.

Резервное копирование

Регулярно бэкапьте:

  • Каталог ./files — медиафайлы.
  • Дамп PostgreSQL: используйте pg_dump внутри контейнера или через контейнерную команду.
  • Конфигурационные файлы .config.

Пример экспорта базы:

docker compose exec db pg_dump -U misskey -Fc misskey > misskey-$(date +%F).dump

Храните бэкапы вне устройства (S3, удалённый сервер, NAS).

Обновления и миграции

Процедура обновления:

  1. Сделать бэкап базы и файлов.
  2. Остановить контейнеры: docker compose down
  3. Обновить код: git pull
  4. Пересобрать контейнеры: docker compose build
  5. Выполнить миграции: docker compose run –rm web pnpm run init
  6. Запустить: docker compose up -d

Проверяйте CHANGELOG и release notes проекта перед обновлением.

Производительность и масштабирование на Raspberry Pi

Raspberry Pi подходит для небольших инстансов (несколько десятков локальных пользователей). Для увеличения нагрузки:

  • Используйте swap и расширьте раздел подкачки, но помните про износ SD‑карты — лучше SSD по USB.
  • Перенесите файловое хранилище на внешний диск или S3‑совместимое хранилище.
  • Включите кэширование удалённых файлов для снижения сетевого трафика, либо отключите, чтобы экономить диск.
  • При большом трафике рассмотрите миграцию на VM или VPS с большим объёмом ОЗУ и диска.

Плагины, темы и расширения

Misskey поддерживает плагины и темы. Устанавливайте только проверенные расширения, проверяйте совместимость с вашей версией.

  • Темы изменяют внешний вид и читаемость.
  • Плагины могут добавить интеграции, реакции, дополнительные виджеты.

Тестирование и приёмка

Критерии приёмки для корректной работы инстанса:

  • Доступность веб‑интерфейса по HTTPS.
  • Успешная регистрация локального пользователя и создание поста с изображением.
  • Корректная федерация с внешними инстансами (видимость удалённых постов).
  • Создание и загрузка пользовательских эмодзи.
  • Успешное восстановление из бэкапа на тестовой машине.

План действий при инциденте

Быстрая инструкция при аварии контейнера:

  1. Проверить логи: docker compose logs -f web
  2. Посмотреть статус контейнера: docker compose ps
  3. Проверить диск и права: df -h; ls -la ./files
  4. Если база недоступна — проверить контейнер db: docker compose logs db
  5. При неудачных запусках выполнить пересборку: docker compose down && docker compose build && docker compose up -d
  6. Если требуется откат — восстановить базу из последнего дампа и файлы медиа.

Частые проблемы и решения

  • Ошибка загрузки файлов — проверьте права (sudo chown -hR 991.991 ./files) и свободное место.
  • Проблемы при инициализации — проверьте переменные окружения в docker.env и default.yml.
  • Ошибки HTTPS — проверьте правильность ServerName в конфигурации Apache и Certbot.
  • Медленная работа — проверьте нагрузку CPU, использование swap, IO диска.

Роли и чеклист для команды

Администратор:

  • Настроить домен и HTTPS.
  • Создать администратора и заполнить профиль инстанса.
  • Настроить правила сервера и модерацию.
  • Настроить бэкапы и мониторинг.

Модератор:

  • Следить за жалобами.
  • Применять блокировки и выдавать предупреждения.
  • Поддерживать правила сообщества обновлёнными.

Технический мейнтейнер:

  • Обновлять Docker, контейнеры и плагины.
  • Проводить тестовые бэкапы и проверки восстановления.
  • Оптимизировать хранение и масштабирование.

Короткая методология развертывания

  1. Подготовить Pi и домен.
  2. Установить Docker и Docker Compose.
  3. Клонировать Misskey и скопировать конфигурации.
  4. Отредактировать .env и default.yml.
  5. Инициализировать базу и собрать контейнеры.
  6. Настроить обратный прокси и Certbot.
  7. Создать администратора и настроить политику.
  8. Настроить бэкапы и мониторинг.

Глоссарий (одно предложение)

  • Fediverse — сеть федеративных социальных сетей, объединённых протоколом ActivityPub.
  • Instance — отдельный сервер в Fediverse.
  • ActivityPub — протокол для взаимодействия между социальными инстансами.
  • Docker Compose — инструмент для описания и запуска многоконтейнерных Docker‑приложений.

Социальный превью и анонс

OG title: Misskey на Raspberry Pi — установка и настройка OG description: Подробный пошаговый гид по развёртыванию Misskey на Raspberry Pi с HTTPS, модерацией и бэкапами.

Короткое объявление (100–200 слов):

Misskey — гибкая платформа для создания вашего уголка в Fediverse. В этом руководстве вы найдёте всё: от подготовки Raspberry Pi и настройки домена до запуска Misskey в Docker, получения TLS‑сертификата через Certbot и создания администраторского аккаунта. Также описаны лучшие практики по безопасности, бэкапам, модерации и обновлениям. Подходит для небольших сообществ и хоббийных инстансов — при необходимости руководство поможет масштабировать систему или перенести её на VPS.

Заключение

Misskey — отличный выбор для тех, кто хочет создать управляемое, эстетичное и расширяемое сообщество в Fediverse. На Raspberry Pi вы сможете быстро запустить инстанс для друзей или небольшой группы, а описанные в руководстве практики обеспечат безопасность и устойчивость работы. Если Misskey не подходит по визуалу или функционалу, рассмотрите другие инстансы Fediverse, такие как Mastodon или Pleroma.

Важно: делайте регулярные бэкапы, следите за обновлениями и не допускайте открытой регистрации на слабом железе.

Критерии приёмки

  • Домен работает по HTTPS и корректно перенаправляет на Misskey.
  • Локальный пользователь может загружать медиафайлы.
  • Панель управления доступна и отображает статистику.
  • Бэкап и восстановление отработаны на тестовой машине.

Ключевые ссылки и ресурсы

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Find My Device в Windows 11 — включение и поиск
Windows

Find My Device в Windows 11 — включение и поиск

Шаблоны автоответа «Вне офиса» и практические советы
Коммуникации

Шаблоны автоответа «Вне офиса» и практические советы

Подпись в Outlook: шаблон и настройка
Почта

Подпись в Outlook: шаблон и настройка

Объединение ячеек в Excel: & и CONCAT
Excel

Объединение ячеек в Excel: & и CONCAT

Как поделиться экраном в Zoom
Видеоконференции

Как поделиться экраном в Zoom

Яркость клавиатуры MacBook Air — как изменить
Руководство

Яркость клавиатуры MacBook Air — как изменить