LanguageTool richtig installieren

geimist

Benutzer
Sehr erfahren
Maintainer
Mitglied seit
04. Jan 2012
Beiträge
5.350
Punkte für Reaktionen
1.157
Punkte
234
Code:
… bzw. https:test.meine.synology.me:8011/v2
Wenn, dann so: https://test.meine.synology.me:8011/v2 (mit 2x Slash).

Ich nutze standardmäßig nicht Safari, hab es aber mal für dich getestet. Auch damit funktioniert es. Ich lasse aber eine Subdomain über den ReverseProxy.

Dein Port 8011 ist bei dir öffentlich erreichbar?
 
  • Like
Reaktionen: Wiesel6

Wiesel6

Benutzer
Mitglied seit
22. Aug 2016
Beiträge
238
Punkte für Reaktionen
67
Punkte
28
Stimmt ich meinte natürlich mit 2x Slash.

Bei mir ist kein Port öffentlich erreichbar, außer Wireguard Port vom Pi.
Ich stempel es unter "es geht im Safari nicht" ab... In den anderen Browser klappt es ja direkt mit der IP Adresse und nur mit http...


Edit: ich muss natürlich das Zertifikat der test Domain auf das synoloy.me ändern... Jetzt geht es auch im Safari über den Reverse Proxy.
 
  • Like
Reaktionen: geimist

plang.pl

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
28. Okt 2020
Beiträge
13.019
Punkte für Reaktionen
4.387
Punkte
499
Gerade eben ist der Container wieder mit Out_of_Memory_Expception abgeschmiert. Trotz 1G RAM. Ich hebe das mal eben fix auf 2G
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.440
Punkte für Reaktionen
344
Punkte
103
Echt? Welche ngrams hast Du denn laufen? Ich fahre LanguageTool seit Monaten auf 1G ohne Probleme.... oder ich bekomme es nicht mit, wenn der Container wegbricht und neu gestartet wird. Der Startet ja ziemlich fix durch.

Gerade nachgesehen, mein aktueller Container wurde vor 12 Tagen erzeugt und ist seitdem nicht neu gestartet worden.
Mit docker inspect --format '{{.State.StartedAt}}' languagetool kann man sich ansehen, wann der Container gestartet wurde. Bei jedem Neustart wird die aktuelle DateTime zum Zeitpunkt des Starts gesetzt.
 
Zuletzt bearbeitet von einem Moderator:

EDvonSchleck

Gesperrt
Mitglied seit
06. Mrz 2018
Beiträge
4.703
Punkte für Reaktionen
1.114
Punkte
214
Bei mir hat der Container dafür gesorgt, dass die DS im Netzwerk nicht mehr erreichbar ist. DSM lief normal weiter und Neustarten über Powerbutton löste mein Problem. Nach dem 3 Ausfall habe ich das Image entfernt.
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
28. Okt 2020
Beiträge
13.019
Punkte für Reaktionen
4.387
Punkte
499
@haydibe Habe es mit Englisch und deutsch am laufen, mit fasttext.
Hab grad noch mal geschaut. Die Restart Policy war bei mir auf "never" - hatte ich wohl falsch angelegt. Ich beobachte das mal. Aber wenn der Container dann immer wieder relativ fix restarted, dann ist mir das auch egal
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.440
Punkte für Reaktionen
344
Punkte
103
@haydibe Habe es mit Englisch und deutsch am laufen, mit fasttext.
Genau so habe ich es auch. Läuft bei mir ohne Neustart problemlos. Die Probleme hatte ich auch nur mit dem Default-Wert von 512m.

Ich frage mich, ob es mit der Größe der Texte zu tun hat, bspw. wenn man etwas Längeres wie einen Blogpost tippt. Ich könnte mir vorstellen, dass die Anwendung dann auch im Ressourcenverbrauch hochgeht. Ich kann hier am Ende aber auch nur mutmaßen.
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
28. Okt 2020
Beiträge
13.019
Punkte für Reaktionen
4.387
Punkte
499
Kann sein - ich werde es bei Gelegenheit mal testen. Tatsächlich sind die letzten 2 Abstürze aber bei Foren-Beiträgen entstanden. Das sind ja (i.d.R.) nicht so die Megatexte. Mal schauen
 

plang.pl

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
28. Okt 2020
Beiträge
13.019
Punkte für Reaktionen
4.387
Punkte
499
Das Memory Limit sollte doch aber standardmäßig mit der Umgebungsvariable begrenzt sein (512M) oder?
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.440
Punkte für Reaktionen
344
Punkte
103
Die Variable begrenzt den Maximalen Heap. Java hat aber auch noch diverse off Heap-Memory. Meistens kann man die allerdings vernachlässigen.

Es gibt bei Java noch die Möglichkeit den CGroup Support anzuschalten, aber dann MUSS jeder das über die Ressource Contraints setzen. Da ich denke das es einige überfordern würde, hab ich einfach das Verhalten beibehalten, was das Image von erikvl87 auch verwendet.

Das Image silvio/docker-languagetool verwendet zum Beispiel die Ressource Contraints. Ich kann ja mal die Tage damit herumspielen, ob es nicht doch der bessere Ansatz ist, bei man mit weniger RAM verbrauch durch die Tür kommt.
 
Zuletzt bearbeitet:

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.440
Punkte für Reaktionen
344
Punkte
103
Ich hab gerade mal das Dockerfile überarbeitet und mal -XX:+UseStringDeduplication und -XX:+UseSerialGC als Startparamter hingefügt.

Zusätzlich habe ich noch die Möglichkeit spendiert via JAVA_OPTS Environment die Java Optionen frei zu setzen, sodass man jetzt eine Chance hat sich die optimalen Parameter zu erspielen.

Java_Xms und Java_Xmx habe ich in JAVA_XMS und JAVA_XMX umbenannt. Default XMX ist jetzt 1G.
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.440
Punkte für Reaktionen
344
Punkte
103
Zu früh gefreut mit `-XX:+UseStringDeduplication` und `-XX:+UseSerialGC`: ausgerechnet bei dem GC, der für schwache CPUs optimal ist, funktioniert die String Deduplizierung nicht.

Aber jetzt kann man mit den Varianten rumspielen und herausfinden was für einen gut funktioniert.
 
  • Like
Reaktionen: geimist

plang.pl

Benutzer
Contributor
Sehr erfahren
Maintainer
Mitglied seit
28. Okt 2020
Beiträge
13.019
Punkte für Reaktionen
4.387
Punkte
499
Hab den Container nun noch mal neu erstellt mit XMX 1280 MB. Mal schauen
 

visioneer_cgn

Benutzer
Mitglied seit
19. Okt 2022
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Moin – ich grätsche hier mal rein. Das LanguageTool läuft bei mir ebenfalls im Container und funktioniert auch im Web und unter WordPress problemlos mit Eintragen der NAS IP + Port als Server im Experten Modus. Alles fine!

Allerdings bekomme ich das zum verrecken nicht unter Word ans Laufen. Hat einer von euch das Tool da zufällig auch installiert und auch den lokalen NAS Server eingetragen? Das Tool gibt das für den eigenen Server unter Einstellungen ebenfalls her, will sich aber nicht verbinden.

Gruß
 
Zuletzt bearbeitet:

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.440
Punkte für Reaktionen
344
Punkte
103
Laut diesem Thread https://forum.languagetool.org/t/self-hosted-languagetool-and-ms-word-add-in/8171/7, sollte --allow-origin "*" gesetzt sein damit es funktioniert. Das Entrypoint-Skript verwenden das Argument so wie es da steht.

Kann es sein, dass das Word-Plugin auch einer der Clients ist der zwingend über HTTPS auf den eigenen LT-Server zugreifen muss?

Update, ja muss es. In der Debug-Konsole von Word ist Folgendes zu sehen:
developer-tools#Konsole schrieb:
jquery-3.3.1.min.js?v=20210711-160037:2

Mixed Content: The page at 'https://languagetoolplus.com/msoffi...669829227316&check_type=checkcurrentparagraph' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://dsm:8010/v2/check'. This request has been blocked; the content must be served over HTTPS.
 
Zuletzt bearbeitet:

visioneer_cgn

Benutzer
Mitglied seit
19. Okt 2022
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Danke für deine Mühe – das Argument habe ich noch gesetzt. Ändert nichts daran, das Word das Tool nicht verstehen will. Zugriff ist über HTTPS – es kommt auch keine Fehlermeldung, sondern es wird einem 30 Sekunden lang „Warten auf Server“ angezeigt und dann „keine Fehler gefunden“.

Obwohl offensichtlich Fehler vorhanden sind. Ich denke, ich steige an dieser Stelle aus, dafür geht zu viel Zeit drauf.
 
Zuletzt bearbeitet von einem Moderator:

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.440
Punkte für Reaktionen
344
Punkte
103
Magst Du erläutern was mit "das Argument habe ich noch gesetzt" gemeint ist?

Es kann schon mal keine Plugin-Einstellung sein und auch nichts am LT-Server. Hast Du einen Reverse Proxy vor den Container geschaltet, der https-Traffic annimmt und an den Container weiterleitet? Falls nicht... -> das ist der Weg!
 
  • Like
Reaktionen: visioneer_cgn

visioneer_cgn

Benutzer
Mitglied seit
19. Okt 2022
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
--allow-origin "*" meinte ich.

Ja - Reverse Proxy in Form von LT.name.synology.me habe ich gesetzt inkl. HSTS und in word unter Server eingetragen mit V2.

Mir fällt allerdings gerade auf, wenn ich das direkt in die Adresszeile eingebe, dann wirft der:

Error: Missing arguments for LanguageTool API. Please see https://languagetool.org/http-api/swagger-ui/#/default

aus. Werde mich nachher nochmal damit auseinander setzen.
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat