Zeichenlimit bei Mastodon erhöhen

12

Es folgt eine kur­ze Anlei­tung für Mastodon-Admins, wie man die Standard-Zeichenbeschränkung der eige­nen Instal­la­ti­on von 500 auf einen Wunschwert erhö­hen kann.

Getes­tet habe ich das mit mei­ner Spaß­um­ge­bung auf mirus​.club, dort läuft gera­de die aktu­el­le Ver­si­on 4.2.10. Mein Mast­o­don läuft nicht in einem Docker-Container.

Update für Mast­o­don 4.3.0 wei­ter unten!

Zuerst wech­seln wir zum User mast­o­don und in das live-Verzeichnis:

su - mastodon
cd /home/mastodon/live

Dann ändern wir in zwei Datei­en alle Vor­kom­men von 500 in die gewünsch­te neue Zei­chen­be­schrän­kung (ich wähl­te 1000).

nano app/javascript/mastodon/features/compose/components/compose_form.js
nano app/validators/status_length_validator.rb

Schließ­lich bear­bei­ten wir ein klei­nes biss­chen aus­führ­li­cher die letz­te Datei:

nano app/serializers/rest/instance_serializer.rb

Da, wo unter ande­rem :regis­tra­ti­ons steht, ergän­zen wir:

:max_toot_chars

(Hin­ter :regis­tra­ti­ons kommt dann ein Kom­ma, hin­ter :max_toot_chars nicht!)

Und dann suchen wir wei­ter unten „Pri­va­te“ und ergän­zen darunter:

def max_toot_chars
1000
end

Zum Schluss ein­mal neu kompilieren:

RAILS_ENV=production bundle exec rails assets:precompile

Und dann (als Root!) die Diens­te ein­mal neu starten:

systemctl restart mastodon-web
systemctl restart mastodon-sidekiq
systemctl restart mastodon-streaming

Voilá, nun soll­test du (und dei­ne User:innen) Roma­ne auf Mast­o­don schrei­ben können.

Die Anlei­tung beruht auf der von Tho­mas Miel­ke, ergänzt um die not­wen­di­ge Neu­kom­pi­lie­rung, die mich fast zum Ver­zwei­feln brach­te. Trotz­dem vie­len Dank für die Inspi­ra­ti­on und Hin­wei­se! Und ich über­neh­me natür­lich kei­ne Garan­tien, dass das wirk­lich funktioniert.

Zeichenlimit bei Mastodon 4.3.0 erhöhen

Mit 4.3.0 ist es einer­seits sehr viel leich­ter gewor­den, die erlaub­te Zei­chen­zahl bei Mast­o­don zu erhö­hen. Ande­rer­seits wird es nur im Web-Interface ange­zeigt. In Apps, auch der­zeit in der offi­zi­el­len iOS-App, wer­den wei­ter­hin nur 500 Zei­chen als Maxi­mum aus­ge­ge­ben, auch wenn Bei­trä­ge mit mehr Zei­chen trotz­dem gepos­tet wer­den. (Nach­trag: Auch in den Apps wird das Limit rich­tig ange­zeigt. Man braucht bloß ein wenig Geduld.)

Zuerst wech­seln wir zum User mast­o­don und in das rich­ti­ge Verzeichnis:

su - mastodon
cd /home/mastodon/live/app/validators/

Dort bear­bei­ten wir die Datei status_length_validator.rb:

nano -w status_length_validator.rb

Gleich in der drit­ten Zei­le fin­dest du die­sen Code:

MAX_CHARS = 500

Die 500 änderst du auf die gewünsch­te Län­ge. Spei­chern, schließen.

Und dann (als Root!) die Diens­te ein­mal neu starten:

systemctl restart mastodon-web
systemctl restart mastodon-sidekiq

Das war’s schon.

Die­se Anlei­tung beruht auf der bei MszPro, die Memo unten in den Kom­men­ta­ren gefun­den hat­te. Vie­len Dank euch beiden!

📧 Lass dich über neue Bei­trä­ge per E-Mail infor­mie­ren!
🐖 Du fin­dest das hier gut? Wirf was ins Spar­schwein mei­ner Kin­der! Vie­len Dank! 🫶

Vorheriger Artikel#WMDEDGT am 5. Juli 2025
Nächster ArtikelBonn., Link-Verkürzung, Stream Deck

12 Kommentare

  1. Dan­ke für die Anlei­tung. Bei mir spuck­te er „Ser­ver Error 500“ aus, nach­dem ich das gemacht habe. Mast­o­don 4.2.12 allerdings.
    Ich habe app/javascript/mastodon/features/compose/components/compose_form.jsx edi­tiert, weil es kein app/javascript/mastodon/features/compose/components/compose_form.js gibt :)
    Danach eben app/validators/status_length_validator.rb .
    Bei app/serializers/rest/instance_serializer.rb habe ich kein „Pri­va­te“ gefun­den, aber ein „pri­va­te“, und das erst­mal so da rein­ge­schrie­ben. Im Grun­de ging alles, es kam trotz­dem ein „Ser­ver error 500“. Ich habe das Log gele­sen und gemerkt, daß es an jener Datei liegt und dann alle Modi­fi­ka­tio­nen aus der letz­ten Datei wie­der rück­gä­nig gemacht. Nun scheint es zu funk­tio­nie­ren - kein Error mehr.

    • Dan­ke für dei­nen Bericht! Kannst du noch­mal genau­er sagen, wor­an es gele­gen hat?

      compose_form.jsx ist tat­säch­lich die rich­ti­ge Datei, soweit ich mich erin­ne­re. Muss ich noch­mal nach­se­hen. Da macht sich die Über­nah­me der Anlei­tung für eine älte­re Ver­si­on bemerkbar.

  2. Zur­zeit ist es zwar noch nicht wirk­lich erfor­der­lich, aber da sich im Code ab Ver­si­on 4.3.0 so eini­ges geän­dert hat, wird die aktu­el­le Anlei­tung so wohl nicht mehr funktionieren?

    Eine ange­pass­te Anlei­tung wäre super – falls über­haupt noch machbar 😀

    • Ich bin selbst gespannt, wie das in Ver­si­on 4.3 sein wird und ob ich das mit „Bord­mit­teln“, also mit mei­nen Vier­tel­kennt­nis­sen hin­be­kom­men wer­de. Aber sobald ich weiß, wie, wer­de ich das hier natür­lich anpassen.

  3. Die Anlei­tung funk­tio­niert so wie sie ist lei­der nicht!
    Obwohl die Bei­trä­ge schein­bar in das Fedi­ver­se wei­ter­ge­lei­tet wer­den, wer­den, nicht nur bei einer Aktua­li­sie­rung, die Bei­trä­ge auf der Start­sei­te zer­ris­sen oder feh­len ganz. Auch ein­mal gepos­te­te Bei­trä­ge wer­den wohl nur lokal, aber nicht auf ande­ren Instan­zen gelöscht.

    Getes­tet mit dem heu­ti­gen Release 4.3.0

  4. Nach­trag:
    Ich kann lei­der nicht nach­voll­zie­hen, wor­an es gele­gen hat, aber nach dem x-ten Ver­such scheint es jetzt zu lau­fen ¯\_(ツ)_/¯

  5. Es ist nicht aus­zu­schlie­ßen, dass es viel­leicht bes­ser gewe­se­ne wäre (und auch völ­lig gereicht hät­te), erst ein­mal abzu­war­ten bis alle Nach­rich­ten aus der War­te­schlan­ge abge­ar­bei­tet wur­den, anstatt die Zei­chen­be­gren­zung wie­der rück­gän­gig zu machen oder das v4.3.0-rc.1 Back­up einzuspielen.

    Das wer­de ich aber wohl nie erfahren 😉

Kommentarfunktion ist geschlossen.