ich bin mir gerade nicht sicher, ob meine Frage genau hier reingehört, hat aber grundsätzlich was mit Modulen zu tun.
Ich habe mich jetzt ein wenig mit der Modulentwicklung beschäftigt, möchte aber ungern alle Module immer bei GitHub o.ä. haben und hätte die viel lieber im eigenen Netz. Habe dafür nen Git Server auf einem Raspberry Pi laufen. Bekomme die Repositorys auf dem Pi aber nicht bei Symcon als Modul Repository rein.
Habe es mit folgendem Schema versucht:
Benutzername@ipDesRaspberrys:NameDesRepositorys
Bekomme aber immer folgenden Fehler:
authentication required but no callback set
Ist das mit nem Git Server auf einem Pi im eigenen Netz überhaupt möglich, wenn ja, was mache ich falsch?
Ich vermute ja, dass ich noch irgendwie das Passwort des Benutzers mit angeben muss, aber wie?
Du kannst auch z.B. Bitbucket nutzten und dort ein Private Repository erstellen. Wenn Du das PHP Modul dann fertig hast bzw. mit anderen teilen willst lädst Du es dann auf Github.
Keine Ahnung welche Protokolle dein Server auf dem Pi unterstützt.
In IPS kannst du anstatt git:// auch http oder https:// nutzen.
Mein privater Git-Server (Windows) habe ich nur auf https eingeschränkt.
Dafür ist das Clonen aber auch anonym erlaubt. Somit braucht es in IPS keine Zugangsdaten
Michael
Habe das jetzt auch mal mit Gitea ausprobiert und funktioniert grundsätzlich. Zumindest fügt Symcon bei den Modules das Repository hinzu. Allerdings bekomme ich immer den Fehler: Module NAMEDESMODULS is either corrupted or is not a valid IP-Symcon module.
Diese Meldung kommt bisher immer. Habe als Modul die Scriptvorlagen aus der Dokumentation genommen, aber auch die Scripte von einem anderen Modul kopiert und trotzdem bekomme ich immer diese Fehlermeldung.
Jemand eine Idee warum? Muss ich in dem Repository noch irgendeine bestimmte Struktur einhalten? Habe bisher die Dateien immer entweder direkt im root Verzeichnis liegen gehabt, oder aber in einem extra Ordner. Hat beides nicht geholfen.
Habe den Fehler jetzt entfernen können, ich hatte die library.json mit in den Ordner gepackt. Nun liegt sie im root Verzeichnis und schon ist die Fehlermeldung weg.
Symcon schein es jetzt also richtig zu laden. Als module.json und module.php habe ich die beiden Vorlagen von dem ersten Link benutzt. Aber bei Symcon unter „Module anzeigen“, wird mein Modul trotzdem nicht angezeigt und ich kann es auch nicht über „Instanzen -> hinzufügen“ irgendwo im Objektbaum einfügen. Muss ich dafür noch was anderes machen?
Einfacher ist es wenn du dir eins der TestRepos clonst und mit deinem vergleichst.
So kann dir keiner helfen, wenn dein Modul nicht von anderen eingesehen werden kann.
Michael
Wofür braucht man einen Git-Server wenn dieser direkt mit auf dem Pi läuft? Git ist doch dezentral und den Git-Server benötigt man doch nur um a) die Daten an einem anderen Ort zu speichern oder b) es mit anderen zu teilen.
a) Trifft nicht zu da ja mit auf dem Pi läuft
b) Will man ja nicht sonst würde man Github o.ä. nutzen.
So, habe es jetzt hinbekommen.
Es lag daran, dass ich die GUIDs auch kopiert habe. Das schien so nicht zu funktionieren. Hab mir dann selber welche generiert und die anderen damit ersetzt und schon funktioniert alles so wie es soll. Also nochmal vielen Dank für die schnelle Hilfe.
Der Git-Server läuft bei mir nicht auf dem gleichen Pi, wie der Symcon Server. Außerdem sind auf diesem alle meine Programmier-Projekte gespeichert / mit Git verwaltet. Er steht zwar bei mir zuhause, ist aber in einem separatem Netzwerkbereich und über eine VPN Verbindung auch von außen erreichbar. Es können also auch andere darauf zugreifen, aber er ist halt nicht übers Internet erreichbar.
Ja, die Gitlab Community Edition habe ich auch mal ausprobiert und auch auf dem Pi zum laufen bekommen, lief mir aber nicht flüssig genug, weshalb ich dann den normalen Git Server mit GitWeb genommen habe. Aktuell ziehe ich gerade meine ganzen Repositorys auf den neuen Gitea Server um.