0:00:00.000,0:00:18.041 Intro 0:00:18.041,0:00:22.550 Herald: Ja, und dann freue ich mich euch[br]für den ersten Talk in diesem Block 0:00:22.550,0:00:29.240 vorstellen zu dürfen: devnope. devnope ist[br]Operator im Bereich Linux und Unix und hat 0:00:29.240,0:00:35.540 wie alle von uns das Gefühl gehabt, dass[br]man WorkAdventure-Entzugserscheinungen am 0:00:35.540,0:00:39.830 besten entgegenwirkt, indem man selber[br]WorkAdventure aufsetzt und in diesem Talk 0:00:39.830,0:00:45.950 wird er uns eine kleine Einführung geben,[br]wie man das so machen kann. devnope - dein 0:00:45.950,0:00:48.203 Vortrag. 0:00:48.203,0:00:55.290 devnope: Vielen Dank. [Willkommen] zu[br][meinem] Vortrag. Nun, zum aktuellen 0:00:55.290,0:01:00.660 Zeitpunkt ist die Dokumentation noch recht[br]dürftig in meinen Augen und ich hatte hier 0:01:00.660,0:01:05.580 und da durchaus Probleme meine Instanz zum[br]laufen zu bekommen. Ich habe später 0:01:05.580,0:01:11.070 erfahren, dass das nicht nur mir so ging[br]und ich dachte mir, das muss doch a - 0:01:11.070,0:01:17.730 automatisierbar sein und b - angenehmer[br]gehen. Basierend darauf habe ich dann 0:01:17.730,0:01:22.980 etwas gebaut und bin nun der Meinung dazu[br]lohnt es sich, einen kleinen Vortrag zu 0:01:22.980,0:01:30.540 halten. Was braucht es für meine Lösung?[br]Eine VM oder ein VPS, ein Virtual Private 0:01:30.540,0:01:36.480 Service, der eine Debian 10 VM hosted.[br]Natürlich kann man auch eine andere Linux- 0:01:36.480,0:01:41.490 Distribution nehmen, aber das war das, womit[br]ich mich am wohlsten gefühlt habe. Außerdem 0:01:41.490,0:01:46.950 braucht ihr eine Domain, bei der ihr eure[br]eigenen Subdomains einrichten könnt. Diese 0:01:46.950,0:01:52.020 Domain ist dann dafür da, damit andere[br]Leute eure WorkAdventure-Instanz erreichen 0:01:52.020,0:01:57.780 können. Außerdem hilft es, ein gewisses[br]Grundverständnis von Linux, Ansible und 0:01:57.780,0:02:03.630 Docker zu haben. Nun, was ist zu tun? Ich[br]gehe davon aus, dass ihr erstmal eine 0:02:03.630,0:02:08.970 blanke Debian-Maschine habt. Konfiguriert[br]am besten die Domains von vornherein. 0:02:08.970,0:02:16.920 Welche Sub-Domains genau zu konfigurieren[br]sind, das findet ihr dann in der Readme 0:02:16.920,0:02:23.220 des Repositories. Den Link seht ihr später[br]dann nochmal. Ladet euch am besten gleich 0:02:23.220,0:02:29.910 das ganze Repository mit runter. Innerhalb[br]des Repositories gibt es Konfigurationen, 0:02:29.910,0:02:36.030 die ihr noch treffen müsst, um den[br]Deployment-Prozess auf eure Umgebung 0:02:36.030,0:02:43.140 anzupassen. Das umfasst die Domain, über[br]die ihr später laufen wollt, welchen Raum 0:02:43.140,0:02:49.410 ihr standardmäßig öffnen lassen wollt und[br]mit welchem User ihr später per ssh auf 0:02:49.410,0:02:56.730 den Host connecten können wollt. Wende[br]dann das Ansible Playbook an, wenn ihr 0:02:56.730,0:03:02.580 fertig mit der Konfiguration seid. Hier[br]kurz der Befehl... Anschließend ist ein 0:03:02.580,0:03:07.050 Reboot nötig. Es werden einige Pakete[br]installiert oder geupdatet, die dies notwendig 0:03:07.050,0:03:12.750 notwendig machen. Wenn die Maschine wieder[br]da und verfügbar ist, könnt in den Ordner 0:03:12.750,0:03:18.210 /opt/workadventure/contrib/docker wechseln[br]und mit docker compose up -d WorkAdventure 0:03:18.210,0:03:25.260 starten. Was macht jetzt das Ansible[br]daran? Erstmal wird Debian 10 auf Testing 0:03:25.260,0:03:30.000 geupdatet und das komplette System wird[br]auf einen aktuellen Stand gebracht. 0:03:30.000,0:03:34.770 Außerdem werden einige Pakete installiert,[br]wie zum Beispiel htop, lynis, tmux und 0:03:34.770,0:03:39.600 vieles weiteres. Es wird ein User[br]angelegt, wie gerade schon erwähnt, der es 0:03:39.600,0:03:43.950 euch ermöglicht, euch später zu diesem[br]Host zu verbinden. Es werden viele 0:03:43.950,0:03:48.690 Security Settings angezogen, wie zum[br]Beispiel Firewall-Regeln, configs für den 0:03:48.690,0:03:54.150 ssh daemon, die zum Beispiel verbieten,[br]dass der root-User sich per ssh auf dem 0:03:54.150,0:03:59.430 Host verbinden kann. All dies sind[br]Maßnahmen, um euch einen schmerzfreien 0:03:59.430,0:04:03.150 Betrieb zu gewährleisten, wo ihr euch[br]nicht mehr so viel Sorgen machen müsst. 0:04:03.150,0:04:07.920 Anschließend wird docker und docker-[br]compose installiert und eingerichtet, 0:04:07.920,0:04:13.320 sodass ihr auch da keine weiteren Probleme[br]habt. Später wird ein WorkAdventure 0:04:13.320,0:04:19.500 heruntergeladen und für euch[br]bereitgestellt. Anschließend werden noch 0:04:19.500,0:04:24.390 ein paar config files ausgeliefert, sodass[br]ihr dann nichts weiter großartig herum 0:04:24.390,0:04:30.810 ändern müsst, sondern gleich loslegen[br]könnt. Kurz: wie ist WorkAdventure 0:04:30.810,0:04:36.150 überhaupt aufgebaut? Wir finden für die[br]einzelnen Funktionseinheiten einzelne 0:04:36.150,0:04:42.600 Container. Das Kopfstück hierbei ist der[br]Reverse Proxy. Dieser wird mit traefik 0:04:42.600,0:04:47.970 realisiert. traefik ist ein Reverse Proxy,[br]auch wie nginx. Jedoch läuft dieser 0:04:47.970,0:04:53.700 innerhalb von docker und greift auf andere[br]Container in docker zu. Dies ermöglicht 0:04:53.700,0:04:59.010 eine gewisse Menge an Automatisierung, die[br]andere Reverse Proxies nicht leisten 0:04:59.010,0:05:06.820 können. Außerdem wird gleich von Haus aus[br]Let's Encrypt mit angewandt und ihr 0:05:06.820,0:05:10.720 braucht euch keine Sorgen machen darüber,[br]woher ihr jetzt ein TLS-Zertifikat 0:05:10.720,0:05:17.530 bekommt, damit ihr euren Dienst mit HTTPS[br]und eurer URL erreichen könnt. Start und 0:05:17.530,0:05:22.870 Stopp der Anwendung wird auch über docker-[br]compose realisiert. Jetzt werden sich 0:05:22.870,0:05:26.260 vielleicht ein paar Leute denken: "Ja ja[br]ich hab's eilig, das ist schon so weit da, 0:05:26.260,0:05:31.510 aber irgendwie startet mein compose file[br]nicht." Das, was ich festgestellt habe, 0:05:31.510,0:05:39.820 was am meisten nerven kann, ist die[br]Anbindung dieses acme.json Files, was die 0:05:39.820,0:05:45.130 Informationen für das TLS-Zertifikat und[br]das Setup von Let's Encrypt ausmacht. 0:05:45.130,0:05:49.990 Außerdem kann es durchaus zu Problemen[br]kommen, wenn der docker socket nicht 0:05:49.990,0:05:54.910 ordentlich erreichbar ist. traefik möchte[br]mindestens lesend auf den Socket 0:05:54.910,0:05:59.260 zugreifen. Ich bin davon jetzt kein Fan.[br]Deswegen schränke ich da auch ganz stark 0:05:59.260,0:06:04.090 ein auf read only, lieber wär's mir[br]allerdings, wenn traefik das nicht tun 0:06:04.090,0:06:09.490 müsste. Außerdem, noch mal: stellt sicher,[br]dass ihr alle Sub-Domains entsprechend 0:06:09.490,0:06:13.390 konfiguriert habt. traefik wird nicht[br]ordentlich starten können, wenn nicht 0:06:13.390,0:06:18.175 alle Sub-Domains ordentlich erreichbar[br]sind. Beim initialen Start vor allem gebt 0:06:18.175,0:06:24.910 traefik ein bisschen Zeit, um alle anderen[br]Container und deren Schnittstellen zu 0:06:24.910,0:06:30.940 erreichen. Das kann einen Moment dauern[br]und kann für Irritationen sorgen. Ja, auf 0:06:30.940,0:06:35.590 die Karten bin ich jetzt noch nicht[br]eingegangen. Grundsätzlich könnt ihr jede 0:06:35.590,0:06:42.730 Karte nehmen und besuchen, die ihr[br]öffentlich findet. Die genaue Position der 0:06:42.730,0:06:47.980 Karte wird über die URL mit angegeben. Ihr[br]seht hier in dem Screenshot, in dem rot 0:06:47.980,0:06:52.630 markierten Bereich die quasi URL zu der[br]Map. Wir sehen hier [die URL] vom 0:06:52.630,0:07:03.590 Raumzeit-Labor, die uns zum Launch-Bereich[br]des rC3's quasi schickt. Alle Personen, 0:07:03.590,0:07:09.560 die auf euren Host gehen und auf diese[br]Map, werden dann in der gleichen Instanz 0:07:09.560,0:07:14.870 und in der gleichen Gegend landen. Ihr[br]seid dann in der Position, miteinander zu 0:07:14.870,0:07:18.680 kommunizieren und zu interagieren. Ihr[br]könnt natürlich auch eure eigenen Karten 0:07:18.680,0:07:23.330 bauen. Dazu findet ihr Infomaterial auf[br]der Seite von WorkAdventure, auf Youtube 0:07:23.330,0:07:27.680 und auf anderen Quellen. Seid aber[br]gewarnt: hier gibt es noch einige Bugs, 0:07:27.680,0:07:31.970 die zumindest mir aufgefallen sind, dass[br]bestimmte Positionsinformation nicht 0:07:31.970,0:07:37.790 ordentlich interpretiert werden. Macht[br]euch bereit, dass es hier ab und zu zu 0:07:37.790,0:07:45.170 Frust kommen kann. Noch ein Wort zu Jitsi.[br]Jitsi ist sehr mächtig. Ihr könnt 0:07:45.170,0:07:49.970 grundsätzlich jeden beliebigen Jitsi-[br]Server nutzen, der für euch euch 0:07:49.970,0:07:57.530 erreichbar ist. Ich schließe allerdings[br]den Betrieb eines eigenen Jitsi's im 0:07:57.530,0:08:01.760 Rahmen dieses Deployments aus.[br]Grundsätzlich würde ich empfehlen, Jitsi 0:08:01.760,0:08:08.150 komplett auf einer eigenen VM oder auf[br]einem eigenen Cluster zu betreiben. Jitsi 0:08:08.150,0:08:16.640 ist sehr ressourcenhungrig. WorkAdventure[br]nicht. Einfach aufgrund einer ordentlichen 0:08:16.640,0:08:23.330 Trennung würde ich davon abraten, das im[br]Mischbetrieb zu fahren. Jitsi kann auf 0:08:23.330,0:08:28.192 sehr viele Arten und Weisen konfiguriert[br]werden und hat viele Parameter. 0:08:28.192,0:08:31.760 Grundsätzlich wäre hier ein eigener[br]Vortrag angemessen, den werde ich aber 0:08:31.760,0:08:38.150 nicht leisten. Wie geht es weiter mit[br]meinem Repository? Ich habe vor, noch mehr 0:08:38.150,0:08:42.440 Energie und Zeit in das Thema Monitoring[br]zu investieren. Und in das Thema Logging. 0:08:42.440,0:08:45.710 Ich möchte mich hier nicht unbedingt auf[br]irgendwelche Docker-Befehle verlassen, 0:08:45.710,0:08:50.480 sondern möchte klassische Files. Weil, ich[br]bin ein klassischer Admin in dem Moment. 0:08:50.480,0:08:55.520 Außerdem stört mich noch das Thema[br]traefik. Das heraus zu operieren scheint 0:08:55.520,0:09:00.570 aber ein größeres Problem zu sein und[br]dafür habe ich aktuell noch keine Lösung. 0:09:00.570,0:09:05.470 Ich danke euch für eure Aufmerksamkeit und[br]freue mich auf die Q&A-Session. Außerdem 0:09:05.470,0:09:08.720 seid ihr eingeladen, mir natürlich auch[br]bidirektional Fragen zu stellen. 0:09:17.160,0:09:22.750 Herald: Ja - devnope! Danke für den[br]Vortrag! Da steht ja immer ein bisschen 0:09:22.750,0:09:30.610 Arbeit dahinter, die gar nicht so zwingend[br]in einem Einführungsvortrag erkennbar ist. 0:09:30.610,0:09:37.480 Aber bis die Fragen eintrudeln - also[br]liebe Leute im Stream schreibt gerne ins 0:09:37.480,0:09:45.610 Pad eure Fragen rein - vielleicht von mir[br]eine eine kleine Frage, wie viele Leute 0:09:45.610,0:09:50.980 hast du denn schon so an die Hand genommen[br]bei einer WorkAdventure-Implementierung 0:09:50.980,0:09:57.880 und Live-Schaltung?[br]devnope: Ich denke 4 oder sowas. Mit vier 0:09:57.880,0:10:02.410 Leuten habe ich darüber etwas länger[br]diskutiert und hab denen geholfen, Dinge 0:10:02.410,0:10:08.170 zu debuggen und Dinge zu tun. Ich bin[br]natürlich für Fragen und weiteres Feedback 0:10:08.170,0:10:12.595 sehr dankbar, damit mehr Leute das nutzen[br]und nutzen können. 0:10:12.595,0:10:16.120 Herald: Ja. Was was war da so die[br]häufigste Rückfrage, die du bekommen hast 0:10:16.120,0:10:20.590 von den Leuten?[br]devnope: Warum startet der Container 0:10:20.590,0:10:28.210 nicht? So grob zusammengefasst war so[br]meistens das Ding, das ist manchmal ein 0:10:28.210,0:10:33.820 bisschen frustrierend, irgendwie[br]ordentliche Fehlermeldungen aus dem Docker 0:10:33.820,0:10:39.040 Start rauszubekommen. Gerade so das[br]traefik und das Frontend, glaube ich, ja 0:10:39.040,0:10:43.360 doch das Frontend, waren so meistens die[br]Container, die gern etwas zickig sein 0:10:43.360,0:10:50.050 können. Ja, also vielleicht klappt es ja[br]irgendwann mal, dass man die Informationen 0:10:50.050,0:10:53.590 noch ein bisschen besser aufbereitet[br]bekommt, damit die Fehlersuche so es 0:10:53.590,0:10:59.350 denn Fehler gibt, leichter ist.[br]Herald: So, jetzt rollen hier langsam die 0:10:59.350,0:11:04.210 Fragen aus dem Stream rein. Die erste[br]Frage: Welches Specs sollte der Server 0:11:04.210,0:11:09.040 haben, bei ungefähr wie viel[br]gleichzeitigen Usern? Hast du da 0:11:09.040,0:11:11.830 Erfahrungswerte?[br]devnope: Also, ich hab's zwischenzeitlich 0:11:11.830,0:11:16.390 mal mit 20 Leuten probiert und hatte die[br]zweitkleinste Instanz von Hetzner, das 0:11:16.390,0:11:24.060 sind zwei Standard-CPUs mit 2 GB RAM oder[br]sowas. Storage braucht das Ding fast kaum, 0:11:24.060,0:11:31.590 also es hat, glaube ich, 10 oder 20 GB,[br]hat die Standard-VM, die Container-Images, 0:11:31.590,0:11:36.930 die es runterlädt, die sind etwas größer,[br]wie diesen nodejs-Container. Da hat man, 0:11:36.930,0:11:44.220 glaube ich, am Ende irgendwie 500 MB, 1GB[br]an dependencies, die da mit runterkommen, 0:11:44.220,0:11:52.590 aber das sollte passen, so weit. So weit[br]ich das beobachten kann, ist die Nutzlast 0:11:52.590,0:11:58.170 quasi auf dem Server gar nicht so[br]dramatisch groß wie das jetzt bei... wie 0:11:58.170,0:12:02.940 das jetzt für 100-200 Leute skaliert, kann[br]ich jetzt nicht sagen in Ermangelung einer 0:12:02.940,0:12:05.910 Testgruppe.[br]Herald: Schade, dass wäre etwas gewesen, 0:12:05.910,0:12:09.690 das ich mal ausprobieren würde. Aber gut,[br]die Zukunft ist ja noch lang. Nächste 0:12:09.690,0:12:13.200 Frage: das Ansible - wird das lokal oder[br]remote ausgeführt? 0:12:13.200,0:12:19.290 devnope: Ich führ's aktuell lokal aus. Ich[br]hatte da im Hinterkopf, dass es durchaus 0:12:19.290,0:12:23.880 auch Leute gibt, selbst im Admin-Umfeld,[br]die halt einfach einen Windows Desktop 0:12:23.880,0:12:28.260 haben und Ansible unter Windows-Bedingung[br]irgendwie zum laufen zu kriegen ist halt 0:12:28.260,0:12:34.860 ein schmerzhaft und da war es einfacher zu[br]sagen: okay Freunde, ich lad' dir das 0:12:34.860,0:12:38.970 einfach auf die VM direkt runter und[br]führ's da aus. Da weiß ich, was da für ein 0:12:38.970,0:12:41.910 Linux läuft und was da für ein Ansible[br]installiert ist. Das funktioniert 0:12:41.910,0:12:48.030 weitestgehend.[br]Herald: Dann die nächsten brennenden 0:12:48.030,0:12:53.640 Fragen rollen hier zu Jitsi rein. Ich[br]kombiniere mal die zwei fragen: Welchen 0:12:53.640,0:12:57.900 Jitsi-Server würdest du empfehlen und gibt[br]es Dinge, auf die man oder mensch achten 0:12:57.900,0:13:06.330 müsste, bei dem Jitsi-Server?[br]devnope: Ich persönlich nutze meinen 0:13:06.330,0:13:14.160 eigenen Jitsi, den ich auf einer anderen[br]Instanz betreibe. Da läuft aber noch ein 0:13:14.160,0:13:17.460 bisschen mehr drauf, deswegen - mit Specs[br]bin ich da ein bisschen vorsichtig. 0:13:17.460,0:13:29.230 Ansonsten: es gibt auch Leute, die nutzen[br]den public Jitsi von Jitsi direkt. Der 0:13:29.230,0:13:35.470 wird über eine Umgebungsvariable im .env-file[br]angegeben, ansonsten kann man, habe ich 0:13:35.470,0:13:43.090 gesehen, kann mensch Jitsi-Server und[br]Jitsi-Räume in den Maps als Properties 0:13:43.090,0:13:49.300 angeben. Und das geht tatsächlich wohl[br]auch pro Bereich den man halt angibt, also 0:13:49.300,0:13:55.750 das funktioniert halt über Layer und ein[br]bestimmter Layer kann halt ein bestimmter 0:13:55.750,0:13:59.980 Jitsi-Raum sein und da kann man halt[br]sagen: alles klar, wir haben jetzt hier 0:13:59.980,0:14:04.180 einen großen Meeting-Saal, wir haben jetzt[br]hier ein dickes Jitsi, das ist halt nur 0:14:04.180,0:14:10.990 dafür da, da kann ich halt sagen, okay,[br]extra Property für Jitsi-Server und so 0:14:10.990,0:14:16.000 heißt der Jitsi-Room, und Feuer frei.[br]Ansonsten ist vielleicht noch drauf zu 0:14:16.000,0:14:21.520 achten, ich hab immer wieder Probleme[br]gehabt bei Jitsi mit der Authentifikation, 0:14:21.520,0:14:25.960 wenn man dort irgendwie Authentifikation[br]einbaut und User Management. Da gibt's 0:14:25.960,0:14:30.970 bestimmt Leute, die haben da wesentlich[br]detailliertere Erfahrungen. Ich hab's bei 0:14:30.970,0:14:33.460 meinen Jitsi-Servern dann einfach[br]irgendwann gesagt, es interessiert mich 0:14:33.460,0:14:39.310 nicht. Ich mach' die Authentifikation an[br]der Stelle aus. Grundsätzlich gibt es wohl 0:14:39.310,0:14:46.360 aber die Möglichkeit, auch mit JWT-Tokens[br]zu arbeiten und da ein bisschen den 0:14:46.360,0:14:51.490 öffentlichen Gebrauch einzuschränken und[br]auf das WorkAdventure zu limitieren. 0:14:51.490,0:14:58.480 Herald: Ja, das ist, so wie ich das Pad[br]beobachte, ein Hot Topic. Alle wollen 0:14:58.480,0:15:03.580 WorkAdventure aufsetzen. Uns läuft leider[br]die Zeit davon. Der Slot ist nicht so 0:15:03.580,0:15:07.750 lang. Sag' noch mal kurz, wie die Leute[br]dich erreichen können, um die Fragen 0:15:07.750,0:15:12.010 weiter zu diskutieren.[br]devnope: Ihr könnt mich gerne über Twitter 0:15:12.010,0:15:22.570 erreichen, unter @devnope. Ansonsten bin[br]ich auch hier im Matrix-Raum vom R2R zu 0:15:22.570,0:15:28.380 erreichen. Genau. Also das sind so die[br]primären Ansprechmöglichkeiten. Ansonsten 0:15:28.380,0:15:37.560 ist es bestimmt auch möglich, wenn ihr[br]über GitHub was zukommen lasst, und mich 0:15:37.560,0:15:41.220 anschreit, dann werde ich darauf[br]entsprechend reagieren. 0:15:41.220,0:15:44.610 Herald: Alles klar. devnope - ganz[br]herzlichen Dank für deinen Vortrag und das 0:15:44.610,0:15:50.227 Q&A und dann, ja, wir sehen uns hier auf[br]der Veranstaltung. 0:15:50.227,0:15:53.799 devnope: Vielen Dank und wir sehen uns! 0:15:53.799,0:15:57.359 Outro 0:15:57.359,0:16:06.000 Untertitel erstellt von c3subtitles.de[br]im Jahr 2021. Mach mit und hilf uns!