Mastodon в docker. Убираем ограничение на 500 символов в посте.
Может я что-то делаю не так, но мне периодически не хватает 500 символов для выражения всех мыслей. Разработчики Мастодона, несмотря на все просьбы о возможности увеличения размера постов в конфиге, остаются непреклонны. Это их проект и их правила. Но опенсорс на то и опенсорс, что бы можно было запилить свой Мастодон с блекджеком и тутами на два экрана)
Если Мастодон установлен на голую систему, то все проще. Редактируем необходимые файлы, компилим и вперед. Но у нас 21 век на дворе, все в докере и по модному, поэтому будем собирать свой докер образ с измененными файлами.
Клонируем последний релиз мастодона и вносим изменения в файлы:
app/javascript/mastodon/features/compose/components/compose_form.js
Тут в двух местах меняем цифру 500 на свое желаемое максимальное значение символов в посте. Я сделал 5000 символов, в дальнейшем везде буду указывать именно это значение.
app/serializers/rest/instance_serializer.rb
9 строка — изменяем «:configuration» на «:configuration, :max_toot_chars»
В районе 97 строки после между «end» и «private» добавляем:
def max_toot_chars
5000
end
Должно получиться так:
def invites_enabled
Setting.min_invite_role == 'user'
end
def max_toot_chars
5000
end
private
def instance_presenter
app/validators/status_length_validator.rb
В 4 строке меняем значение 500 на наше желаемое значение.
Опционально docker-compose.yml Это делать не обязательно, я для удобства изменяю название образов, что бы не путаться где у меня оригинальный образ мастодона, а где мой измененный. Везде меняем «image: tootsuite/mastodon» на «image: %ваше_имя_образа%»
Все, делаем docker-compose build и запускаемся на новом образе.