Neee. Da gibt es bei mir eine saubere Trennung. Eine Fritzbox stellt bei mir neben den eigentlichen Aufgaben noch eine "Schnittstelle" für ein Raspberry Pi ins Internet zur Verfügung. Aber auf dem RPi liegen nur die Daten, die für die da gehostete Homepage relevant sind. Und auch die da liegende DB ist entsprechend abgesichert. Es sind nur die für eine effiziente Verwaltung der Homepage erforderlichen Ports offen bzw. weitergeleitet (die Ports für einen direkten Zugriff auf die DB gehören nicht dazu). Und ich verwende für den Zugriff immer nur SSL.six1 hat geschrieben: ↑Mo 29. Jan 2024, 10:01Ok, also eine sichere Umgebung durchlöchern... das macht keinen Sinn. Es spielt ja auch erst mal keine Rolle, wo die Daten schlußendlich liegen.
Er würde durch Weiterleitung von Ports über die fritzbox auf eine Sandbox, welche dafür durchlöchert wird, die DB letztendlich doch online stellen. Das ist erst mal kein guter Plan
Compiler-Einstellungen für Cross-Compile in Docker-Container
Re: Compiler-Einstellungen für Cross-Compile in Docker-Container
Re: Compiler-Einstellungen für Cross-Compile in Docker-Container
Oh, das liest sich nach einer machbaren Lösung - sowas habe ich gehofft.
Hmm...ich habe "Lazarus_cross " unter Windows, das dürfte diesem:
entsprechen (ich müsste den Link mal suchen - schließlich nutze ich das für meine Entwicklungen für den Raspberry Pi.
Wie gesagt, für Raspberry Pi ist das kein Problem - da setze ich als Ziel-OS "Linux" und als Zielprozessor "ARM" und der Compiler läuft. Aber wenn ich als Prozessor "Intel" nehme, fehlt Lazarus eine Konfigurationsdatei. Vielleicht muss ich mir nochmal eine "-cross"-Version konfigurieren, die auch für diesen Prozessor alles hat?
Das ist mir bewusst - wie gesagt, für Raspberry Pi hab ich das shcon mal gemacht. Außerdem sagt das einem ja auch der Menschenverstand.
Das muss ich mir noch mal genauer angucken und drü ber nachdenken. Aber dieser Ansatz gefüllt mir. Allerdings:MmVisual hat geschrieben: ↑So 28. Jan 2024, 23:27Dann einfach die EXE unter Linux übersetzen, auf die Discstation kopieren. Auf die Discstation kann man per SSH (z.B. mit PUTTY) zugreifen, die EXE ausführbar machen und starten. Und wenn man möchte dass die EXE zum Start vom OS mit ausgeführt wird muss man die z.B, im Aufgabenplaner mit einstellen.
Meine EXE läuft auf der Discstation von Synology, die macht jeden Tag ein Backup der Datenbank und beendet sich wieder.
Hier habe ich eine Anleitung wie das mit meiner EXE geht, vielleicht kannst du dir davon was für dich abschauen:
http://elela.de/Hilfe/Index.php?url=Tut ... Backup.htm
Wie ich es machen würde, bzw. meine Lösung die bereits funktioniert:
Die eigene Datenbank kann man problemlos in einem Docker Container laufen lassen (laden, prarmetrieren, starten, läuft), die eigene EXE würde ich direkt auf der DS laufen lassen und den Docker würde ich nicht ändern. Damit hat die eigene EXE über TCP/IP den Datenbank Zugriff (Discstation > TCP/IP > DockerContainer) und weil die auf der DS direkt läuft hat die den Zugriff auf Volume1 um da hin das Backup ab zu legen.
PS: Vergesse nicht die Firewall zu parametrieren, sonst klappt der externe Zugriff nicht.
wäre das schön. Vielleicht kannst du mir zusätzlich nen Tipp geben, in welchem Verzeichnis ich dise suchen muss?
Ich glaub, diese Liste hatte ich auch gefunden, denn das mein NAS nen Intel Celeron hat, wusste ich schon.MmVisual hat geschrieben: ↑So 28. Jan 2024, 23:27Info:
Liste der Discstations und deren eingebaute Prozessoren. Wer mit Lazarus experimente machen möchte sollte unbedingt eine DS mit Intel/AMD Prozessor kaufen und nicht mit ARM/Realtec/Marvell, damit man es einfacher hat.
https://kb.synology.com/de-de/DSM/tutor ... x20-series
Das ist ein guter Tipp! Den MC liebe ich (ich hatte shcon mal gesucht, aber nicht gefunden) - hab ich noch unter DOS in den (Volkov-)-Commander "verliebt" und bin dann unter Windows dem "Total-Commander (bzw. Windows-Commander wie er früher mal hieß) treu geblieben.MmVisual hat geschrieben: ↑So 28. Jan 2024, 23:27Tipp wer mit seiner Syno DS "spielen" möchte:
Als Paketquelle sollte man die "synocommunity" (http://packages.synocommunity.com/) mit hinzufügen, damit bekommt man viele extra Tools die man dazu installieren kann.
Dann kann man das Paket "SynoCli File Tools" installieren. Damit hat man unter Putty z.B. den "mc" und besseren Editor (nano) zur Verfügung. Der "mc" macht das Arbeiten mit PUTTY deutlich einfacher, vor allem für Leute die eher aus der Windows Welt kommen.
Vielen Dank - ich muss das jetzt alles erstmal sortieren, neu durchdenken und ggf. auch mein gesamtes Konzept nochmal neu strukturieren. Aber dafür ist es ja Hobby - da muss nix gestern fertig sein.
Gruss
GU_Meyer
-
- Beiträge: 1470
- Registriert: Fr 10. Okt 2008, 23:54
- OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
- CPU-Target: 32/64Bit
Re: Compiler-Einstellungen für Cross-Compile in Docker-Container
Ich mag "Cross" nicht, weil eine EXE die da raus kommt kann man nie testen. Daher lieber ein VBox mit Linux aufsetzen. Dann kann man da drin übersetzen und die EXE testen. Sonst kopiert man die auf das Zielsystem und kann nicht debuggen.Hmm...ich habe "Lazarus_cross " unter Windows
Die Datei "libmysqlclient.so.18.0.0" kopiere ich einfach in den gleichen Ordner wie meine EXE ist. Als Datenbank Komponente verwende ich ZEOS. Bei TZConnection.LibraryLocation kann ich dann gezielt den Pfad / Deteiname der "libmysqlclient.so.18.0.0" angeben und es läuft. Damit bin ich dann unabhängig vom Installationsstand vom restlichen Linux.
Auf der DiscStation kann man "MariaDB10" installieren, eine .so Datei sollte dann im Ordner:
/volume1/@appstore/MariaDB10/lib
Auf der DiscStation kann man "MariaDB5" installieren, eine .so Datei sollte dann im Ordner:
/volume1/@appstore/MariaDB/lib
MariaDB5 geht, glaub ich, nur bis zu DS Version 6.4, ab V7 gibt es das Paket nicht mehr. Die Datei "libmysqlclient.so.18.0.0" habe ich mir aus der DS Installation von V6.4 gleich mal gesichert und die geht auch mit MariaDB10.
EleLa - Elektronik Lagerverwaltung - www.elela.de
- af0815
- Lazarusforum e. V.
- Beiträge: 6216
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Re: Compiler-Einstellungen für Cross-Compile in Docker-Container
Ist nicht richtig, nur viel mehr Aufwand. Ich habe für eine TS212 von QNap (mit ARM V5) sehr wohl ein Programm schreiben können unter Linux und das gleich mit scp auf die QNap kopiert und dort mit dem remote GDB debuggen können, etwas zäh manchmal wegen dem Prozessor und der remote Verbindung. Ist zeitauswendig, braucht entsprechedes Wissen ist aber machbar.MmVisual hat geschrieben: ↑Mo 29. Jan 2024, 19:46Ich mag "Cross" nicht, weil eine EXE die da raus kommt kann man nie testen. Daher lieber ein VBox mit Linux aufsetzen. Dann kann man da drin übersetzen und die EXE testen. Sonst kopiert man die auf das Zielsystem und kann nicht debuggen.Hmm...ich habe "Lazarus_cross " unter Windows
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
Re: Compiler-Einstellungen für Cross-Compile in Docker-Container
Bei meinem Raspberry Pi-Projekt habe ich das auch etwas anders gemacht. Da ging es um ein CGI für eine Website, also Eingabe über String und Ausgabe auch als String. Also habe ich den Serverteil von der eigentlichen Funktionalität getrennt und für die Vorverarbeitung des "Parameterstring"s bzw. die Erzeugung des Ausgabestrings eine "Schnittstellen-Unit" geschrieben. Diese, und zwar ausschließlich wird vom Serverteil eingebunden. Weiterhin habe ich mir eine Art "Oberfläche" für die Erhzeugung der Parameter sowie die Darstellung der Ausgabe erstellt und zwar als separates Projekt. Diese Oberfläche bindet ebenfalls die Schnittstellen-Unit ein. Nun kann ich im "Server"-Projekt als Ausgabe die Linux-Version festlegen und im "Oberflächen"Projekt als Ausgabe Windows. Ein paar Feinheiten, wie z.B. das Handling von Verzeichnis-Trennern oder CR/LF lassen sich über Konstanten und bedingte Compilierung abwickeln.MmVisual hat geschrieben: ↑Mo 29. Jan 2024, 19:46Ich mag "Cross" nicht, weil eine EXE die da raus kommt kann man nie testen. Daher lieber ein VBox mit Linux aufsetzen. Dann kann man da drin übersetzen und die EXE testen. Sonst kopiert man die auf das Zielsystem und kann nicht debuggen.Hmm...ich habe "Lazarus_cross " unter Windows
So kann ich die eigentliche Funktionalität unter Windows debuggen. Und erst, wenn jeweils genug Funktion vorhanden ist, wird wieder eine Linux-Version compiliert und auf das Zielsystem kopiert. (Anpassung der Rechte und Ausführung gehören dann natürlich auch noch dazu).
Da muss ich mal gründlich suchen. Vielen Dank.MmVisual hat geschrieben: ↑Mo 29. Jan 2024, 19:46Die Datei "libmysqlclient.so.18.0.0" kopiere ich einfach in den gleichen Ordner wie meine EXE ist. Als Datenbank Komponente verwende ich ZEOS. Bei TZConnection.LibraryLocation kann ich dann gezielt den Pfad / Deteiname der "libmysqlclient.so.18.0.0" angeben und es läuft. Damit bin ich dann unabhängig vom Installationsstand vom restlichen Linux.
Auf der DiscStation kann man "MariaDB10" installieren, eine .so Datei sollte dann im Ordner:
/volume1/@appstore/MariaDB10/lib
Auf der DiscStation kann man "MariaDB5" installieren, eine .so Datei sollte dann im Ordner:
/volume1/@appstore/MariaDB/lib
MariaDB5 geht, glaub ich, nur bis zu DS Version 6.4, ab V7 gibt es das Paket nicht mehr. Die Datei "libmysqlclient.so.18.0.0" habe ich mir aus der DS Installation von V6.4 gleich mal gesichert und die geht auch mit MariaDB10.
Gruss
GU_Meyer
Re: Compiler-Einstellungen für Cross-Compile in Docker-Container
Vielen Dank erstmal für die vielen "Nachdenker"! Wie ich in fast allen meinen Antworten schon geschrieben habe, muss ich die ganzen Hinweise und Tipps erstmal "verarbeiten".
Ich habe nun beschlossen, erstmal die reine Funktionalität (die sich in den letzten Tagen noch erweitert hat, da der Wunsch hinzugekommen ist, die Rezepte in Form eines "Redaktionssystems" bearbeiten zu können) zu implementieren. Und um diese zu testen, verwende ich vorerst meine vorhandene Infrastruktur auf der Raspberry Pi. Hier muss ich zwar auch noch diverse Sachen lernen und konfigurieren, aber das Hauptaugenmerk kann auf der eigentlichen Aufgabenstellung liegen.
Und erst wenn eine Grundfunktionalität geschaffen ist, werde ich diese in, wie auch immer, geeigneter Form in einen Docker-Container "gießen". Dann hat sich sicherlich auch die Frage nach der zu verwendenden Datenbank sowie dem erforderlichen Ort beantwortet.
Von daher betrachte ich das Thema hier erstmal abgeschlossen. Vielen Dank.
Gruss
GU_Meyer
Ich habe nun beschlossen, erstmal die reine Funktionalität (die sich in den letzten Tagen noch erweitert hat, da der Wunsch hinzugekommen ist, die Rezepte in Form eines "Redaktionssystems" bearbeiten zu können) zu implementieren. Und um diese zu testen, verwende ich vorerst meine vorhandene Infrastruktur auf der Raspberry Pi. Hier muss ich zwar auch noch diverse Sachen lernen und konfigurieren, aber das Hauptaugenmerk kann auf der eigentlichen Aufgabenstellung liegen.
Und erst wenn eine Grundfunktionalität geschaffen ist, werde ich diese in, wie auch immer, geeigneter Form in einen Docker-Container "gießen". Dann hat sich sicherlich auch die Frage nach der zu verwendenden Datenbank sowie dem erforderlichen Ort beantwortet.
Von daher betrachte ich das Thema hier erstmal abgeschlossen. Vielen Dank.
Gruss
GU_Meyer