Skip to main content


Полезная информация для новичков

О нашем узле (entropysource.ru)
О проекте
Правила пользования сайтом

Теория
Федерация не равно Мастодон

Как пользоваться
Что такое introduction и про полезных ботов
Разбираемся с лентами записей
Оформление записей во Френдике - специфика взаимодействия с Мастодонтом
Взаимодействие с другими узлами Федерации

Углубление в Федиверс
Каталоги узлов Федерации
Боты репостеры

#Пользователям #инструкция


О проекте | About


Проект предназначен для ведения личных и тематических блогов, преимущественно на русском языке.

Является частью Федерации(Fediverse) - одним из узлов объединённых децентрализованных независимых интернет-сервисов.

Работает на основе проекта Friendica - платформе для ведения блогов и социального взаимодействия. Friendica поддерживает множество протоколов Федерации и умеет взаимодействовать со всеми его проектами, включая Hubzilla, Diaspora, Mastodon / Pleroma / Misskey и другими.

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

Регистрация на проекте открыта до тех пор, пока ресурсов сервера хватает на текущие потребности его пользователей. Перед началом использования Источника энтропии вы должны ознакомиться и принять Правила пользования.


Eng:


The project is designed for personal and thematic blogs, mainly in Russian.

It is part of the Fediverse - one of the nodes of the united decentralized independent Internet services.

Powered by the Friendica project - a platform for blogging and social interaction. Friendica supports many of Fediverse's protocols and can interact with all of Fediverse's projects, including Hubzilla, Diaspora, Mastodon / Pleroma / Misskey and more.

The project was created as a platform for self-expression, free from the imposition of social ties (as in classical social networks), advertising, surveillance and corporate dictates.

Registration on the project is open as long as the server resources are enough for the current needs of its users. Before using the Entropy Source, you must read and accept the Terms of Use.




Обновление инстанса прошло крайне весело.

Сначала не создавался бэкап, под предлогом нехватки места - пришлось повышать конфигурацию VPS на +5Gb.

После перезагрузки померла MariaDB и не стартовала, пока не потёр ib_logfile0.bak

Далее отказалась обновляться система, а именно репозиторий php - packages.sury.org/ стал возвращать 451 (Unavailable For Legal Reasons). Переключил на зеркало.

При повторном запуске резервного копирования mysqldump стал вываливаться с ошибкой "Couldn't execute 'show create table `delivery-queue`" и мне совсем не хотелось разворачивать бэкап почти суточной давности. Таблица присутствовала, однако это никак не помогало. В результате пересоздал таблицу, откопав SQL в исходниках френдики, благо там ничего критичного не должно было храниться.

Так что теперь у нас актуальная версия Friendica 'Yellow Archangel' 2024.03 - 1557

Очень залипательная тамагоча этот ваш сельфхост.

#Администрирование #обновление



Увеличил объём диска, пока на 5Gb. Он таки продолжал медленно сокращаться и у меня возникли сомнения, что оставшегося места будет хватать для упаковки бэкапа.

Впервые работаю с VPS с динамической конфигурацией, порадовался, насколько бесшовно происходит эта операция для файловой системы ОС.

#Администрирование



Рано или поздно это должно было случиться - на vps заканчивается место, общим объёмом 10гб.
Решение этой проблемы возможно в двух плоскостях:
1) увеличение объёма диска
2) уменьшение объёма хранимой информации, а именно записей во Френдике.

Несколько дней я обдумывал ситуацию и пришёл к выводу, что хранение записей, с которыми пользователи никак не взаимодействовали, дело бесполезное, и настроил удаление ничейных элементов через 90 дней. Т.е. записи с других серверов старше 90 дней, которые никто не лайкнул, не прокомментировал, не репостнул и не добавил в избранное/папки, будут удаляться.

Есть вероятность что это не приведёт к желаемому эффекту и память таки придётся наращивать. Но пока рост по 100 мб/день остановился.

#Администрирование #friendica

in reply to Entropy Engineer

10Гб маловато просто, наверное. А чего там, сильно дорого места докинуть?
in reply to Dmitry Fedotov

Да не дорого, +80р/мес. за следующие 10 гб. Хотя как бы недорого не было, всё это из своего кармана и никак не окупается(да и цели такой не было).
Другой вопрос зачем это в принципе хранить и копить.
in reply to Entropy Engineer

> зачем это в принципе хранить и копить

Основной момент тут в том, что однажды удаленная запись больше загружена не будет. Соответственно, если запись удалена, а позже там была какая-то активность, то либо она будет потеряна, либо оборвана. Это не такая большая проблема для записей, где ранее не было взаимодействия, но всё же порой может всплывать.

Кстати, ещё рекомендую выключить в админке сканирование контактов (что-то типа "получать информацию пользователей"), по факту это нужно лишь для наполнения каталога и отображения "друзей друзей", но грузит систему и тянет данных довольно много.



YunoHost

Если вы хотите поднять несколько selfhost проектов, но ниразу не админ, есть прекрасное решение под названием YunoHost.

Что это такое?
Этот продукт что-то вроде менеджера пакетов, но заточенный под развертывание self-host проектов. Поставляется как в виде дистрибутива под разные платформы, включая ARM так и установщика для Debian 11.

Что он умеет?
С помощью YunoHost можно развернуть кучу разнообразного ПО с минимальными ковыряниями конфига или вообще без оных. Всё взаимодействие со средой происходит через web-интерфейс. При установке пакета, YunoHost сам настраивает всю необходимую конфигурацию включая web-сервер, СУБД, файерволл, во многих пакетах поддерживается единая авторизация. Вы можете настроить для каждого пакета домен, получение Let's Encrypt. YunoHost умеет бэкапить все развёрнутые в нём сервисы вместе с данными и конфигами, можно прямо через него также установить систему резервного копирования Borg, и у вас будут регулярные инкрементальные бэкапы.

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

Какие есть минусы?
Репозитории содержат большое, но таки конечное количество проектов, и нужного вам может не оказаться. Посмотреть каталог и что в нём есть можно на сайте проекта: yunohost.org/en/applications/c…
Некоторые пакеты перестают поддерживаться и ПО, содержащееся в них, устаревает. В этом случае можно форкнуть пакет к себе в репозиторий, там поменять версию и обновиться уже со своего. Я так и делаю с Friendica.

YunoHost не хранит исходный код или сборки ПО, только скрипт установки и файлы конфигурации. Исходные коды проектов выкачиваются при установке с их оригинальных репозиториев.

Что есть из федеративного в каталоге YunoHost?
- Akkoma
- BookWyrm
- Calckey
- Castopod
- Epicyon
- Friendica
- Funkwhale
- GoToSocial
- Glitch-Soc
- Halcyon
- Hubzilla
- Lemmy
- Mastodon
- Misskey
- Owncast
- PeerTube
- Pixelfed
- Pleroma
- Plume
- Soapbox
- WriteFreely

#Администрирование #yunohost #selfhost

in reply to Entropy Engineer

о. я почему-то думала, что это какой-то managed hosting :anya_shocked: спасибо


Когда вроде и порадовать хотел, а нечем


p.s. резервное копирование происходит на удалённый сервер, локально не храню

#yunohost #локализация



Только что забанил в CF целую страну. И страна эта... Индия!
Задолбали создавать спам-аккаунты, чесслово. Я конечно мог бы включить подтверждение регистрации, но это усложнит жизнь нормальным человекам, которые захотят использовать мой инстанс. Впрочем, таких пока что-то не особо наблюдается, так что может и включу, если индусы ещё больше обнаглеют и полезут через ВПН.

#модерация

reshared this



Итак, я обновил Friendica до 2023.04


Конечно, я не дождался когда ментейнер Френдики в Yunohost обновит пакет и сделал пул-реквест. А потом не дождался когда смержат мою ветку. Прям дежавю с Хабзиллой.
Форкнул пакет, поменял там номер версии везде где нашёл и хеш коммитов для ядра и аддонов, и обновился с него.

Для того чтобы обновить приложение Yunohost со своего форка нужно выполнить команду:

yunohost app upgrade friendica -u путь-до-вашего-репозитория

С какими проблемами я столкнулся:

  1. С моего аккаунта слетели админские права, т.к. в конфиг прописалась почта пользователя Yunohost, что в моём случае не равно админ френдики. Исправляется в файле /var/www/friendica/config/local.config.php параметр admin_email
  2. Мои кастомные ресурсы (home.html и картинки в images) были нещадно потёрты. Достал из из бекапа, который Yunohost создаёт автоматически перед каждым обновлением.

#friendica #обновление #инструкция

yesfreenet reshared this.



Маленький хак для страницы входа


Тема устроена так, что фон страницы входа, каким бы он ни был, сильно затемняется. Причём это затемнение происходит в той же строчке, что и назначение фонового изображения. Как следствие - можно убрать затемнение только захардкодив картинку.

Но это не наш метод! Если затемнение нельзя убрать, а настройку фонового изображения хочется оставить гибкой, можно же всё обратно осветить!

body {
backdrop-filter: brightness(200%);
}


Также придётся дотянуть содержимое страницы до низа браузера, чтобы всё это выглядело как надо.

html, body {
height: 100%;
}


Прописать стили необходимо в home.html или в home.css, которые нужно создать в корне проекта.

#friendica #настройка

This entry was edited (1 year ago)


Резервное копирование YunoHost с помощью Borg


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


Задача


Не допустить потери пользовательских данных при возникновении проблем с сервером, на котором они хранятся.

Определения


  • Сервер - система, которая будет хранить бэкапы. Для примера возьмём за адрес сервера mystorage.space
  • Клиент - система с работающим YunoHost, с которого будут сниматься резервные копии. Например myhosting.space


Предварительные условия


  1. Сервер, на котором будем хранить бэкапы
  2. Возможность стабильного доступа к этому серверу по ip или доменному имени (напрямую или через сетевое устройство с белым IP)
  3. Права рута для установки и настройки Борг-сервера и доступа ssh для Борг-клиента


В качестве хранилища бэкапов у меня используется Synology, поэтому в
части руководства будет описана специфика его настройки.


Настройка

Настройка сервера бэкапов
Установка Borg


В общем случае Borg присутствует практически во всех популярных дистрибутивах. Информацию по установке можно получить на этой странице.

В случае с Synology, Borg можно установить через Центр пакетов, найдя его через поиск в разделе Сообщество. После установки в интерфейсе пользователя ничего не появится т.к. это консольная утилита. При установке необходимо будет ввести пароль для дешифровки бэкапов - этот пароль нужно сохранить в надёжное место!

Подготовка пользователя


Необходимо создать пользователя и группу, а так же директорию для ключа. Пользователя и группу, можно к примеру назвать borg-backup. После создания, необходимо соответственно включить пользователя в группу.

В Synology управление пользователями и группами производится через веб-интерфейс, в Панели управления. Созданного пользователя необходимо добавить в группу administrators, иначе доступ по ssh работать не будет.

Далее необходимо создать каталоги и выдать на них права. Обычно каталог пользователя располагается по адресу /home/, но у Synology немного другая структура, команды ниже приведены для него:

# mkdir -p /var/services/homes/borg-backup/.ssh
# touch /var/services/homes/borg-backup/.ssh/authorized_keys
# chown -R borg-backup:borg-backup /var/services/homes/borg-backup
# chmod -R 0700 /var/services/homes/borg-backup
Настройка клиента
Установка Borg


Установка происходит через веб-интерфейс, также, как и для других пакетов YunoHost. Для того чтобы через поиск можно было найти Borg, в фильтре справа от поисковой строки необходимо выбрать пункт "все приложения".

В процессе установки необходимо ввести адрес Сервера и каталог для бэкапов.

Для удобства в качестве каталога назначения можно указать адрес сервера, с которого снимается бэкап. Вместо доменного имени можно использовать IP, порт также не обязательно должен быть 22, если например у вас настроен проброс порта с маршрутизатора на Сервер.

ssh://borg-backup@mystorage.space:22/~/myhosting.space
Настройка и проверка доступа по ssh


После установки Borg на YunoHost сгенерируются ключи доступа по ssh, публичный ключ необходимо вписать на сервер. Взять его можно в админке YunoHost, в разделе Приложения / borg. Ключ будет находиться в строке Public key: и выглядит примерно так: ssh-ed25519 AAAAC3NzaC1lZD..... Копируем его в буфер обмена или куда-нибудь ещё.

Далее необходимо вставить ключ на Сервер, в файл /var/services/homes/borg-backup/.ssh/authorized_keys

Для того, чтобы избежать проблемы с поиском исполняемого файла borg на сервере, необходимо в строке перед ключом вставить путь к исполняемому файлу borg. Для Synology это выглядит так: command="/usr/local/bin/borg serve" ssh-ed25519 AAAAC3NzaC1lZD....

Узнать, где исполняемый файл располагается в вашем дистрибутиве можно командой:

# type -a borg

Чтобы проверить авторизацию, необходимо зайти на Клиента в консоль под рутом и выполнить команду:
# ssh -i ~/.ssh/id_borg_ed25519 borg-backup@mystorage.space -p 22

В результате должна произойти авторизация на Сервер. Консоль при этом не вернёт ввод, из-за запуска исполняемого файла borg.
Ручной запуск и проверка


Чтобы не ждать наступления времени выполнения резервного копирования по расписанию можно запустить его вручную, командой:

# systemctl start borg

Консольный ввод при этом повиснет и продолжительность этого подвисания напрямую связана с объёмом данных резервного копирования.

Если что-то пошло не так, подробный лог можно посмотреть в админке YunoHost в разделе Инструменты / Логи.

После того как консоль вернёт управление, можно запросить с сервера информацию о бэкапах:

# app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " borg info "$(yunohost app setting $app repository)"

Отчёт по резервному копированию также можно посмотреть через веб-интерфейс YunoHost в разделе Приложения / borg на вкладке Advanced.

Восстановление


Полное восстановление должно происходить также в YunoHost с установленным borg и настроенным подключением по ssh. Понадобится ключ для расшифровки бэкапов, о котором указывалось вначале, а также перенос ключа для подключения по ssh с Клиента на Сервер т.к. при новой установке borg ключ сгенерируется новый.

Для того чтобы восстановить бэкап, нужно знать его имя, для этого необходимо выполнить команду из прошлого раздела.

После получения имени необходимо сформировать команду и выполнить её в консоли на Клиенте. Для примера я укажу для восстановления бэкап Hubzilla:

app=borg; BORG_PASSPHRASE="$(yunohost app setting $app passphrase)" BORG_RSH="ssh -i /root/.ssh/id_${app}_ed25519 -oStrictHostKeyChecking=yes " borg export-tar "$(yunohost app setting $app repository)::_auto_hubzilla-2023-02-05_14:28" /home/yunohost.backup/archives/hubzilla.tar

В этой команде имя бэкапа _auto_hubzilla-2023-02-05_14:28.
Я не стал указывать полное имя файла для архива т.к. YunoHost потом не
даст удалить этот архив через интерфейс - там ограничение в 30
символов на имя файла бэкапа, поэтому архив называется просто
hubzilla.tar


Заключение


Работа с автоматическими бэкапами в YunoHost кажется мозговыносящей, но будь у меня эта инструкция, я не потратил бы на настройку несколько вечеров.

Разумеется с бэкапами можно проводить гораздо большее количество операций чем просто восстановление по имени архива, например просмотр содержимого, извлечение отдельных файлов и т.п. Для удобного оперирования архивами есть программы с графическим интерфейсом, например Vorta.

Настройку частоты резервного копирования также можно произвести достаточно гибко через настройки веб-интерфейса. Там есть соответствующее поле, работающее с форматом systemd OnCalendar format. Например можно указать 3:00 и резервное копирование будет выполняться каждые сутки в 3 часа ночи.

Источники




Полезные дополнения Friendica


Перебрал в админке дополнения, включил некоторые, показавшиеся мне интересными:

Fancybox - изображения из записей открываются в полноэкранной галерее, с возможностью листания

Language Filter - позволяет скрыть посты на всех языках кроме указанных. работает на основе анализа записей. каждый пользователь хаба может настроить под себя или отключить.

Impressum - позволяет вывести некоторую информацию на странице /friendica

Markdown - позволяет в постах использовать Markdown. Пользователь хаба должен самостоятельно в настройках включить поддержку, чтобы использовать синтаксис.

Numfriends - позволяет в настройках профиля пользователя менять количество выводимых друзей в блоке

Page Header - позволяет админу вывести какую-либо информацию между верхней панелью и контентом

Matomo / Piwik Analytics - подключает аналитику сервиса Matomo

Showmore Dynamic - позволяет настроить сворачивание длинных постов. Каждый пользователь может настроить функционал самостоятельно.

Smileybutton - кнопка вставки смайликов

Start Page - позволяет пользователям настроить, какая страница отобразится после входа

Unicode Smilies - большой набор смайлов для использования с плагином Smileybutton

#friendica #настройка #список