Hallo!
Vorab viel Lob für ihre Arbeit die Sie in OrderSprinter setzen, ich habe es zwar noch nicht Produktiv ausprobiert, bin aber begeistert von den Möglichkeiten, die Sie mit dieser Gratissoftware bieten.
Nun auch zu meiner Frage und zwar möchten wir OrderSprinter auf unseren diversen Vereinsfesten einsetzen und eventuell auch die Hardware + ihre Software mit anderen Vereinen teilen. Natürlich hat hier jeder Verein und eigentlich auch jedes Fest andere Voraussetzungen, so haben wir z.b. bei unserem Zeltfest auch einen Barbetrieb, während es bei den Schnitzeltagen nur eine Schank gibt, somit gibt es auch ganz unterschiedliche Produkte zur Auswahl und auch der Arbeitsablauf in den Küche unterscheidet sich jeweils. Da wir rechtlich hier keine Einschränkungen haben (keine Steuern, kein Tagesabschluss usw.) würde ich gerne für die Unterschiedlichen Feste eine eigen OrderSprinter Instanz aufsetzen, die jedes Jahr benutzt werden kann und optimal auf das Fest abgestimmt ist.
Meine favorisierte Plan wäre einen Rechner aufzusetzen und für alle Feste eine OrderSprinter Instanz zu installieren und dann nur je nach Fest die jeweilige Instanz zu starten. Auslastungsmäßig sollte das ja kein Problem sein, da nur immer eine Instanz gleichzeitig läuft, ich weiß aber nicht inwiefern sich mehrere OrderSprinter Instanzen installieren und getrennt laufen lassen und wie ich hier am besten vorgehe um das sauber einzurichten. Darum hoffe ich, dass Sie mir hier helfen können und mir ein paar Tipps geben könnten?
Plan B wäre jede Instanz als Backup anzulegen und die jeweils benötigte Instanz einzuspielen. Da jedes Fest einzeln abgerechnet wird, bräuchten wir auch keine fortlaufenden Aufzeichnungen dazu. Hätten Sie dazu Tipps welche Backupvariante hier am besten geeignet wäre ohne dass irgendwann das System vom ständigen Wiederherstellen zerschossen wird?
Oder eventuell haben Sie ja noch einen besseren Vorschlag, wie man Ihr System für verschiedene Feste konfiguriert und dann jeweils wiederverwenden kann?
Vielen Dank und herzliche Grüße,
Matthias
Mehrere OrderSprinter Instanzen auf einem Rechner
-
- Administrator
- Beiträge: 1183
- Registriert: So 13. Sep 2015, 19:48
- Wohnort: Hamburg
- Kontaktdaten:
Re: Mehrere OrderSprinter Instanzen auf einem Rechner
Hallo Matthias,
das Aufsetzen von mehreren Instanzen auf dem gleichen Host ist gar kein Problem und es gibt da die verschiedensten Möglichkeiten.
Deinen Plan A kann man auf vielfältige Weise umsetzen, deinen Plan B halte ich allerdings für nicht besonders gut.
Zunächst einmal kurz zum Setup. Benötigen steuerbefreite Vereine eine TSE? In dem Fall muss man das beim Aufsetzen im Auge behalten!
Verschiedene Instanzen kann man so aufsetzen:
- (1) ganz leicht: jede Instanz ist in einem eigenen Unterverzeichnis des htdocs-Webservers untergebracht, alles zeigt in die gleiche DB, nur der Tabellenpräfix ist jeweils anders.
- (2): ähnlich wie (1), aber jedes Verzeichnis ist mit einer Basic Authentication abgesichert, damit nicht Leute in der falschen Instanz unterwegs sein können
- (3) man konfiguriert in Apache virtual hosts. Da kann man jedem Host eigene Konfigurationen mitgeben - wohl weniger benötigt bei dir
- (4) wie (1),(2), aber Nutzung einer eigenen Datenbank pro Instanz (bei der Installation einzustellen). Hat den Vorteil, dass man diese unabhängig voneiner mit mysql-eigenen Methoden sichern kann und man sicher sein kann, dass da auch im Falle einer Softwarebugs nichts durcheinandergeht.
(5) Und dann gibt es da noch die Variante, Container zu verwenden. Für Anwendungsfälle wie deine setzt man heute oft Docker-Container ein, die man zum Beispiel zu Stacks zusammensetzen kann (z.B. Container: Webserver + DB, bilden je einen Stack "Verein xxx"). Per Compose bzw. komfortabel mit grafischen Oberflächen wie Portainer (ist selbst auch wieder ein Container) lassen diese sich sehr komfortabel starten/stoppen. Allerdings ist hier etwas Mehraufwand (und Wissen) beim erstmaligen Aufsetzen notwendig.
Ich habe den Absatz zu Containern der Vollständigkeit halber aufgeführt, damit alle Lesergruppen dieses Beitrags das für sich beste heraussuchen können. Für dich ist vermutlich Lösung (4) mit Basic Authentication die beste Variante.
Gruß,
Stefan
das Aufsetzen von mehreren Instanzen auf dem gleichen Host ist gar kein Problem und es gibt da die verschiedensten Möglichkeiten.
Deinen Plan A kann man auf vielfältige Weise umsetzen, deinen Plan B halte ich allerdings für nicht besonders gut.
Zunächst einmal kurz zum Setup. Benötigen steuerbefreite Vereine eine TSE? In dem Fall muss man das beim Aufsetzen im Auge behalten!
Verschiedene Instanzen kann man so aufsetzen:
- (1) ganz leicht: jede Instanz ist in einem eigenen Unterverzeichnis des htdocs-Webservers untergebracht, alles zeigt in die gleiche DB, nur der Tabellenpräfix ist jeweils anders.
- (2): ähnlich wie (1), aber jedes Verzeichnis ist mit einer Basic Authentication abgesichert, damit nicht Leute in der falschen Instanz unterwegs sein können
- (3) man konfiguriert in Apache virtual hosts. Da kann man jedem Host eigene Konfigurationen mitgeben - wohl weniger benötigt bei dir
- (4) wie (1),(2), aber Nutzung einer eigenen Datenbank pro Instanz (bei der Installation einzustellen). Hat den Vorteil, dass man diese unabhängig voneiner mit mysql-eigenen Methoden sichern kann und man sicher sein kann, dass da auch im Falle einer Softwarebugs nichts durcheinandergeht.
(5) Und dann gibt es da noch die Variante, Container zu verwenden. Für Anwendungsfälle wie deine setzt man heute oft Docker-Container ein, die man zum Beispiel zu Stacks zusammensetzen kann (z.B. Container: Webserver + DB, bilden je einen Stack "Verein xxx"). Per Compose bzw. komfortabel mit grafischen Oberflächen wie Portainer (ist selbst auch wieder ein Container) lassen diese sich sehr komfortabel starten/stoppen. Allerdings ist hier etwas Mehraufwand (und Wissen) beim erstmaligen Aufsetzen notwendig.
Ich habe den Absatz zu Containern der Vollständigkeit halber aufgeführt, damit alle Lesergruppen dieses Beitrags das für sich beste heraussuchen können. Für dich ist vermutlich Lösung (4) mit Basic Authentication die beste Variante.
Gruß,
Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Re: Mehrere OrderSprinter Instanzen auf einem Rechner
Hallo Stefan,
auch wir wollen bzw. werden (sobald es wieder möglich ist) Ordersprinter bei unseren kleinen Vereinsfesten in Zukunft einsetzen. Tatsächlich stellt sich mir auch die Frage, wie verschiedene Szenarien am besten auf einem System abgespeichert bzw. schnell zum Laufen gebracht werden. Die Umsetzung von "Plan A" wurde ausführlich beschrieben und sollte kein Problem sein.
Warum jedoch genau hältst du "Plan B" für weniger geeignet? Ich stelle mir dass eigentlich recht einfach vor.
Angenommen ich habe 3 verschiedene Feste im Jahr mit sehr verschiedenen Setups (Bondrucker, Tischen, all das was eben Konfiguriert werden kann). Dann ist es doch am einfachsten, 3 Backup-Dateien vorzubereiten (Fest_A_2021, Fest_B_2021, Fest_C_2021), diese vor der Veranstaltung zu laden, im nächsten Jahr wohlmöglich leicht anzupassen (z.B.: Preise, Speisekarte) und als Fest_X_2022 abzuspeichern. Selbst wenn das System an andere Vereine ausgeliehen wird, ist doch ein Backup (man könnte es ja auch Konfiguration nennen
) einzuspielen am einfachsten.
Dadurch hätte man auch nur eine Instanz, was das das Updaten erleichtern würde.
Übersehe ich da irgendwas ?
Gruß Frank
PS. Ja, auch steuerbefreite Vereine (z.B.: wir als ehrenamtlicher Verein mit entsprechendem geringen Jahresumsatz) benötigen eine TSE, sobald ein elektronisches Kassensystemen verwendet wird. "Offene Ladenkassen" stellen wohl die einzige Ausnahme dar. Tatsächlich überlege ich mir gerade, ob man argumentieren könnte, Ordersprinter nur für die "Bestellungen" und nicht als Kassensystem zu nutzen. Natürlich muss man als Verein dann dennoch Unterlagen für das Finanzamt über das Fest anfertigen (Umsätze etc.). Das ist nur ein Gedankenspiel und nicht wirklich praktisch.
auch wir wollen bzw. werden (sobald es wieder möglich ist) Ordersprinter bei unseren kleinen Vereinsfesten in Zukunft einsetzen. Tatsächlich stellt sich mir auch die Frage, wie verschiedene Szenarien am besten auf einem System abgespeichert bzw. schnell zum Laufen gebracht werden. Die Umsetzung von "Plan A" wurde ausführlich beschrieben und sollte kein Problem sein.
Warum jedoch genau hältst du "Plan B" für weniger geeignet? Ich stelle mir dass eigentlich recht einfach vor.
Angenommen ich habe 3 verschiedene Feste im Jahr mit sehr verschiedenen Setups (Bondrucker, Tischen, all das was eben Konfiguriert werden kann). Dann ist es doch am einfachsten, 3 Backup-Dateien vorzubereiten (Fest_A_2021, Fest_B_2021, Fest_C_2021), diese vor der Veranstaltung zu laden, im nächsten Jahr wohlmöglich leicht anzupassen (z.B.: Preise, Speisekarte) und als Fest_X_2022 abzuspeichern. Selbst wenn das System an andere Vereine ausgeliehen wird, ist doch ein Backup (man könnte es ja auch Konfiguration nennen
![Zwinkern ;)](./images/smilies/icon_e_wink.gif)
Dadurch hätte man auch nur eine Instanz, was das das Updaten erleichtern würde.
Übersehe ich da irgendwas ?
Gruß Frank
PS. Ja, auch steuerbefreite Vereine (z.B.: wir als ehrenamtlicher Verein mit entsprechendem geringen Jahresumsatz) benötigen eine TSE, sobald ein elektronisches Kassensystemen verwendet wird. "Offene Ladenkassen" stellen wohl die einzige Ausnahme dar. Tatsächlich überlege ich mir gerade, ob man argumentieren könnte, Ordersprinter nur für die "Bestellungen" und nicht als Kassensystem zu nutzen. Natürlich muss man als Verein dann dennoch Unterlagen für das Finanzamt über das Fest anfertigen (Umsätze etc.). Das ist nur ein Gedankenspiel und nicht wirklich praktisch.
-
- Administrator
- Beiträge: 1183
- Registriert: So 13. Sep 2015, 19:48
- Wohnort: Hamburg
- Kontaktdaten:
Re: Mehrere OrderSprinter Instanzen auf einem Rechner
Hallo Frank,
nun ja, nur weil ich Plan B nicht bevorzuge, heißt das nicht, dass das kein valider Weg ist. Allerdings sei darauf hingewiesen, dass bei jedem Import, der über den OrderSprinter-eigenen Mechanismus passiert, eine Notiz hinterlegt wird, dass ein Import stattgefunden hat, zu sehen z.B. in den PDF-Reports. Ziel ist es, dass jemand, der jeden Abend um 20 Uhr ein Backup fährt und um 22 Uhr zurückspielt, um 2 Stunden steuerfrei zu kassieren, dabei schnell auffällt. Mit der TSE hat sich das für Deutschland eigentlich erledigt, aber der Code ist halt immer noch aktiv. Und wenn du vor jedem Fest die Db der jeweiligen Instanz importierst, kann es da schon vielleicht zu Nachfragen kommen. Wenn du die mysql-eigenen Backup/Restore-Funktionen nutzt, ist das natürlich nicht der Fall, aber dann kannst du nicht ein Backup von Version x in eine upgedatete Instanz der Version y einspielen.
Und natürlich muss man darauf achten, jeweils die richtige TSE eingesteckt zu haben. Prinzipiell wäre es auch möglich, verschiedene Clients bei einer TSE anzumelden, das habe ich in OS aber nicht umgesetzt.
TSE haben eine bestimmte Laufzeit, üblicherweise 5 Jahre. Wenn man die Instanzen nur einmal im Jahr hochfährt, muss man umso mehr darauf achten, dass man da nicht außerhalb des Zertifikatszeitraums gerät. Ich werde vermutlich irgendwann in OS einbauen, dass es eine automatisch erstellte Aufgabe gibt, die dem Systemuser zugewiesen wird, falls die TSE in Kürze abläuft. Aber noch ist das nicht drin, weil die ersten TSE frühestens in 4 Jahren ablaufen.
Gruß,
Stefan
nun ja, nur weil ich Plan B nicht bevorzuge, heißt das nicht, dass das kein valider Weg ist. Allerdings sei darauf hingewiesen, dass bei jedem Import, der über den OrderSprinter-eigenen Mechanismus passiert, eine Notiz hinterlegt wird, dass ein Import stattgefunden hat, zu sehen z.B. in den PDF-Reports. Ziel ist es, dass jemand, der jeden Abend um 20 Uhr ein Backup fährt und um 22 Uhr zurückspielt, um 2 Stunden steuerfrei zu kassieren, dabei schnell auffällt. Mit der TSE hat sich das für Deutschland eigentlich erledigt, aber der Code ist halt immer noch aktiv. Und wenn du vor jedem Fest die Db der jeweiligen Instanz importierst, kann es da schon vielleicht zu Nachfragen kommen. Wenn du die mysql-eigenen Backup/Restore-Funktionen nutzt, ist das natürlich nicht der Fall, aber dann kannst du nicht ein Backup von Version x in eine upgedatete Instanz der Version y einspielen.
Und natürlich muss man darauf achten, jeweils die richtige TSE eingesteckt zu haben. Prinzipiell wäre es auch möglich, verschiedene Clients bei einer TSE anzumelden, das habe ich in OS aber nicht umgesetzt.
TSE haben eine bestimmte Laufzeit, üblicherweise 5 Jahre. Wenn man die Instanzen nur einmal im Jahr hochfährt, muss man umso mehr darauf achten, dass man da nicht außerhalb des Zertifikatszeitraums gerät. Ich werde vermutlich irgendwann in OS einbauen, dass es eine automatisch erstellte Aufgabe gibt, die dem Systemuser zugewiesen wird, falls die TSE in Kürze abläuft. Aber noch ist das nicht drin, weil die ersten TSE frühestens in 4 Jahren ablaufen.
Gruß,
Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Re: Mehrere OrderSprinter Instanzen auf einem Rechner
Hallo!
Stefan - mit dem Backup Hinweis in den Unterlagen ist nicht schlimm.
Ich fahre z.Zt. zwei Systeme, ein Produktives und ein Backup. Das Produktive hatte bisher keine Backu einspielungen.
Wenn die Daten aus dem Produktiven System ins Backup einspiele, dann erscheint nur die Meldung der letzten Wiederherstellung.
Beim Plan B wäre das eigentlich VOR der Veranstaltung. Das kann man, so glaube ich, dem Finanzamt auch gut erklären, dass der Backup davor eingespielt wurde.
Nur aufpassen, dass der Printserver mit allen Varianten läuft...
Stefan - mit dem Backup Hinweis in den Unterlagen ist nicht schlimm.
Ich fahre z.Zt. zwei Systeme, ein Produktives und ein Backup. Das Produktive hatte bisher keine Backu einspielungen.
Wenn die Daten aus dem Produktiven System ins Backup einspiele, dann erscheint nur die Meldung der letzten Wiederherstellung.
Beim Plan B wäre das eigentlich VOR der Veranstaltung. Das kann man, so glaube ich, dem Finanzamt auch gut erklären, dass der Backup davor eingespielt wurde.
Nur aufpassen, dass der Printserver mit allen Varianten läuft...
Re: Mehrere OrderSprinter Instanzen auf einem Rechner
Hallo,
Ich habe auf dein Anraten mal einen Server nach Variante 4 also für jedes Fest eine eigene DB und OrderSprinter Instanz, da ich das Recht praktisch finde, da somit der Server nach einmaligen Aufsetzen per Fest direkt für jedes Fest einsatzbereit ist und maximal kleinere Änderungen notwendig sind.
Das Aufsetzen funktioniert auch recht leicht, da das Setup per Fest recht ähnlich ist und ich somit eine Standardinstallation durchlaufen lasse und dann alles importiere und danach dementsprechend anpasse. Danach wieder ein Backup fürs Fest erstellen und sollte es dann Probleme geben, kann ich immer auf das jeweilige Backup zurückgreifen.
Hab dazu noch eine eigene kleine Indexpage erstellt mit der die User direkt Auswählen können auf welcher Instanz (welches Fest) gerade gearbeitet werden soll. Der einzigen Nachteil, ich weiß nicht ob ich das möchte, dass immer alle Instanzen laufen und somit auch auf falsche Instanzen zugegriffen werden könnte. Das wäre noch gut zu unterbinden, indem nicht gebrauchte Instanzen in der Art heruntergefahren werden und nur hochgefahren werden wenn sie gebraucht werden, ich nehme aber an sowas wird nicht so einfach funktionieren, wenn alles auf dem selben Webserver läuft?
Meine nicht ganz unelegante Lösung, sollte es nicht anders gehen, ist relativ simpel, da ich einen Kioskbrowser verwende, auf dem man keine direkten Links eingeben kann, kann ich unsere User somit nur von einen vorkonfigurierten Link starten lassen. Das bekämpft halt nur das Symptom, aber nicht die Ursache.
Ich habe auf dein Anraten mal einen Server nach Variante 4 also für jedes Fest eine eigene DB und OrderSprinter Instanz, da ich das Recht praktisch finde, da somit der Server nach einmaligen Aufsetzen per Fest direkt für jedes Fest einsatzbereit ist und maximal kleinere Änderungen notwendig sind.
Das Aufsetzen funktioniert auch recht leicht, da das Setup per Fest recht ähnlich ist und ich somit eine Standardinstallation durchlaufen lasse und dann alles importiere und danach dementsprechend anpasse. Danach wieder ein Backup fürs Fest erstellen und sollte es dann Probleme geben, kann ich immer auf das jeweilige Backup zurückgreifen.
Hab dazu noch eine eigene kleine Indexpage erstellt mit der die User direkt Auswählen können auf welcher Instanz (welches Fest) gerade gearbeitet werden soll. Der einzigen Nachteil, ich weiß nicht ob ich das möchte, dass immer alle Instanzen laufen und somit auch auf falsche Instanzen zugegriffen werden könnte. Das wäre noch gut zu unterbinden, indem nicht gebrauchte Instanzen in der Art heruntergefahren werden und nur hochgefahren werden wenn sie gebraucht werden, ich nehme aber an sowas wird nicht so einfach funktionieren, wenn alles auf dem selben Webserver läuft?
Meine nicht ganz unelegante Lösung, sollte es nicht anders gehen, ist relativ simpel, da ich einen Kioskbrowser verwende, auf dem man keine direkten Links eingeben kann, kann ich unsere User somit nur von einen vorkonfigurierten Link starten lassen. Das bekämpft halt nur das Symptom, aber nicht die Ursache.
-
- Administrator
- Beiträge: 1183
- Registriert: So 13. Sep 2015, 19:48
- Wohnort: Hamburg
- Kontaktdaten:
Re: Mehrere OrderSprinter Instanzen auf einem Rechner
Hallo Matthias,
wie man an diesen vielen Beiträgen zu diesem Thema erkennt, gibt es viele verschiedene Wege, die alle ihre ihre Vor- und Nachteile haben. Der größte Nachteil der von dir gewählten Variante ist, dass die Instanzen prinzipiell nicht gegenseitig isoliert sind.
Vielleicht ist der Weg von Frank (Import der gerade benötigten DB) doch der beste Weg, dann musst du bei Updates nicht jede Instanz einzeln updaten und läufst nicht die Gefahr, dass du in der falschen Instanz arbeitest. Außerdem führt es dazu, dass man sich immer um Backups kümmert...
Alternativ kann man sich überlegen, mit Containern zu arbeiten. Das wäre vermutlich die sauberste Lösung, aber nicht unbedingt die einfachste beim initialen Aufsetzen.
Gruß,
Stefan
wie man an diesen vielen Beiträgen zu diesem Thema erkennt, gibt es viele verschiedene Wege, die alle ihre ihre Vor- und Nachteile haben. Der größte Nachteil der von dir gewählten Variante ist, dass die Instanzen prinzipiell nicht gegenseitig isoliert sind.
Vielleicht ist der Weg von Frank (Import der gerade benötigten DB) doch der beste Weg, dann musst du bei Updates nicht jede Instanz einzeln updaten und läufst nicht die Gefahr, dass du in der falschen Instanz arbeitest. Außerdem führt es dazu, dass man sich immer um Backups kümmert...
Alternativ kann man sich überlegen, mit Containern zu arbeiten. Das wäre vermutlich die sauberste Lösung, aber nicht unbedingt die einfachste beim initialen Aufsetzen.
Gruß,
Stefan
Stefan Pichel
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)
Entwickler der Kassensoftware OrderSprinter (http://www.ordersprinter.de)