Redmine läuft nicht mehr

Lagganmhouillin

Benutzer
Mitglied seit
16. Okt 2015
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Hi!

Ich hab seit ein paar Tagen das Problem, daß das aktuelle Redmine auf meinem DS918+ nach dem Upgrade auf Version 3.4.13-0054 nicht mehr läuft.
Zuerst hatte ich die notwendige Docker-Version 18.09.0-0519 nicht installiert, weil die anscheinend erst etwas später angeboten wurde, aber auch nach einem Upgrade auf diese Version kommt der Fehler nach wie vor.
Die DSM-Version ist aktuell, das ist DSM 6.2.4-25556.

Da ich auch noch ein zweites NAS habe, ein DS412+, auf dem Docker und Redmine noch nicht installiert waren, habe ich mal versucht, das dort zu installieren. Leider tritt der Fehler auch dort auf! Es kann m.E. daher nichts mit dem Upgrade-Prozeß an sich zu tun haben. (Es wurden gleich die o.a. Versionen von Docker und Redmine installiert.)

Hat noch jemand diese Erfahrung gemacht und kann hier vielleicht helfen? (Ich habe übrigens auch ein Support-Ticket erstellt, aber bisher noch keine Antwort.)

Der Fehler aus dem Protokoll:

2021-04-05 17:53:45stdout from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
2021-04-05 17:53:45stdout from /usr/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
2021-04-05 17:53:45stdout from /var/lib/gems/2.3.0/gems/bundler-1.17.3/lib/bundler/setup.rb:20:in `<top (required)>'
2021-04-05 17:53:45stdout from /var/lib/gems/2.3.0/gems/bundler-1.17.3/lib/bundler.rb:101:in `setup'
2021-04-05 17:53:45stdout from /var/lib/gems/2.3.0/gems/bundler-1.17.3/lib/bundler.rb:135:in `definition'
2021-04-05 17:53:45stdout from /var/lib/gems/2.3.0/gems/bundler-1.17.3/lib/bundler/definition.rb:34:in `build'
2021-04-05 17:53:45stdout from /var/lib/gems/2.3.0/gems/bundler-1.17.3/lib/bundler/dsl.rb:12:in `evaluate'
2021-04-05 17:53:45stdout from /var/lib/gems/2.3.0/gems/bundler-1.17.3/lib/bundler/dsl.rb:47:in `eval_gemfile'
2021-04-05 17:53:45stdout from /var/lib/gems/2.3.0/gems/bundler-1.17.3/lib/bundler/dsl.rb:47:in `instance_eval'
2021-04-05 17:53:45stdout from /home/redmine/redmine/Gemfile:65:in `eval_gemfile'
2021-04-05 17:53:45stdout from /usr/lib/ruby/2.3.0/psych.rb:254:in `load'
2021-04-05 17:53:45stdout from /usr/lib/ruby/2.3.0/psych.rb:327:in `parse'
2021-04-05 17:53:45stdout from /usr/lib/ruby/2.3.0/psych.rb:379:in `parse_stream'
2021-04-05 17:53:45stdout # -------------------------------------------
2021-04-05 17:53:45stdout # adapters = database_config.values.map {|c| c['adapter']}.compact.uniq
2021-04-05 17:53:45stdout > database_config = YAML::load(ERB.new(IO.read(database_file)).result)
2021-04-05 17:53:45stdout # if File.exist?(database_file)
2021-04-05 17:53:45stdout # -------------------------------------------
2021-04-05 17:53:45stdout # from /home/redmine/redmine/Gemfile:65
2021-04-05 17:53:45stdout
2021-04-05 17:53:45stdout[!] There was an error parsing `Gemfile`: (<unknown>): did not find expected key while parsing a block mapping at line 2 column 3. Bundler cannot continue.
2021-04-05 17:53:45stdout/usr/lib/ruby/2.3.0/psych.rb:379:in `parse': (Bundler::Dsl::DSLError)
2021-04-05 17:53:44stdoutMigrating database. Please be patient, this could take a while...
2021-04-05 17:53:44stdoutConfiguring nginx::redmine...
2021-04-05 17:53:44stdoutConfiguring nginx...
2021-04-05 17:53:44stdoutConfiguring redmine::rmagic::font...
2021-04-05 17:53:43stdoutConfiguring redmine::backups...
2021-04-05 17:53:43stdoutConfiguring redmine::autologin_cookie...
2021-04-05 17:53:43stdoutConfiguring redmine::sudo_mode...
2021-04-05 17:53:43stdoutConfiguring redmine::max_concurrent_ajax_uploads...
2021-04-05 17:53:43stdout **SHOULD** be defined if you have a load-balancing Redmine cluster.
2021-04-05 17:53:43stdout Please specify the REDMINE_SECRET_TOKEN parameter for persistence.
2021-04-05 17:53:43stdout All old sessions will become invalid.
2021-04-05 17:53:43stdoutNote:
2021-04-05 17:53:43stdoutGenerating a session token...
2021-04-05 17:53:43stdoutConfiguring redmine::secret_token...
2021-04-05 17:53:43stdoutConfiguring redmine::unicorn...
2021-04-05 17:53:43stdoutConfiguring redmine::database
2021-04-05 17:53:43stdoutConfiguring redmine...
2021-04-05 17:53:43stdoutInstalling configuration templates...
2021-04-05 17:53:43stdoutSymlinking dotfiles...
2021-04-05 17:53:43stdoutInitializing datadir...
2021-04-05 17:53:42stdoutInitializing logdir...
 

Matthieu

Super-Moderator
Teammitglied
Mitglied seit
03. Nov 2008
Beiträge
13.182
Punkte für Reaktionen
73
Punkte
344
Ich bezweifle, dass der Support da helfen wird, weil es ein Problem mit Redmine ist. Nicht Synology.
Hast du dir die bemängelte Datei mal angesehen?
/home/redmine/redmine/Gemfile:65
(ich seber nutze redmine nicht, habe mir nur das Log durchgelesen)

MfG Matthieu
 

Lagganmhouillin

Benutzer
Mitglied seit
16. Okt 2015
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Danke, aber der Support hat sich schon bei mir gemeldet, es liegt anscheinend tatsächlich an Kompatibilitätsproblemen. Was allerdings insoferne seltsam ist, als das letzte Docker-Update (das auf 18.9.0-0519) im Changelog eben auf genau die Redmine-Version verweist, die ich installiert habe (Nämlich auf die 3.4.13-0054.)
Und wenn Synology genau die Versionen, die nicht miteinander können, im Paket-Zentrum bereitstellt, dann ist das sehr wohl ein Problem von Synology. :)
Ich hab jedenfalls gerade einen Link auf Redmine 3.4.13-0056 bekommen, wo das behoben sein soll. (Bisher war die letzte Version die oben erwähnte.)

Und leider kann ich auch kein Ruby, aber wenn sich eh der Support meldet...

Ich werde das mal installieren und dann hier berichten.
 

Lagganmhouillin

Benutzer
Mitglied seit
16. Okt 2015
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Tja, die Version funktioniert leider auch nicht. Also nochmal das Ticket zurückschmeissen.
 

tproko

Benutzer
Mitglied seit
11. Jun 2017
Beiträge
1.427
Punkte für Reaktionen
126
Punkte
89
Nimmst du jetzt docker/redmine oder Redmine via Paket Zentrum?

Bei docker redmine habe ich mal einen ähnlichen Fehler bei docker-compose gesehen, da redmine Version erhöht wurde, mysql aber nicht. Kann es hier mit deiner Datenbank Probleme geben? Welche DB verwendest du für Redmine?
 

Lagganmhouillin

Benutzer
Mitglied seit
16. Okt 2015
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Ich habe bei der Installation eigentlich nur Redmine aus dem Paketzentrum ausgewählt, die anderen notwendigen Pakete (Docker, Mariadb) installiert dieses dann automatisch auch, wenn die nicht schon drauf waren.
Ich verwende auch die Standardeinstellungen, bei der Installation wird nur nach einem User und dessen Passwort für die Datenbank gefragt.
Und wie schon oben geschrieben besteht das Problem auch, wenn ich das auf einem anderen NAS mache, auf dem diese Pakete bisher noch gar nicht drauf waren. (Ich hab insgesamt drei NASen: ein 212j, ein 412+ und ein 918+. Einsetzen möchte ich Redmine natürlich am modernsten, die anderen verwende ich nur mehr als Datengräber, die sind aber auch ganz praktisch, wenn man mal was ausprobieren möchte.)
Und da diese Pakete über das offizielle Paketzentrum von Synology angeboten werden, sollten die Versionen eigentlich schon zusammenpassen. (Was sie aber anscheinend nicht tun.)
Datenbank wäre Mariadb 10.3.24-0069 - ich glaube aber nicht, daß das das Problem ist, ich glaube eher, daß das eine Inkompatibilität zwischen der Docker- und der Redmine-Version ist, und so wurde es auch vom technischen Support kommuniziert.

Ich möchte auch nicht viel daran herumzangeln müssen, ich möchte nur ein einfach zu installierendes Ticket-Tracking-System, weil sich das für meine Hobby-SW-Projekte (ich programmiere derzeit was in C++ für den Raspberry) als wesentlich besser herausgestellt hat, als da irgendwas in Word-Dokumenten zu schreiben, wenn man mal was festhalten möchte. Daher hab ich das auch nicht selber aufgesetzt, sondern das Angebot von Synology verwendet, das bis vor ein paar Tagen auch noch super funktioniert hat.
 

tproko

Benutzer
Mitglied seit
11. Jun 2017
Beiträge
1.427
Punkte für Reaktionen
126
Punkte
89
Ok. Mir ist nur noch nicht klar, wozu dieses redmine docker benötigt.

Aber wenn du den Weg über docker gehst, könntest du auch gleich einen docker Container machen, damit klappte bei mir gitlab und ein test-redmine ohne Probleme. Damit kannst du in der Regel auch aktuellere redmine installieren als über das Paketzentrum.
 

Lagganmhouillin

Benutzer
Mitglied seit
16. Okt 2015
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Das kann ich leider auch nicht sagen, warum das unbedingt in Docker sein muß.

An die Möglichkeit, eine aktuellere Redmine-Version zu nehmen, hatte ich ohnehin schon gedacht, aber wenn Synology das schon anbietet, dann sollen sie mal schauen, daß sie das so machen, daß es auch funktioniert. :)

Sollten alle Stricke reißen, kann ich das dann ja immer noch probieren, zum Glück hab ich ja auch ein zweites NAS, wo ich das mit einem Import der Datenbank vom anderen auch mal testen kann, ohne die Sache noch schlimmer zu machen.

Jedenfalls danke für den Tipp!
 

Lagganmhouillin

Benutzer
Mitglied seit
16. Okt 2015
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
So, ich hab das am anderen NAS mal ausprobiert: Docker installiert (nochmal, den zwischenzeitlich hatte ich das dort wieder gelöscht) und mir aus der offiziellen Quelle die aktuelle Redmine-Version geholt: Die läuft. Jetzt muß ich nur noch ausprobieren, ob es auch mit meiner Datenbank funktioniert. Die Umstellung sollte ja kein Problem sein.

Jedenfalls besten Dank an alle für die Hilfe!

Ich werde mich da noch weiter rumspielen und schauen, ob ich das so zum Laufen bekomme. Und dann kann ich das auf meinem "Produktions"-NAS machen. :)
 

Lagganmhouillin

Benutzer
Mitglied seit
16. Okt 2015
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
So, ein paar Fallstricke waren noch zu überwinden (nämlich u.a. auch die Frage, wie man von einem Container aus auf eine Db zugreift, die außerhalb läuft - ich bin ja ein Docker-Neuling), aber es hat so geklappt, wie ich mir das vorgestellt hab.

Das heißt, ich werde in Zukunft die aktuelle Redmine-Version verwenden, und die sollte gehen - Problem gelöst.
 

sks

Benutzer
Mitglied seit
17. Feb 2021
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Hallo Lagganmhouillin,

ich habe jetzt das selbe Problem "Redmine läuft nicht mehr". Ich habe keine zweite NAS um zu testen, könntest Du mir bitte genauer beschreiben wie Du vorgegangen bist (Redmine im Doker installieren, DB-Backup/Restore etc.). Ich habe 2 relativ große Projekte im Redmine und möchte diese weiter verwenden.
Danke

Stefan
 

Lagganmhouillin

Benutzer
Mitglied seit
16. Okt 2015
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Kann ich gerne. Was für eine Datenbank verwendest du denn? Läuft die auch im Container?
Denn in meinem Fall ist die Datenbank zwar am selben NAS aber außerhalb vom Container, da ich dort schon eine MariaDb für andere Sachen (wie z.B. eine eigene lokale Wiki) betreibe.
Damit war das ein bißchen einfacher, denn man kann so die Redmine-Installation im Container löschen und die Datenbank behalten. Außerdem kann man mit phpMyAdmin ein Backup in Form eines Db-Dumps erstellen, das man in einer anderen Db einspielen kann. Und bei einer Neuinstallation kann man Redmine so aufsetzen, daß die bestehende Datenbank genommen wird.
Ich würde auf jeden Fall nichts machen, ohne vorher ein Backup der Db zu erstellen. Wenn du eine sqlite-Db verwendest (die ja Standard ist, soweit ich weiß), müßte man zuerst mal schauen, wie man das hier macht. Ich hab damit leider eher weniger Erfahrung.
 

sks

Benutzer
Mitglied seit
17. Feb 2021
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Hallo,
ich habe das Redmine aus dem Paketzentrum installiert. Dabei hat er den Docker und die MariaDB 10 mit installiert und eingerichtet.
Jetzt habe ich noch mit HyperBackup die MariaDB gesichert. Morgen schaue ich weiter, muss heute dringend los.

Danke und Grüße
Stefan
 

Lagganmhouillin

Benutzer
Mitglied seit
16. Okt 2015
Beiträge
13
Punkte für Reaktionen
0
Punkte
1
Bitte noch nachschauen, ob die MariaDb im Container läuft oder außerhalb. Ich vermute, daß es außerhalb ist. Dann auch das Paket phpMyAdmin installieren, falls das noch nicht passiert ist, und ein Backup der Redmine-Db erstellen. Dazu startet man phpMyAdmin, loggt sich mit root ein. wählt die Datenbank aus (die sollte "redmine" heißen) und klickt auf den Tab "Exportieren". Man kann dort eigentlich alles so eingestellt lassen, wie es ist (also schnell und Format SQL). Das SQL-File enthält alle Befehle, mit denen die Datenbank mit den vorhandenen Daten wieder angelegt werden kann. Ich gebe üblicherweise auch das Datum der Erstellung in den Dateinamen und sichere das auf einer externen Platte. Sollte jetzt mit der Db irgendwas passieren, kann man die jederzeit wiederherstellen.
(Ich hoffe, die jeweiligen Paßwörter für die Db sind bekannt? Benötigt wird root und das Paßwort für den Schema-User für die redmine-Db.)

Danach über die Paketverwaltung die Docker-Version aus dem Paketzentrum deinstallieren, ohne aber die Datenbank zu löschen! (Kann man bei der Deinstallation angeben.)
Ist das erledigt, installiert man das neueste Redmine-Image aus dem offiziellen Repository. Dafür öffnet man Docker, geht auf "Registrierung" und sucht dort nach "redmine". Das offizielle Repository sollte am Hint und am Sternchen erkennbar sein. Mit der rechten Maustaste anklicken und "Image herunterladen" auswählen. Das ist übrigens auch hier beschrieben: https://kb.synology.com/de-de/DSM/help/Docker/docker_container?version=6
Wenn es heruntergeladen ist, geht man auf Image, dort sollte man den Container jetzt sehen.
Wichtig: Vor dem ersten Start müssen ein paar Umgebungsvariablen gesetzt werden. Das muß nach meinen Erfahrungen unbedingt vor dem ersten Start passieren, weil eine spätere Änderung keine Wirkung mehr zeigt. Dazu Doppelklick auf das Image und bei den erweiterten Einstellungen im Tab Umgebungsvariablen folgendes eintragen:

  • REDMINE_DB_MYSQL: Mit dem Image aus Docker Hub muß dieser Wert auf die IP-Adresse des NAS gesetzt werden, wenn die Db nicht auch im Container läuft! Diese muß dazu fix vergeben werden, mit einer Änderung ist kein Zugriff auf die Datenbank mehr möglich! Details siehe Abschnit zur Netzwerkkonfiguration. Mit der Verwendung dieser Variablen sagen wir Redmine zusätzlich, daß wir eine zu MySQL kompatible Datenbank verwenden.
  • REDMINE_DB_PORT: Für MariaDb Port 3307
  • REDMINE_DB_DATABASE: Default ist redmine
  • REDMINE_DB_USERNAME: Hier wird üblicherweise redmine_user verwendet
  • REDMINE_DB_PASSWORD: Das Paßwort des Redmine-Users
Bei den Port-Einstellungen (Registerkarte Port-Einstellungen im Dialog, der bei Bearbeiten für den Container aufgeht) ist folgendes einzustellen:

  • Typ: tcp
  • Lokaler Port: Das ist der Port, über den Redmine auf dem NAS von außen erreichbar sein soll. Wenn man hier nichts einstellt, wird der automatisch vergeben, was wir nicht haben wollen, weil wir da einen Link im Browser setzen wollen. Wir vergeben hier den gleichen Wert, der auch bei der Installation aus dem Paket-Zentrum vergeben wird: 30002
  • Container-Port: Das ist der Port, auf den der Redmine-Server im Container hört. Dieser Port ist vom Ersteller des Docker-Images vorkonfiguriert, daher muß er vom entsprechenden Artikel auf der Webseite für den Container entnommen und auch so eingestellt werden, sonst funktioniert die ganze Sache nicht. Bei Redmine wird er offenbar voreingestellt (bei Version 4.2.0 auf 3000) und kann so belassen werden.
Dann kann der Container gestartet werden und Redmine sollte verfügbar sein.

Wenn irgendein Fehler passiert ist, kann man den Container auch wieder löschen und den Vorgang wiederholen.

Beim Docker-Image für Redmine aus dem Paketzentrum ist die Netzwerkkonfiguration anders, hier ist localhost eingetragen, aber das funktioniert mit dem Image aus dem offiziellen Repository anscheinend nicht, deswegen habe ich das wie oben gelöst.

Ich hoffe, das hilft weiter.
 

sks

Benutzer
Mitglied seit
17. Feb 2021
Beiträge
3
Punkte für Reaktionen
0
Punkte
1
Hallo Lagganmhouillin,

danke für die ausführliche Beschreibung, "TOP".
Leider hat es meinen Fehler nicht behoben., ich vermute das es am Docker lag.
Ich habe alles deinstalliert, aber die DB behalten. Dann alles wieder über Synology installiert und einfach die DB mit eingebunden (er hat mich gefragt).
Jetzt geht alles wieder und ich bin auf dem Neusten (Synology) Stand.

Danke für die Hilfe.

Grüße
Stefan