simple-lightbox domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/htdocs/w010b2f5/page_m/wp-includes/functions.php on line 6121advanced-responsive-video-embedder domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /www/htdocs/w010b2f5/page_m/wp-includes/functions.php on line 6121Kurz zur Info: Ich bin kein Steuerberater und dieser Beitrag stellt auch keine Steuerberatung dar. Bei Fragen oder Unsicherheit hilft nur der Weg zur professionellen Beratung. Alle Angaben ohne Gewähr.
Ja, man hat im Jahr 2019 einen Grundfreibetrag von 9.168 Euro. Die ersten 9168 Euro muss niemand versteuern – auch Millionäre nicht.
Aber: alles darüber muss versteuert werden und somit auch in der Steuererklärung angegeben werden. Hast Du also einen Hauptjob und machst Amazon „nur so nebenbei“ musst Du diese Einnahmen ebenfalls in der Steuererklärung angeben – denn Du bist ja längst (hoffe ich jedenfalls für Dich) über dem Grundfreibetrag.
In diesem Punkt bin ich mir selbst nicht so ganz sicher. Ich weiß, dass man für „unregelmäßige Einnahmen“ kein Gewerbe braucht. Also, wenn man mal für den Nachbarn ein Carport aufbaut und dafür 500 Euro bekommt, dann gibt man das einfach in der Steuererklärung an und fertig. Auch unregelmäßige Einnahmen müssen versteuert werden (siehe Punkt 1).
Für regelmäßige Einnahmen (was Affiliate-Marketing ja wohl sein dürfte) braucht man allerdings ein Gewerbe – immerhin muss man ja auch Rechnungen an Amazon schreiben. Also fix zum Finanzamt laufen, ein Gewerbe beantragen und jedes Jahr eine Einnahmenüberschussrechnung über die normale Steuererklärung abgeben. Fertig.
Solltest Du über 60.000 Euro Gewinn im Jahr kommen, wird das Gewerbe Bilanzpflichtig. Aber das ist ein anderes Thema.
Jetzt gibt es die Kleingewerberegelung. Diese vereinfacht die Bürokratie und den monatlichen Aufwand etwas, da man nicht zum Vorsteuerabzug (MwSt) berechtigt ist. Dafür darf man im Jahr auch nicht mehr als 17.500 Euro Gewinn machen (was nur mit Affiliate eh sportlich wäre). Man könnte also denken, dass beim Affiliate-Marketing mit Amazon auch keine USt-ID notwendig sei.
Aber: Sobald man Geld von Amazon bekommt, hat man eine Leistung für ein Unternehmen im EU-Ausland (Luxemburg) erbracht. Und diese Leistung muss über die Zusammenfassende Meldung angemeldet werden. Diese Meldung kann aber nur mit einer gültigen USt-ID abgegeben werden. Ergo braucht man auch als Kleingewerbetreibender so eine ID. Einfach beantragen.
Denn: „Im Bestimmungsland müssen die Waren vom Erwerber der Umsatzsteuer unterworfen werden.“ Das heißt, man selbst zahlt auf diese Einnahmen keine Umsatzsteuer, sondern der Leistungsempfänger – also Amazon. In diesem Fall hat Amazon ja Deine Leistung (das Verteilen von Links) in Anspruch genommen und Du hast dafür Geld bekommen. Stichwort für Google ist hier Reverse Charge.
Einkommensteuer zahlst Du natürlich trotzdem für diese Leistung. Nur eben keine Umsatzsteuer in Deutschland, diese zahlt Amazon dann in Luxemburg.
Angemeldet ist man bei dem Programm super schnell. Und die Einnahmen laufen dann einfach in Form von Gutscheinen in dein Amazon-Konto oder werden Dir überwiesen. Ich sehe super viele YouTuber, Blogger und co, welche keine USt-ID im Impressum angegeben haben. Soweit ich weiß, ist diese Angabe Pflicht, sobald man diese hat. Steht dort keine, hat derjenige es entweder vergessen, oder meldet die Umsätze nicht richtig an.
Dennoch folgt dann etwas bürokratischer Aufwand. Jeden Monat muss die Zusammenfassende Meldung übermittelt werden und die Einnahmen müssen richtig versteuert werden. Alles andere ist strafbar.
Also: Befass Dich in jedem Fall mit der Thematik. Stichworte sind wie gesagt
Dein Steuerberater kann Dir dabei helfen. Es ist nicht so schwer – es gibt eben nur ein paar Punkte zu beachten.
Die korrekte Kennzeichnung von solchen Links ist nochmal ein ganz anderes Thema.
]]>Nachdem ich ziemlich genau 5 Jahre in einer Agentur täglich mit Magento (2) tolle Projekte auf die Beine gestellt habe, war für mich sofort klar, dass Magento die Basis für mein neues Trainingsportal werden soll. Also habe ich mir ein paar Anforderungen notiert und diese dann nach und nach umgesetzt. Natürlich unterstützt Magento von Haus aus schon die ganze Produktverwaltung usw. Aber dennoch ist es nur eine Basis, auf welche man aufbauen muss. Auf dem Zettel stand so etwas wie:
Vieles davon hatte die erste Version natürlich noch nicht. Aber mittlerweile ist es ziemlich umfangreich geworden. Auch wenn das Shopdesign dabei noch komplett im Standard-Theme hängen geblieben ist. Unter der Haube passiert fast wöchentlich etwas neues. So auch das Update auf Magento 2.2.6 vor wenigen Tagen. Ich probiere immer auf der aktuellsten Version zu bleiben. Dabei kommt mir immer wieder die Illustration eines Eisbergs in den Sinn, bei welchem man auch nur die Spitze sieht, und auf den ersten Blick nicht vermutet, was sich alles darunter befindet.
Um dies alles umsetzen zu können, brauchte ich natürlich nich nur das technische KnowHow, sondern musste auch noch einiges im Bereich Steuern und Datenschutz nachholen. Dabei darf natürlich der wöchentliche Content für YouTube, Instagram und die anderen Plattformen nicht zu kurz kommen. Support per Kommentarfunktion und per Mail gibt es zwischendurch auch immer wieder.
Von Docker-Containern und Backup-Strategien möchte ich gar nicht erst anfangen.
Nach gut 6 Monaten kann ich aber sagen: Es war der richtige Schritt. Die Teilnehmer begrüßen den Umstieg auf die Plattform. Viele wollten ihre Kurse von Udemy in den Shop portieren lassen. Genauso häufig höre ich allerdings die Rufe nach einer Offline-Funktion. Aktuell werden die Kurse nur online und direkt über die Plattform angeboten. Das hat den Grund, dass die Kurse immer mal wieder umgebaut und erweitert werden. Ich möchte, dass es kein starres Produkt ist. Die Kurse leben durch Interaktion und Dynamik.
Natürlich ist alles viel mehr Arbeit gewesen, aber es war richtig so. Nun bin ich unabhängig von den Machenschaften Dritter und kann genau das umsetzen, was ich selbst für richtig halte.
Als nächstes kümmere ich mich dann endlich mal um die Optik des Shops. Das Auge isst ja schließlich mit. Dabei bin ich allerdings auf Hilfe von Extern angewiesen – Design ist nun wirklich nicht mein Steckenpferd.
Und wer weiß, eventuell mache ich aus dem Ergebnis irgendwann auch mal ein ganz eigenes Produkt.
]]>Dabei ist mir in der Vergangenheit ein Kanal besonders aufgefallen. Diesen werde ich hier nich nennen, da dieser Beitrag niemandem schaden soll. Aber werfen wir einen Blick auf ein paar Zahlen.
Wie kommt man überhaupt an Zahlen? Natürlich kann ich (leider) nicht auf den YouTube-Analytics-Account zugreifen. Das wäre aber auch zu einfach. Man hat nur die Chance, extern die Zahlen zu beobachten. Also wie verhalten sich Abos und Views (gesamt) zu einem bestimmten Zeitraum. Dafür nutze ich SocialBlade. Hier wird jeden Tag aufgezeichnet, wieviele Views und Abos ein Kanal hat und dies ins Verhältnis zum Vortag gesetzt. Schauen wir uns also mal meinen Kanal zum heutigen Zeitpunkt an.
Hat man nun nicht gerade einen super viralen Hit gelandet, schaltet irgendwo Werbung oder macht Kooperationen mit anderen YouTubern, verhält es sich relativ linear. Also gibt es keine großen Ausreißer nach oben oder unten. Die Views und Abos wachsen stetig weiter. Das kann man auch bei größeren Kanälen beobachten und auch hier passieren nur selten Wunder.
Nur zur Info: Die Zahlen der Einnahmen kann man hier total ignorieren. Da kann man auch würfeln. Es könnte sich so gut wieder jeder denken, dass man mit den Views am Tag zwischen 0,60€ und 10€ verdient hat. Die spanne ist so groß, dass die Angabe wirklich unnötig ist. Ja, ich liege irgendwo dazwischen. Aber wo? Das schwankt von Monat zu Monat.
Okay, so weit, so langweilig. Aber wenn ich mir nun diese Seite des besagten Kanals anschaue, dann stelle ich viele komische Dinge fest. Erst einmal ein Screenshot.
Was fällt auf? Die Abo und View-Zahlen schwanken extrem. Warum sollte jemand über mehrere Tage hinweg ordentlich Abos verlieren? Ganz einfach: YouTube löscht Fake-Accounts. Man kann in China, Russland, usw. gegen Geld neue Abonnenten, Views, Daumen hoch oder runter kaufen. Diese müssen natürlich dann automatisiert Millionen von Accounts anlegen, welche dann auch den Kanal abonnieren.
Irgendwann fällt das YouTube/Google dann auf, und die Accounts werden gelöscht. Abos kann man natürlich verlieren. Views theoretisch nicht. Wenn Views abgezogen werden, ist das meistens kein gutes Zeichen. Dann korrigiert YouTube die Statistiken praktisch im Nachgang. Heißt: Dort ging es nicht mit rechten Dingen zu.
Warum sollte der besagte Kanal also an einem Tag mehr als 2.000 Abos dazu bekommen (also eine Steigerung von fast 10%), und am nächsten Tag 139 Abos wieder verlieren? Ganz einfach: die 2.000 Abos waren gekauft. Die Zahl ist dabei auch viel zu gerade. Schaut man sich die anderen Tage an, sind am 13.07. einfach nur +43 Abos dazu gekommen. Das würde ins Bild passen. Die restlichen 2.000 eher nicht.
Weiterhin stimmt das Verhältnis zwischen Views und Abos nicht. Warum sollten am 12.07. aus 2.333 Views nur 34 Abonneten werden, aber einen Tag spät aus 3x (DREI MAL) so vielen Views plötzlich 60x (SECHZIG MAL) so viele Abos?
Wartet man nun ein paar Tage, steht dort sicherlich wieder irgendwann ein dickes Minus.
Könnte man nun in die Statistiken schauen, würde man schnell feststellen, dass ein Großteil der Abonnenten gar nicht aus Deutschsprachigen Ländern stammt (was für einen Deutschen Kanal schon ziemlich seltsam ist).
Eigentlich erstmal gar nichts. Man kann höchstens (mehr) Geld für Kooperationen etc. rausschlagen, bekommt Produkte zugesendet oder kann den Kanal anderweitig vermarkten. Nach außen sieht das natürlich toll für Firmen aus.
Außerdem habe ich auf diesem Kanal beobachtet, dass Videos über Nacht richtig viele Views und „Daumen hoch“ dazu bekommen. Nachts um 0 Uhr stehen dort beispielsweise 500 Views für das neueste Video. Das ist okay. Am nächsten Tag plötzlich 7.000! Also entweder der Kanal richtet sich an Schichtarbeiter die Nachts nichts zu tun haben, oder hier stimmt etwas nicht. Und das passiert bei jedem einzelnen Video.
Liebe Firmen, lasst Euch von den Zahlen nicht blenden. Lasst Euch (vollständige!) Screenshots von den Analytics-Seiten der „Partner“ senden. Befasst euch mit dem Thema. Schmeißt den Leuten kein Geld oder Produkte hinterher, welches sie zum Teil verwenden um neue Views auf Euer bezahltes Werbe-Video zu kaufen. Das soll nur suggerieren, dass es gut lief und ist in meinen Augen schlicht und ergreifend Betrug.
Interessante Links mit wichtigen Infos wären zum Beispiel (extra nicht verlinkt, führt nur zu den eigenen Statistiken):
https://www.youtube.com/analytics?o=U#dt=lt,fe=17724,fr=lw-001,fs=16907;fc=0,fcr=0,r=subscribers,rpa=a,rpbm=31-30-,rpd=117,rpg=32,rpm=l,rpp=0,rpr=d,rps=32,rpsd=1
(Abonnenten: Zeitraum seit Erstellung / Darstellung auf einer Karte, wo welche Abonnenten herkommen / Aufgeschlüsselt nach Region / Gewonnene vs. Verlorene Abonnenten)
oder
https://www.youtube.com/analytics?o=U#dt=lt,fe=17724,fr=lw-001,fs=16907;fc=0,fcr=0,r=ratings,rpa=a,rpbm=40-39-93,rpd=117,rpg=39,rpm=l,rpp=0,rpr=d,rps=39,rpsd=1
(Bewertungen: Zeitraum seit Erstellung / Darstellung auf einer Karte, wo welche Bewertungen herkommen / Aufgeschlüsselt nach Region / Mag ich vs. Mag ich nicht)
Tauchen hier (im Verhältnis) hohe Zahlen aus Fernost auf, würde ich es einfach sein lassen. Unvollständige oder teilweise geschwärzte Screenshots halte ich ebenfalls für Zensur. Warum sollte man hier etwas verheimlichen, wenn alles gut läuft?
Natürlich könnte theoretisch auch jemand anderes Abos, Views und Likes für einen anderen Kanal kaufen. Aber im Ernst: Wie wahrscheinlich ist das UND was hätte derjenige davon?
Natürlich kann es auch sein, dass durch Kooperationen oder ehrliche Werbung auf einen Schlag mehr Abos gewonnen werden, als an „normalen“ Tagen. Aber erstens nicht so „rund“ im obigen Beispiel, und zweitens wären die Abos dann nicht im Laufe der nächsten Woche wieder weg.
]]>Vor ziemlich genau einem Jahr ging mein erster Kurs auf Udemy online. Dies ist eine Plattform, auf welcher man Online-Kurse hochladen und verkaufen kann. Udemy streicht dabei selbstverständlich einen Teil der Einnahmen ein. Soweit klingt das erstmal auch alles sehr gut, oder? Immerhin muss ich den Kunden keine Rechnungen schreiben, bekomme am Ende eine einzelne Überweisung und alles ist super.
Mein großes Problem mit der Plattform ist allerdings, dass immer mehr Kurse praktisch zum Nulltarif verramscht werden. Eine Aktion jagt die nächste und der Kunde bekommt den Eindruck, dass man praktisch blöd sein muss, wenn man den Normalpreis zahlt. So bekommt man nahezu jeden Kurs früher oder später für unter 10 Euro. Warum nur nahezu? Ganz einfach: Man kann sich als Dozent aus diesen Werbeaktionen austragen lassen. Und das würde ich auch jedem wärmstens ans Herz legen.
Denn sobald Udemy einen Kurs vermarktet, ändert sich auch das Provisionsmodell. In diesem Fall streicht sich Udemy also satte 50% vom Nettoumsatz ein. Wird der Kurs also für 10 Euro verkauft, bleibt nicht mehr viel für den Dozenten übrig. Da müsste man wirklich tausende von neuen Teilnehmern monatlich dazu bekommen, um nachher überhaupt etwas von den Umsätzen zu merken. Mehr Teilnehmer heißt natürlich auch mehr Arbeit – denn die Teilnehmer stellen ja auch Fragen im Kurs und wollen betreut werden. Wie lange kannst Du für ~4 Euro vor Steuern einen Kunden betreuen? Eben.
Das sind dann Preisregionen, welche von der Umsatzstärke eher Affiliate-Marketing für Waschmaschinen gleichzusetzen sind – nur eben mit Nacharbeit und Fragen. Klingt nicht unbedingt nach einem erstrebenswerten Ziel, oder?
So kommt es, dass in der deutschsprachigen Facebook-Gruppe von Udemy immer wieder Posts auftauchen, welche ganz stolz nach einem Jahr harter Arbeit die 1.000 Dollar-Grenze geknackt haben. Da blutet mir wirklich das Herz. Verkauft Euch nicht so günstig!
Also auf diesen Zug würde ich auf keinen Fall aufspringen. Daher noch einmal: Tragt Euch in jedem Fall aus den Werbemaßnahmen bei Udemy aus. Dann nehmt ihr daran nicht mehr Teil und könnt die Kurse selbst für anständige Preise verkaufen, von welchen man am Ende auch etwas hat. Wenn man einmal in diesem System gefangen ist, kann man auch nicht plötzlich seine Preispolitik komplett umkrempeln – das wirkt unglaubwürdig.
Wenn man dann dieses Preisdumping nicht mehr mitmacht, muss man seine Kurse natürlich irgendwie an den Mann / die Frau bringen. Wichtig ist, dass man den Preis bei Udemy dann so hoch ansetzt, dass diese Kurse über die Plattform ohne einen Eurer Gutscheine praktisch nicht mehr gekauft werden. Denn ein Kauf ohne Gutschein heißt: Udemy hat den Kurs verkauft, 50% vom Nettoumsatz sind weg.
Dann kommt es zur ersten Auszahlung, auf welche man drei Monate gewartet hat. Hier ist es so, dass Udemy nur in US-Dollar und per PayPal auszahlt (mittlerweile gibt es auch eine zweite Möglichkeit, welche aber für mich keinen Vorteil bietet). Hier wird es dann auch noch einmal teuer, da man das Geld bei PayPal umrechnen lassen muss, bevor man es auszahlen lassen kann.
Am 6. April 2018 habe ich z.B. von Udemy 2.454,07 USD erhalten. Dafür habe ich umgerechnet 1.948,62 EUR erhalten. Ich bekomme also 0,79403603 EUR pro Dollar an diesem Tag. Laut finanzen.net lag der Kurs an diesem Tag bei 0,8131. Also hätte ich 1995,40 EUR erhalten müssen. Das sind satte 46,78 EUR Unterschied (schon bei so kleinen Beträgen). Und so läppern sich diese Werte natürlich auch über die Zeit.
Der Witz ist ja, dass die meisten Leute in EUR bezahlen, dann wird USD draus gemacht und am Ende wieder EUR. Auf dem Weg geht sicher einiges verloren.
Am besten wäre es, wenn Udemy in einer Wunsch-Währung das Dozenten-Konto führen könnte. Sodass man in EUR bezahlt werden kann wenn man möchte. Wenn jemand einen Kurs in EUR kauft, bleibt es EUR (99% der Fälle im Deutschsprachigen Raum). Wenn jemand in einer Fremdwährung kauft, wird es EUR. Aber zweimal Umrechen ist wohl einfacher.
Weiterhin ist am Anfang nachteilig, dass Udemy natürlich MwSt erheben muss. Wenn man nun ein Kleingewerbe ohne Umsatzsteuer betreibt, „verschenkt“ man praktisch diese 19%. Gut, auf der anderen Seite könnte man mit einem eigenen Shop ohne MwSt gar nicht ins Ausland verkaufen.
Der einzige wünschenswerte Fall ist also: Der Kunde kauft den Kurs zu einem für Dich fairen Preis über einen von Dir vorher generierten Gutschein auf der Plattform (welchen man direkt in der URL übergeben kann). Du nutzt also Udemy nur als Hosting-Anbieter für deine Videos. Kostet ein Kurs also zum Beispiel 100€ regulär auf der Plattform, bietest Du einen Gutschein an, sodass der Endpreis bei 40€ liegt. Das kannst Du natürlich frei entscheiden. Von diesen 40€ über einen deiner Gutscheine, erhältst Du satte 97% des Netto-Umsatzes. Das sind dann auf jeden Fall vernünftigere Beträge.
Von diesem Geld kannst Du dann sogar Landingpages hosten, selber bauen oder in Auftrag geben, Facebook-Werbung schalten oder Traffic aus anderen Quellen generieren. Man hat plötzlich ganz andere Optionen und ist nicht mehr so stark abhängig von der Plattform. Unabhängig ist man leider dennoch nicht.
Selbst wenn man das alles so macht, kann man zwar vernünftige Preise erzielen, aber ist trotzdem eingeschränkt und abhängig. Man sagt ja: Bau kein Haus auf fremdem Grund.
Man hat nach wie vor keinen Zugriff auf die Kundendaten und spielt diese Kunden Udemy zu. Man selbst kann nur begrenzt Newsletter schreiben und diese Kontakte nutzen. Man kann mit den Kundendaten nicht auf eine andere Plattform umziehen – die Daten gehören einem einfach nicht.
Sollte Udemy irgendwann mal nicht mehr existieren (was ich nicht hoffe), ist alles weg. Man steht mit seinen Inhalten wieder bei Null und ohne Einnahmen dar.
Weiterhin ist es richtig ärgerlich, dass man die Auszahlung seiner eigenen Umsätze immer erst drei Monate später bekommt. Man kann mit dem Geld nicht arbeiten. Wenn das Ganze erstmal angelaufen ist, ist das nicht schlimm. Dann bekommt man ja jeden Monat das Geld für die vergangenen Monate. Aber es fühlt sich komisch an und macht den Start schwieriger.
Zudem hat man nicht die Möglichkeiten selbst Werbung auszuspielen, da man nicht weiß, welcher Kunde gekauft hat. Man kann also keine Tracking-Events im Online-Marketing einsetzen um Werbung auf anderen Plattformen zu schalten. Ich denke, dass Udemy das auch nicht möchte.
Man darf nicht vergessen, dass Udemy allerdings auch super Vorteile hat. Man muss sich nicht um Steuern kümmern, kann weltweit seine Kurse vertreiben und bekommt am Ende nur eine Zahlung. Das macht die Buchhaltung natürlich super einfach.
Dass einem die Kundendaten nicht gehören, hat auch einen großen Vorteil: Themen wie die DSGVO können einem egal sein – man ist ja nur Nutzer der Plattform.
Alleine diese beiden Punkte sind ein extrem großes Plus. Man kann sich als Einzelkämpfer auf genau das konzentrieren, was man machen möchte: Videos. Wahrscheinlich hätte ich schon zwei Kurse mehr, wenn mich um diese Themen aktuell nicht kümmern müsste.
Am Ende bist genau Du als Dozent das, was Udemy braucht. Du brauchst Udemy nicht, es ist eigentlich eher umgekehrt. Ohne Dozenten gibt es keine Kurse. Du hast alle Karten in der Hand – spiele sie richtig. Hilf mit Deinem Handeln, das Preis-Dumping auf der Plattform zu stoppen. Arbeite nicht ein Jahr für 1.000 Dollar.
Die Plattform war für mich eine gute und günstige Möglichkeit, zu testen ob mein Thema gut vom Markt angenommen wird. Dafür bin ich auch sehr dankbar – ohne Udemy wäre das ein enormer Kraftaufwand gewesen, von welchem man am Ende nicht einmal weiß, ob das alles hinhauen wird. Man muss also weniger in Vorleistung gehen und kann das Ökosystem nutzen.
Ohne Udemy wäre ich nicht da, wo ich heute bin. Das ist klar.
Wenn man „nur“ auf Udemy ist, keine Webseite oder andere Kanäle hat um Traffic auszuspielen, ist Udemy sicher eine super Plattform um ein paar Euro dazu zu verdienen. Möchte man das Ganze aber ersthaft betreiben, eigenes Marketing auf die Beine stellen und seine Kurse zu fairen Preisen verkaufen, kommt man nicht drumherum selber Traffic aufzubauen.
Ich habe Udemy für neue Inhalte allerdings den Rücken gekehrt, da ich mich für meine Selbstständigkeit nicht in diese Abhängigkeit begeben möchte. In einem eigenen Online-Shop auf meinen eigenen Servern betreibe ich nun eben diese Lösung. Ich verstehe auch, dass das nicht jeder leisten kann. Der Shop hätte im Einkauf sicherlich mehrere 10.000 Euro gekostet. Als Softwareentwickler aus dem eCommerce-Bereich kann ich mir dabei natürlich super selber helfen.
Die schon genannten zusätzlichen Aufwände in Sachen Backups, Datenschutz, Serverkosten, Buchhaltung etc. kommen dann ja noch on Top. Alleine die Abrechnung in unterschiedliche EU-Länder ist echt ätzend. Am Ende muss man schauen, welche Vorteile sich für einen ergeben.
Ich mag die Plattform sehr gerne, die Kommunikation in der geschlossenen Facebook-Gruppe für Dozenten ist ebenfalls sehr angenehm. Man findet immer Hilfe und muss nicht alleine Kämpfen bei Fragen – das ist super positiv!
Wenn Udemy jetzt
wäre es eine optimale Plattform. So ist es „nur“ eine gute Plattform, welche ein paar Nachteile mitbringt. Diese sollte man kennen und für sich persönlich abwägen.
Für einen Start als Online-Dozent gibt es meiner Meinung nach dennoch keine bessere Alternative zur Zeit.
]]>Mir ging es darum, dass ich die Webseite eigentlich genauso lassen kann wie zuvor. Also weiterhin statischer Content und ein JavaScript lädt dann die Kommentare dazu. Genau wie bei Disqus also. Und das habe ich getan. Zum Glück gibt es auch schon fertige Docker-Images. Zusammen mit LetsEncrypt und der Apache-Konfiguration hatte ich Ablösung innerhalb weniger Stunden stehen.
Der Container war schnell gestartet. In /config liegt nur eine isso.conf, welche ich danach beschreibe.
docker run -itd --restart=always -v /docker/isso/config:/config -v /docker/isso/db:/db -e GID=1000 -e UID=1000 --hostname=comment-haus-automatisierung-com.docker --name isso-comment-haus-auto wonderfall/isso
Hier der Inhalt der isso.conf
[general] dbpath = /db/comments.db host = https://haus-automatisierung.com/ max-age = 15m [server] listen = http://0.0.0.0:8095/ [moderation] enabled = false [guard] enabled = true ratelimit = 2 direct-reply = 3 reply-to-self = true require-author = true require-email = true
Das ist auch schon alles. Host die die Webseite, welche später die Kommentare laden soll. Diese Angabe ist für die CORS-Geschichten notwendig. Der Teil läuft also schonmal. Nur ist nun noch nichts von extern erreichbar. Man könnte natürlich die Ports direkt freigeben und das Ganze auf Port 8080 oder so laufen lassen. Aber ich habe mich für eine Variante mit https über den Apache per ReverseProxy entschieden:
<Macro comment-haus-automatisierung-com>
ServerName comment.haus-automatisierung.com
ServerAdmin postmaster@emailu.de
DocumentRoot "/blabla/htdocs/comment/"
ErrorLog "/blabla/logs/comment.error.log"
CustomLog "/blabla/logs/comment.access.log" combined
ProxyPreserveHost On
ProxyRequests off
ProxyPass / http://localhost:8095/
ProxyPassReverse / http://localhost:8095/
</Macro>
<VirtualHost *:80>
Use comment-haus-automatisierung-com
</VirtualHost>
<VirtualHost *:443>
Use comment-haus-automatisierung-com
SSLEngine on
SSLCertificateFile /blabla/comment.cert.cer
SSLCertificateKeyFile /blabla/comment.private.key
SSLCertificateChainFile /blabla/comment.fullchain.cer
</VirtualHost>
Das wars. Zertifikat erstellt und gestartet. Läuft alles. Eigentlich arbeite ich intern ebenfalls mit Namensauflösung. Für diesen Beitrag habe ich das aber in localhost geändert. Müsste eigentlich auch klappen.
Auf dieser Seite kann man sich einen Export der aktuellen Kommentare laden. Sobald man dies getan hat, sollte man Disqus abschalten. Ansonsten bekommt man logischerweise eventuell eine Differenz. Danach bekommt man per Mail einen öffentlich zugänglichen Link auf die XML-Datei mit den Kommentaren. Alleine an dieser Stelle sollte man sich schon fragen, wie groß Datenschutz dort wirklich geschrieben wird. Meine Datei enthält gut 32.000 Zeilen und ziemlich viele Kommentare.
Jetzt muss diese Datei natürlich noch importiert werden. Dazu kopiere ich die XML-Datei auf den Server und schiebe sie einfach in das DB-Verzeichnis (da dieses ja eh schon ein Volume von Docker ist). Dann führe im Container den folgenden Befehl aus:
isso -c /config/isso.conf import /db/haus-automatisierung-2018-05-01T09_00_33.682754-all.xml
Der Fortschritt wird dann mit einer Prozentanzeige angezeigt und am Ende hoffentlich wie folgt quittiert:
[100%] 98 threads, 1876 comments
Das sollte der wichtigste Schritt auch schon gewesen sein. Gar nicht so schwer bis hier hin.
Wie man gesehen hat, lautet meine Domain für die Kommentare comment.haus-automatisierung.com. Entsprechend binde ich nun das JavaScript dafür ein.
<script data-isso="//comment.haus-automatisierung.com/"
data-isso-css="true"
data-isso-lang="de"
data-isso-reply-to-self="true"
data-isso-require-author="true"
data-isso-require-email="true"
data-isso-max-comments-top="inf"
data-isso-avatar="false"
data-isso-vote="true"
src="//comment.haus-automatisierung.com/js/embed.min.js"></script>
<section id="isso-thread"></section>
Fertig. Läuft!
Leider steht jetzt noch die Aufgabe an, das Design an den Rest der Seite etwas anzupassen.
Zum Backup gehört nun noch das comments.db-File, welches eine sqllite-Datenbank ist.
]]>Beginnen wir also wie immer mit ein paar Zahlen:
Wie man sieht, wird es hier immer dünner. Warum? Erzähle ich gerne.
Die Webseiten selbst haben sich in diesem Jahr optisch fast gar nicht verändert. Nur Kleinigkeiten wurden angepasst. Aber mittlerweile sind diese meiner Meinung nach auch alle zusammen auf einem relativ hohen Level, sodass ich gar nicht mehr das Bedürfnis habe, diese oft anzufassen. Zumindest nicht mit so großen Schritten wie in den letzten Jahren. Es gibt eher viele kleine Optimierungen.
Bestimmt ist noch viel mehr passiert. Eigentlich möchte ich immer über das Jahr dokumentieren, vergesse es dann aber wieder. Ich bin jedenfalls sehr stolz auf die Entwicklung der einzelnen Seiten und dass ich 2018 so richtig durchstarten kann. Ich weiß nicht, wann ich mal so viel gelernt habe wie in diesem Jahr. Ich hoffe, dass das so weitergeht. Ich bin sehr dankbar dafür, dass ich das alles so machen kann.
]]>ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://kleine-photo-com.docker:9000/usr/src/myapp/$1
Soweit, so gut. Apache läuft bei mir übrigens nicht in einem Container. Warum eigentlich nicht? Könnte ich mir auch noch überlegen.
Jedenfalls habe ich dann das Problem, dass mein Host diese Domain nicht auflösen kann! Also habe ich anfangs die einzelnen Seiten in die etc/hosts eingetragen. Blöd ist dabei nur, dass die IPs natürlich rotieren können, sobald der Server mal neugestartet wird. Also habe ich plötzlich andere Inhalte hinter den Domains – extrem nervig. Das ist mir jetzt 2x passiert und nun habe ich mich mit einer Lösung beschäftigt. Am einfachsten war dabei für mich der Weg über einen weiteren Docker-Container für DNS.
docker run -itd --restart=always --hostname dns.docker --name dns-proxy-server -p 5380:5380 -v /var/run/docker.sock:/var/run/docker.sock -v /etc/resolv.conf:/etc/resolv.conf defreitas/dns-proxy-server
Nun werden alle DNS-Anfragen in den Container gejagt. Außerdem werden nun die Hostnamen der Docker-Container richtig aufgelöst und alles funktioniert wunderbar wie ich mir das vorgestellt habe. Sobald man den Container stoppt ist übrigens wieder alles wie vorher. Also kein Risiko. Danke restart=always wird der Container also nun auch immer brav mitgestartet und alles überlebt ebenfalls einen Neustart des Servers. Puh, das war einfacher als ich dachte!
Nun bin ich kein Sysadmin, sondern Softwareentwickler. Daher lese ich mir solche Themen immer an und bin froh, dass es so einfache Lösungen wie diese gibt. Wenn Du eine bessere oder einfachere Idee hast: Immer her damit!
]]>