From 19b5b3ac3eddd586eeb682263cbbbe056a791dcc Mon Sep 17 00:00:00 2001 From: John Smith Date: Wed, 24 Mar 2021 20:46:29 +0100 Subject: [PATCH] docs: add all untracked content --- club.md | 38 +++++++++ help.md | 61 +++++++++++++ home.md | 49 +++++++++++ partey/prty_action1.png | Bin 0 -> 10629 bytes partey/prty_action2.png | Bin 0 -> 11628 bytes partey/prty_audio.png | Bin 0 -> 9552 bytes partey/prty_avatar.png | Bin 0 -> 43206 bytes partey/workdadvenutekey.pub | 1 + privacy.md | 85 ++++++++++++++++++ server.md | 44 ++++++++++ services.md | 166 ++++++++++++++++++++++++++++++++++++ services/email.md | 32 +++++++ services/gitea.md | 21 +++++ services/matrix.md | 17 ++++ services/nextcloud.md | 87 +++++++++++++++++++ services/partey.md | 76 +++++++++++++++++ services/partey/map.md | 70 +++++++++++++++ services/planned.md | 63 ++++++++++++++ services/pretix.md | 46 ++++++++++ services/webstly.md | 96 +++++++++++++++++++++ services/wiki.md | 13 +++ 21 files changed, 965 insertions(+) create mode 100644 club.md create mode 100644 help.md create mode 100644 home.md create mode 100644 partey/prty_action1.png create mode 100644 partey/prty_action2.png create mode 100644 partey/prty_audio.png create mode 100644 partey/prty_avatar.png create mode 100644 partey/workdadvenutekey.pub create mode 100644 privacy.md create mode 100644 server.md create mode 100644 services.md create mode 100644 services/email.md create mode 100644 services/gitea.md create mode 100644 services/matrix.md create mode 100644 services/nextcloud.md create mode 100644 services/partey.md create mode 100644 services/partey/map.md create mode 100644 services/planned.md create mode 100644 services/pretix.md create mode 100644 services/webstly.md create mode 100644 services/wiki.md diff --git a/club.md b/club.md new file mode 100644 index 0000000..9cb53e2 --- /dev/null +++ b/club.md @@ -0,0 +1,38 @@ +--- +title: Über Bastelei e. V. +description: +published: true +date: 2021-03-24T13:14:34.310Z +tags: +editor: markdown +dateCreated: 2021-03-14T12:56:11.370Z +--- + +# Bastelei e. V. + +Die Bastelei ist ein eingetragener Verein mit [Satzung](https://www.bstly.de/charter?lang=de). + +## Präambel {#Was} + +Jeden Monat überweisen wir zwielichtigen Konzernen zweistellige Beträge, damit sie uns unsere Daten abnehmen. Dafür bekommen wir intransparente Software mit denen wir auf Geräten, die wir nicht kontrollieren irgendwie unseren digitalen Alltag bestreiten müssen. Als erste Initiative dem ein Ende zu haben *\_Bastler* und *Louis Fabu*, der Sekretär der Kommenden Bastelei, die DIE DIGITALE BASTELEI gegründet. + +## Was wir machen {#Wir} + +Wir betreiben freie Software auf selbst-verwaltenden Servern und bieten euch so Alternativen zu den sog. "Cloud-Diensten", die euch sonst Google, Apple oder wer sonst andrehen. Wir verteilen die Kosten gleichmäßig auf alle Nutzenden und sammeln noch etwas mehr Geld ein, um das Ganze weiter zu entwickeln und weitere Projekte und Initiativen im Rahmen der Kommenden Bastelei zu finanzieren. Wir verwahren nur [minimale Daten](/de/privacy) von euch und verknüpfen eure Zahlungsinformationen nicht mit euren User-Konten. + +Zum Start gibt es aktuell für eine Jahresmitgliedschaft etliche Dienste wie ein E-Mail-Konto auf @bstly.de mit eigenem Adressbereich, 5GB Speicher und catch-all-Funktion, einen Account für unsere Nextcloud mit 15GB Speicherplatz, dazu gehören so praktische Funktionen wie synchronisierbare Kalender, Online Office zum kollaborativen Erstellen von Texten und einiges mehr. Außerdem mit Matrix eine Messaging Plattform und Zugang zu unserem digitalen Vereinsheim. Mehr Details zu den aktuellen und geplanten Dienste findest du [hier](/de/services). + +## Was du machen kannst {#Du} + +Du kannst Teil der Digitalen Bastelei werden: Werde Vereinsmitglied und bezahle deinen Mitgliedsbeitrag direkt über unser Einkaufs-System. Je mehr Leute die Dienste +nutzen, desto effizienter wird es natürlich, weswegen wir später eventuell weitere Dienste, Upgrades oder Wunschfeatures zur Verfügung stellen können. + +Die Vereinsmitgliedschaft richtet sich an alle, die den Verein aktiv unterstützen und mitgestalten möchten. Als Vereinsmitglied kannst du durch Teilnahme an Mitgliederversammlungen und Abstimmungen mitbestimmen. + +Vor allem mit Blick auf zukünftige Projekte auch außerhalb des digitalen Raumes ist deine aktive Beteiligung nötig, damit wir größere Vielfältigkeit und Kreativität in unsere Projekte bekommen. Und da wir große Freude an demokratischen Prozessen haben, ist jedes Mitglied auch eine Bereicherung um Vereinsprozesse offener gestalten zu können. Bei der Bastelei soll es um möglichst kreative, zwanglose und gute Zusammenarbeit zur Bereicherung aller Beteiligten gehen. + +Wenn du also nicht nur ein Interesse an unseren digitalen Diensten hast, sondern Ideen und Ziele mitverfolgen möchtest, kannst du dir deine Vereinsmitgliedschaft ganz einfach unter membership.bstly.de klicken. Du musst nur noch auf Genehmigung deines Antrages warten und anschließend deinen ersten Mitgliedsbeitrag überweisen. Anschließend bekommst du jährlich automatisch eine Erinnerung an deine hinterlegte E-Mail Adresse, deine Mitgliedschaft zu verlängern. Ein ausführliche Anleitung dazu findest du [hier](/de/services/pretix#Mitgliedschaft). + +## Warum ein e. V. {#Warum} + +Der eingetragene Verein bietet sich für unsere Zwecke als Rechtsform an, da wir nicht wirtschaftlich orientiert arbeiten wollen, sondern ideelle Ziele haben. Wir haben uns allerdings bewusst gegen eine Gemeinnützigkeit im Sinne des Vereinsgesetzes entschieden. Dies hat rechtliche Gründe, da wir uns selbst sehr wohl als Gemeinnützig betrachten würden. Die Erfahrung mit der Arbeit in gemeinnützigen Vereinen sowie die aktuellen Rechtsprechungen, die nicht mit unserem Verständnis von Gemeinnützigkeit übereinstimmen, haben uns jedoch zu dem Schluss kommen lassen, dass wir von Anfang an auf den juristischen Anspruch der Gemeinnützigkeit verzichten werden. Der offensichtliche Nachteil besteht vor allem im Verzicht auf Steuerbegünstigungen, dies gilt auch z.B. für die Steuererstattung von Mitgliedsbeiträgen, die hier entfällt. Auf der anderen Seite können wir jetzt einfacher Rücklagen bilden, Mitglieder für Arbeit entlohnen und freier Entscheidungen treffen, so dass wir unsere Ziele einfacher und schneller erreichen können. diff --git a/help.md b/help.md new file mode 100644 index 0000000..02e8e93 --- /dev/null +++ b/help.md @@ -0,0 +1,61 @@ +--- +title: Hilfsangebote +description: +published: true +date: 2021-03-24T07:22:04.678Z +tags: +editor: markdown +dateCreated: 2021-03-22T20:39:44.940Z +--- + +# Hilfsangebote von Bastelei e. V. + +> Unsere Hilfsangebote befinden sich noch im Aufbau. Wir versuchen so schnell es geht zu reagieren! +{.is-warning} + +Die Idee von einer zentralen Anlaufstelle für Hilfe haben wir vom [Chaos Computer Club](https://help.ccc.de) übernommen. + +## Übersicht + +Du brauchst emotionale Unterstützung bei **Konflikten**, **Belästigung** oder **Diskriminierung**? +- [Awareness](#Awareness) + +Du brauchst **technische Hilfe** oder hast Sorge um deine **Datensicherheit**? +- [Support](#Support) + +## Awareness {#Awareness} + +Mit dem Awarenessteam wollen wir dir eine Anlaufstelle bieten, um Erlebtes zu verarbeiten, Konflikte zu lösen und insbesondere auch für Minderheiten eine sicherere und angenehmere Atmosphäre zu schaffen. + +### Kontakt +- **Email** + - [help@bstly.de](mailto:help@bstly.de) + {.links-list} +- **Matrix** + - \_Bastler [@=5fbastler:bstly.de](https://element.bstly.de/#/user/@=5fbastler:bstly.de) + - fabu [@fabu:bstly.de](https://element.bstly.de/#/user/@fabu:bstly.de) + {.links-list} + +## Support {#Support} + +Unser Support wird versuchen dir bei allen technischen Problemen behilflich zu sein. Keine Frage sollte dir zu dumm vorkommen, frage lieber einmal zu viel als einmal zu wenig! + +### Kontakt +- **Email** + - [support@bstly.de](mailto:support@bstly.de) + {.links-list} +- **Matrix** + - [#support:bstly.de](https://element.bstly.de/#/room/#support:bstly.de) + {.links-list} + +## Allgemeiner Kontakt + +- **Email** + - [help@bstly.de](mailto:help@bstly.de) + {.links-list} +- **Matrix** + - [#help:bstly.de](https://element.bstly.de/#/room/#help:bstly.de) + {.links-list} +- **Telefon** + - [02332 666 77 01](tel:+4923326667701) + {.links-list} \ No newline at end of file diff --git a/home.md b/home.md new file mode 100644 index 0000000..1b30027 --- /dev/null +++ b/home.md @@ -0,0 +1,49 @@ +--- +title: Bastelei Wiki +description: +published: true +date: 2021-03-23T19:39:11.724Z +tags: +editor: markdown +dateCreated: 2021-03-12T17:03:32.148Z +--- + +# Willkommen + +Herzlich Willkommen im Wiki vom Bastelei e. V. + +In diesem Wiki findest du alle Informationen und Anleitungen. + +Benötigst du akute oder spezielle Hilfe schaue bitte direkt auf unsere Seite mit [Hilfsangeboten](/de/help). + +## Bastelei e. V. {#Bastelei} + +Alle Informationen rund um den Bastelei e. V. + +- [Über den Verein](/de/club) +- [Datenschutz](/de/privacy) + +## Dienste {#Dienste} + +Alle Informationen rund um unsere Dienste + +- [Überblick über vorhanden Dienste](/de/services) +- [Überblick über geplante Dienste und Ideen](/de/services/planned/) + +### Direkthilfen für einzelne Dienste + +* [Pretix](/de/services/pretix) Mitgliedschaft beantragen, verwalten, erweitern +* [we.bstly](/de/services/webstly) Account registrieren, verwalten +* [E-Mail](/de/services/email) Einrichten, @Catch-All +* [Nextcloud](/de/services/nextcloud) Dateien, Kalender, Kontakte uvm. verwalten +* [Matrix](/de/services/matrix) Instant Messenger, Communities +* [Partey](/de/services/partey) virutelles Vereinsheim +* [Wiki.js](/de/services/wiki) Informationen, Anleitungen uvm. +* [Gitea](/de/services/gitea) Git-Repositieres einrichten, verwalten + + +## Technik {#Technik} + +Überblick über die technische Umsetzung + +- [Server](/de/server) \ No newline at end of file diff --git a/partey/prty_action1.png b/partey/prty_action1.png new file mode 100644 index 0000000000000000000000000000000000000000..44429c62022b4e83bd595238ebf9de1a66a26a3d GIT binary patch literal 10629 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 literal 0 HcmV?d00001 diff --git a/partey/prty_audio.png b/partey/prty_audio.png new file mode 100644 index 0000000000000000000000000000000000000000..7990ad64bfdf6a5f852581c73fabd3786a643c4b GIT binary patch literal 9552 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 literal 0 HcmV?d00001 diff --git a/partey/workdadvenutekey.pub b/partey/workdadvenutekey.pub new file mode 100644 index 0000000..a14c337 --- /dev/null +++ b/partey/workdadvenutekey.pub @@ -0,0 +1 @@ +ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCytD12SSJBjf4R6NK5jOBGIe45Wax94878C1eqgCa8JTkq9kJ9oDiJ9v9tE5K8DDI33rkI2a9ObEWhV9oygIp7G/vGcL6xU6x9yLp5FXgrEtBn5YZwyvgL8uz3szblnyvZX/QZK8P5yq4SEQ7I731iVh1duSBSPb1eUu6LirPcq4RCc9OTBZxSyKpOHEpQR0Ox1eUjE0CZ+zA8ma0Ztrwem6WavLI33d7YPcAVyVHN9qacmhSahAxmd+WPcfprnAx86I2n0QGTMqGn6YI20qoMTOQodwctBlTyyZhDuK19v2cV/8bd6yJzJPMEPk5mROmedLb37PjaFyKXLz5x9t0nelN7ZCJI5PMG3e7kbFBXbMxfSoWShX6+oq7/HjF5ybAtPFKBAxbxkCwuxCwSs6ceI+xYCmSu7fJX+IKJq1JTNT20QiNzYbedJdyZdjAM+w4Z7SgnJa6m0GrgxM5k6pbbM5vQUv7iciTzCjh1Kx+QoqzxDk9UmRU09BIpB6E6+mE= workadventure@bstly diff --git a/privacy.md b/privacy.md new file mode 100644 index 0000000..1d40d66 --- /dev/null +++ b/privacy.md @@ -0,0 +1,85 @@ +--- +title: Datenschutzerklärung +description: +published: true +date: 2021-03-24T12:59:29.583Z +tags: +editor: markdown +dateCreated: 2021-03-14T19:50:59.500Z +--- + +# Datenschutz + +Hier findest du eine kleine Übersicht über Datenschutz bei uns und unser Verständnis davon. Die genaue Auflistung der Verwendung deiner Nutzungsdaten findest du in unserer [Datenschutzerklärung](https://www.bstly.de/privacy-policy?lang=de). + +## Privacy By Design {#privacy} + +Privacy by Design bedeutet, dass die Systeme grundlegend auf Datensparsamkeit ausgelegt sind. Wir versuchen generell immer so wenig Daten wie möglich zu erheben. Frei nach dem Motto 'was man nicht hat, kann man auch nicht verlieren'. Das gilt zuerst einmal generell für Daten, die wir erheben, aber auch für die Verknüpfung verschiedener Daten zueinander. + +Um Account- und Zahlungsdaten zu trennen, benutzen wir das Ticket-System *Pretix* mit seinem Check-In System. Für jedes Item wird ein geheimes Token generiert. In unserer selbst entwickelten Serverkomponente *we.bstly* kann dieses Token dann eingelöst werden und die entsprechende Leistung gespeichert werden. Das Token wird dann in *Pretix* als eingelöst markiert. + +Die Verknüpfung von Account/Leistung und Token ist also nur temporär für die bestehende Browser Session gültig und wird sonst nicht dauerhaft gespeichert. Sprich: es gibt zwei Datenbanken, eine für Zahlungsdaten und Tokens (*Pretix*) und eine mit Account- und Berechtigungsdaten (*we.bstly*). Die Verknüpfung findet nur in einer aktiven Browser-Session statt und wird nach Einlösen des Token auch dort vergessen. Es gibt also keinerlei Verknüpfung von Zahlungsdaten und Account. + +Abstriche machen wir aktuell bei der Verknüpfung von Accounts bei den einzelnen Diensten. Wie immer haben Komfort und Einfachheit ihren Preis. Durch sogenanntes [Single-Sign-On](https://de.wikipedia.org/wiki/Single_Sign-on) (*SSO*) über [OpenID Connect](https://de.wikipedia.org/wiki/OpenID_Connect) (*OIDC*) heißt das: Ein Account für Alles. Sprich, die Nutzung der einzelnen Dienste ist immer auf deinen *we.bstly*-Account zurückzuführen. Zum Einen bietet das den Komfort von *SSO*, dass du nur auf diesen einen Account gut aufpassen musst. Zum Anderen bekommt man dafür natürlich auch die Einfachheit, dass alle die Gewissheit haben, dass es sich bei den verschiedenen Diensten immer um den gleichen *we.bstly*-Account handelt. So weißt du z.B., dass du auch genau dem Menschen eine E-Mail schreibst, mit dem du gerade gechattest hast. + +## Einzelne Dienste {#Dienste} + +Hier fassen wir die Datenerfassung der einzelnen Dienste zusammen. Für die genauen Details verweisen wir erneut auf unsere [Datenschutzerklärung](https://www.bstly.de/privacy-policy?lang=de). Mehr Informationen oder Anleitungen zu Funktionen der einzelnen Diensten findest du in unserem [Überblick über vohandene Dienste](/de/services). + +### Pretix {#Pretix} + +Im *Pretix* System müssen wir natürlich persönliche Daten zum Zahlungsverkehr sowie eine E-Mail-Adresse zum Versenden von E-Mails mit Bestätigungen, Zahlungsdaten sowie zum Verschicken der Token speichern. Als Vereinsmitglied werden hier deine zu erhebenden Mitgliedsdaten sowie dein Mitgliedsbeitragskonto gespeichert. Wie eingangs erwähnt findet keinerlei Verknüpfung dieser Daten mit anderen Diensten statt. + +### we.bstly {#webstly} + +In *we.bstly* brauchst du lediglich einen Usernamen und ein Passwort (gut *gesalzen*, [Argon2](https://de.wikipedia.org/wiki/Argon2) gehashed!). Zusätzlich wird noch ein [PGP](https://de.wikipedia.org/wiki/Pretty_Good_Privacy)-Schlüsselpaar erstellt, mehr nicht. Optional ist noch die Angabe einer E-Mail Adresse. Diese ist erforderlich beim Verlust der Login-Daten bzw. deines *Privaten Schlüssels*. Wir halten diese Option allerdings offen, so dass eine völlig anonyme Nutzung aller Dienste möglich ist, wenn du dein Passwort bzw. deinen *Privaten Schlüssel* nicht verlierst! + +Zusätzlich zu deinen zentralen Account-Daten werden hier auch deine Berechtigungen und das Ablaufdatum deiner Dienste gespeichert. Aktuell wird auch die Information gespeichert, dass du ein reguläres Vereinsmitglied bist. Dies hat den Vorteil, dass wir über unsere Dienste auch alle Vereinsmitglieder direkt erreichen können oder erweiterte Dienste anbieten können. Die Daten werden selbstverständlich nicht mit deinen Mitgliedsdaten oder dem Mitgliedsbeitragskonto verknüpft, sprich: wir wissen lediglich, **dass** du Vereinsmitglied bist, **nicht welches**! + +Optional kannst du deinem Account noch weitere Profildaten mit einstellbarer Sichtbarkeit (*Privat*, *Geschützt* und *Öffentlich*) anlegen. Private Profilfelder sind nur für dich sichtbar, Geschützte auch für andere Benutzer und Öffentliche sind auch für Dritte einsehbar. + +### Nextcloud {#Nextcloud} + +Wie sensibel die Daten in der *Nextcloud* sind hängt natürlich nur von deiner Nutzung ab. Vom Dienst selber fallen keine Daten außer deine Account-Daten (nur Username und freiwillige Profildaten) an. Da hier ausschließlich von Usern selbst erstellte Inhalte gespeichert werden, kommt es darauf an, was du hochlädst, veröffentlichst und schreibst. Die Daten werden automatisch verschlüsselt gespeichert, es handelt sich dabei allerdings nur um eine serverseitige Verschlüsselung, sodass du die Daten weiterhin mit Anderen teilen kannst. *Nextcloud* bietet allerdings in den aktuellen Versionen auch eine eigene *Ende-Zu-Ende*-Verschlüsselung (*E2EE*) an. Es steht dir natürlich frei diese für sensible Daten zu nutzen, sodass auch niemand anderes an diese Dateien kommt. Beachte aber, dass diese Dateien dann nicht mehr im Browser zugänglich sind und nicht geteilt werden können. Außerdem gilt die *E2EE* nur für Dateien und nicht für andere Daten wie Kontakte, Kalender o.Ä., so dass die Empfehlung ist, immer darüber nachzudenken, welche Daten man gerade erzeugt und wie sensibel diese sind. + +Da *Nextcloud* auch als Basis für einige Community-Funktionen dient, werden deine Account-Daten mit allen anderen Usern geteilt. Es steht dir aber auch frei, weitere Daten wie Dateien, Kalender etc. mit anderen Benutzern zu teilen. + + +### E-Mail {#Mail} + +Aktuell werden die E-Mails so wie sie ankommen auf dem Server gespeichert. Da dies einige Nachteile und unnötiges Vertrauen benötigt, wird an einer Lösung gearbeitet alle E-Mails automatisch mit deinem *Öffentlichen Schlüssel* zu verschlüsseln. Das gibt dir die Sicherheit, dass auch nur du die E-Mails entschlüsseln kannst. Allerdings bedeutet dies auch, dass du all deine E-Mail-Clients für die Entschlüsselung einrichten musst. Wir werden selbstverständlich detaillierte Anleitungen dazu veröffentlichen wenn es soweit ist und vermutlich auch ein *Opt-Out* anbieten, wenn du auf diese Funktion verzichten möchtest. + +Zur Authentifizierung werden deine *we.bstly*-Account Daten verwendet. Beachte, dass eine aktivierte Zwei-Faktor-Authentifizierung in deinem *we.bstly*-Account keinen Einfluss auf deinen E-Mail Login hat. + +### Matrix {#Matrix} + +Da *Matrix* ein Messaging-Dienst ist können hier natürlich sensible Kommunikationsdaten anfallen. *Matrix* bietet zum Glück eine *Ende-zu-Ende*-Verschlüsselung an. Da diese allerdings optional ist, empfehlen wir dir darauf zu achten *E2EE* immer zu aktivieren. + +Neben deinen Chat-Nachrichten werden für den Dienst noch deine Raum-Mitgliedschaften gespeichert. Erstellst du selbst öffentliche Räume sind diese natürlich auch für andere sichtbar. + +Beachte bitte auch, dass *Matrix* ein dezentrales Netzwerk ähnlich zur E-Mail Kommunikation ist. Das bedeutet, dass du die Möglichkeit hast mit Benutzern von anderen Anbietern zu kommunizieren, du aber dann auch Daten inklusive deiner Nachrichten an diese Server überträgst. + +### Partey {#Partey} + +In unserem *virtuellen Vereinsheim* werden keinerlei Daten gespeicherst. Dennoch ist durch die Übertragung von deinen Video- und Audio-Daten ein höchst sensibler Bereich betroffen. Wie erwähnt werden diese Daten nicht durch uns persistiert, es ist jedoch technisch nicht ausgeschlossen, dass andere Benutzer verbotenerweise Mitschnitte anfertigen. Falls du Kenntnis über irgendwelche Verstöße hast, bitten wir dich dringend mit uns Kontakt aufzunehmen. Als erste Anlaufstelle gibt es dafür unsere Seite mit [Hilfsangeboten](/de/help). + +### Jitsi-Meet {#Jitsi} + +In unseren *Jitsi-Meet* Räumen gilt eigentlich das Gleiche wie für unser *virtuelles Vereinsheim*. Es werden keine Daten von dir gespeichert, aber du solltest ein Bewusstsein dafür haben, dass du sensible Video- und Audio-Daten in Echtzeit an andere Benutzer überträgst. + +### Wiki.js + +In unserem *Wiki* werden generell keine persönlichen Daten erfasst. Für deinen Account werden nur dein *we.bstly* Username und deine E-Mail Adresse übertragen. Generell sind alle Texte die du verfasst öffentlich und mit deinem Usernamen verknüpft. Zusätzlich gibt es eine Kommentarfunktion. Diese ist allerdings nur für andere Benutzer zugänglich und nicht öffentlich. + +### Gitea + +Ähnlich wie bei *Nextcloud* werden vom Dienst selber nur dein Username und ein paar persönliche Einstellungen gespeichert. Wie sensibel die Daten in deinen *Git*-Repositories sind und wer auf diese zugreifen kann hängt ganz von dir ab. Achte also darauf, welche Dateien du hochläds und ob dein Repository auch öffentlich zugänglich ist. Da Repositories oft Source Code enthalten inklusive Konfigurationsdateien möchten wir dich daran erinnern darauf zu achten keine sensible Informationen wie Passwörter, *API-Keys* oder *Private Schlüssel* ausversehen in dein Repository zu laden. + +## Webserver {#Webserver} + +Alle Dienste laufen über einen Webserver, wie auch z.B. diese Seite. Generell fallen bei einem Webserver automatisch ein Haufen Daten an, wie z.B. deine IP-Adresse, deine Webbrowser-Version und einiges mehr. Dass diese Daten übertragen werden ist technisch bedingt und lässt sich nur mit Aufwand von deiner Seite aus verhindern. Wichtig ist also, was wir mit diesen Daten machen. + +Die Antwort darauf ist einfach: Nichts! Im Allgemeinen werden diese Daten gar nicht gespeichert. Im Zuge von Wartungsarbeiten o.Ä. kann es dazu kommen, dass diese Daten in Log-Files geschrieben werden, damit wir Problemen auf den Grund gehen können. Diese werden dann allerdings mit keinen anderen Daten verknüpft und direkt nach Beendigung der Arbeiten gelöscht! + + + diff --git a/server.md b/server.md new file mode 100644 index 0000000..99cc78a --- /dev/null +++ b/server.md @@ -0,0 +1,44 @@ +--- +title: Server +description: +published: true +date: 2021-03-22T08:18:05.139Z +tags: +editor: markdown +dateCreated: 2021-03-14T12:59:42.340Z +--- + +# Details zur Technik + +## Übersicht über eingesetzte Server {#Server} + +| Zweck | Art | Prozessor | RAM | HDD | LAN | OS | +| - | - | - | - | - | -| +| Aktuell für alle Dienste |virtueller Root-Server (KVM) | AMD EPYC™ 7702 6x 3.35 GHz | 32 GB DDR4 | 800 GB SSD | 2.5 GBit/s | Ubuntu 20.04 | + +Aktuell wird ein Server für alle Dienste eingesetzt. Für unsere aktuellen Bedürfnisse und Mitgliederzahlen sollte das ausreichend sein und ein erstes Upgrade wird auch nur ein Umzug auf einen einzelnen größer dimensionierten Server sein. Technisch wäre es schöner und sicherer, die einzelnen Dienste auch auf verschiedenen Servern laufen zu lassen. Wir haben uns aber aktuell natürlich lieber für geringere Kosten entschieden um so einen niedrigen Jahresbeitrag festlegen zu können. + +## Übersicht über eingesetzte Software {#Software} + +Neben den direkt zugänglichen [Diensten](/de/services) wird noch weitere Software eingesetzt: + +* [Apache Webserver](https://httpd.apache.org/) Neben der direkten Funktion als Webserver, wird Apache auch als Proxy für fast alle Dienste eingesetzt, so dass diese nur lokal direkt erreichbar sind +* [OpenSSH](https://www.openssh.com/) Zugang für *\_Bastler* +* [PostgreSQL](https://www.postgresql.org/) SQL Datenbank für einige andere Dienste +* [MariaDB](https://mariadb.org/) SQL Datenbank für einige Dienste +* [Ufw](https://launchpad.net/ufw) Firewall +* [Fail2ban](https://www.fail2ban.org) Bruteforce protection + +## F.A.Q. {#FAQ} + +### Warum Ubuntu? + +Sicher eine berechtigte Frage. Die Gründe sind allerdings weniger technisch, sondern eher pragmatisch. *\_Bastler* ist mit Debian-basierten Systemen bestens vertraut und Ubuntu bietet eine etwas bessere Update-Politik als Debian-Stable. Mit einem Ubuntu Desktop können gleichzeitig einfach Dinge getestet werden, da die Umgebungen weitestgehend identisch sind. + +### Warum zwei SQL Datenbanken + +Dem Umstand geschuldet, dass alle Dienste auf einem Server laufen muss neben dem bevorzugten *PostgreSQL* auch noch *MariaDB* installiert sein, da einige Dienste leider (noch?) kein *PostgreSQL* unterstützen. + +### Warum Apache Webserver und nicht nginx? + +Auch einfach nur der mangelnden Erfahrung mit *nginx* aber relativ großer Expertise im Umgang mit *Apache* von *\_Bastler* geschuldet. \ No newline at end of file diff --git a/services.md b/services.md new file mode 100644 index 0000000..932153e --- /dev/null +++ b/services.md @@ -0,0 +1,166 @@ +--- +title: Dienste +description: +published: true +date: 2021-03-24T13:09:03.513Z +tags: +editor: markdown +dateCreated: 2021-03-14T12:45:06.982Z +--- + +# Aktuelle Dienste + +Hier findest du eine Übersicht über unsere Dienste. Wenn du mehr über den Datenschutz der einzelnen Dienste erfahren möchtest, schaue doch unter [Datenschutz](/de/privacy#Dienste) rein oder lese direkt unsere [Datenschutzerklärung](https://www.bstly.de/privacy-policy?lang=de). Eine Übersicht über geplante Dienste findest du [hier](/de/services/planned/). + +## Pretix {#pretix} + +## {.tabset} + +### Info +Pretix ist ein Event-Ticketsystem. Wir setzen Pretix hauptsächlich dafür ein, unsere Mitgliedsbeiträge und Mitgliedschaften zu verwalten. Natürlich wird Pretix auch für Tickets für Veranstaltungen genutzt werden. + +[Details zur Nutzung](/de/services/pretix) + +### Software +| | Homepage | Source Code | Lizenz | +| - | - | - | - | +| Pretix | [pretix.eu](https://pretix.eu)| [github.com/pretix/pretix](https://github.com/pretix/pretix) | [Apache 2.0](https://github.com/pretix/pretix/blob/master/LICENSE) + +## we.bstly {#we-bstly} + +## {.tabset} + +### Info +Das we.bstly-System ist die zentrale Verwaltung für Account-Daten und Berechtigungen. Hier werden also Login-Daten (Username + Password-Hash) und optional Profildaten wie dein Öffentlicher Schlüssel gespeichert, sowie verknüpfte Berechtigungen mit ihrer Gültigkeitsdauer (Beispiel: Mitgliedschaft noch bis 24.03.2049, Git-Zugang bis 01.02.2027). + +Implementiert ist dort ein OpenID Connect (OIDC) Provider der den Zugriff auf die anderen Dienste ermöglicht. Sprich, für alle weiteren Dienste (Ausnahme E-Mail, siehe unten) läuft der Login direkt über we.bstly (SSO - Single Sign On). + +[Details zur Nutzung](/de/services/webstly) + +### Software +| | Homepage | Source Code | Lizenz | +| - | - | - | - | +| we.bstly API | [bstly.de](https://www.bstly.de) | [git.bstly.de/\_Bastler/we_bstly-api](https://git.bstly.de/_Bastler/we_bstly-api) | [AGPL 3](https://git.bstly.de/_Bastler/we_bstly-api/src/branch/main/LICENSE) | +| we.bstly Frontend | [bstly.de](https://www.bstly.de) | [git.bstly.de/\_Bastler/we_bstly-web](https://git.bstly.de/_Bastler/we_bstly-web) | [AGPL 3](https://git.bstly.de/_Bastler/we_bstly-web/src/branch/main/LICENSE) | + + +## E-Mail {#mail} + +## {.tabset} + +### Info +Für deinen Usernamen wird automatisch ein E-Mail Konto mit dem Schema {username}@we.bstly.de (Beispiel für den User foobar: [foobar@we.bstly.de](#)) erstellt. Außerdem wird ein sogenanntes @Catch-All für @{username}.we.bstly.de eingerichtet. Das bedeutet, dass automatisch alle E-Mails an eine Adresse an @{username}.we.bstly.de in deinem Postfach landen. So hast du eigentlich endlos viele E-Mail-Adressen zur Verfügung. Ein automatischer Spam-Filter und ein Webmail Zugang sind natürlich auch dabei. + +Für E-Mail Protokolle gibt es keinen OIDC-Login, dies bedeutet technisch, dass zum Login einfach die Account-Datenbank von we.bstly genommen werden und somit dein we.bstly-Account Passwort. + +[Details zur Nutzung](/de/services/email) + +### Software + +| | Homepage | Source Code | Lizenz | +| - | - | - | - | +| Dovecot | [dovecot.org](https://www.dovecot.org) | [github.com/dovecot/core](https://github.com/dovecot/core) | [MIT](https://github.com/dovecot/core/blob/master/COPYING) | +| Postfix | [www.postfix.org](http://www.postfix.org) | [postfix.org/download.html](http://www.postfix.org/download.html) | [EPL 2.0 / IPL 1.0](https://de.postfix.org/ftpmirror/LICENSE) | +| Rspamd | [rspamd.com](https://www.rspamd.com) | [github.com/rspamd/rspamd](https://github.com/rspamd/rspamd) | [Apache 2.0](https://github.com/rspamd/rspamd/blob/master/LICENSE.md) | +| RainLoop Webmail | [rainloop.net](https://www.rainloop.net) | [github.com/RainLoop/rainloop-webmail](https://github.com/RainLoop/rainloop-webmail) | [AGPL 3.0](https://github.com/RainLoop/rainloop-webmail/blob/master/LICENSE) | + +## Nextcloud {#nextcloud} + +## {.tabset} + +### Info +Nextcloud vereint einige Cloud-Dienste in einem. Ein einfaches Dateisystem wie z.B. von Dropbox, einen Kalender wie z.B. von Google und und und. Die Daten in der Nextcloud sind generell verschlüsselt, für volle Sicherheit deiner Dateien kannst du allerdings auch die Ende-zu-Ende-Verschlüsselung der Nextcloud nutzen. + +Durch einige App-Erweiterungen bietet auch einige Community-Funktionen, die wir gerne mit euch nutzen möchten. + +[Details zur Nutzung](/de/services/nextcloud) + +### Software + +| | Homepage | Source Code | Lizenz | +| - | - | - | - | +| Nextcloud | [nextcloud.com](https://nextcloud.com) | [github.com/nextcloud/server]("https://github.com/nextcloud/server) | [AGPL 3](https://github.com/nextcloud/server/blob/master/COPYING) | +| Collabora Online | [collaboraoffice.com/code/](https://www.collaboraoffice.com/code/) | [github.com/CollaboraOnline/online](https://github.com/CollaboraOnline/online) | [Mozilla Public 2.0](http://mozilla.org/MPL/2.0/) | + +## Matrix {#matrix} + +## {.tabset} + +### Info +Mit einem Matrix-Server können wir Teil eines dezentralen Messaging Netzwerk werden, welches mit einer E2EE die größtmögliche Datensicherheit bietet. Es gibt verschiedene Clients, alles im allem ähnelt die Handhabung aber den gängigen, bekannten Messenger wie Signal, WhatsApp, Threema oder Telegram. Mit Element Web wird auch direkt eine Oberfläche für den Browser mit angeboten. + +Über Matrix werden wir euch auch mit allen wichtigen Informationen über "Bastelei e. V." informieren. + +[Details zur Nutzung](/de/services/matrix) + +### Software +| | Homepage | Source Code | Lizenz | +| - | - | - | - | +| Synapse | [matrix.org/docs/projects/server/synapse](https://matrix.org/docs/projects/server/synapse) | [github.com/matrix-org/synapse](https://github.com/matrix-org/synapse/) | [Apache 2.0](https://github.com/matrix-org/synapse/blob/develop/LICENSE) | +| Element Web | [element.io](https://element.io/) | [github.com/vector-im/element-web](https://github.com/vector-im/element-web) | [Apache 2.0](https://github.com/vector-im/element-web/blob/develop/LICENSE) | + + +## Partey {#partey} +## {.tabset} + +### Info + +Partey ist unser virtuelles Vereinsheim und basiert auf der Software Workadventure. Workadventure wurde in etwas abgewandelter Form beim [rC3](https://events.ccc.de/2020/09/04/rc3-remote-chaos-experience/) des [Chaos Computer Club](https://www.ccc.de/) eingesetzt. In niedlicher 2D Adventure Grafik setzen wir so unser digitales Vereinsheim um. Mit Kamera und Mikrofon werden bis zu 4 Teilnehmer direkt verbunden, wenn sie sich nahe kommen. Eine Einbindung von [Jitsi](#jitsi)-Räumen bietet die Möglichkeit sich in größeren Gruppen zu treffen. Weitere Features sind das einblenden von externen Webseiten und das Abspielen von Musik(-Streams) um ein noch interaktiveres Erlebnis zu ermöglichen. + +Im Zusammenspiel mit [Gitea](#gitea) können alle Nutzer eigene Karten einbinden! + +[Details zur Nutzung](/de/services/partey) + +### Software +| | Homepage | Source Code | Lizenz | +| - | - | - | - | +| Workadventure | [workadventu.re](https://workadventu.re/) | [github.com/thecodingmachine/workadventure](https://github.com/thecodingmachine/workadventure)
Partey-Fork:
[git.bstly.de/\_Bastler/partey_workadventure](https://git.bstly.de/_Bastler/partey_workadventure) | custom [AGPL](https://github.com/thecodingmachine/workadventure/blob/develop/back/LICENSE.txt) :warning:[^1] | + + +## Jitsi Meet {#jitsi} + +## {.tabset} + +### Info +Jitsi Meet ist eine Online-Konferenzsoftware. Vor allem die Einfachheit in der Bedienung und aufs Nützlichste beschränkte Funktionen sind die Vorteile von Jitsi Meet. Da es in jedem modernen Browser läuft, fällt auch die lästige Installation von Anwendungen auf Endgeräten weg. Lediglich auf Smartphones wird die kostenlose [Jitsi-App](https://jitsi.org/#download) benötigt. Hier muss als Server dann der Bastelei-Server angegeben werden. + +Aktuell fehlt noch die Umsetzung zur Erstellung von eigenen Räumen und der Dienst ist nur in [Partey](#partey) eingebunden. + +### Software +| | Homepage | Source Code | Lizenz | +| - | - | - | - | +| Jitsi Meet | [jitsi.org/jitsi-meet](https://jitsi.org/jitsi-meet/) | [github.com/jitsi/jitsi-meet](https://github.com/jitsi/jitsi-meet) | [Apache 2.0](https://github.com/jitsi/jitsi-meet/blob/master/LICENSE) | + + +## Wiki.js {#wiki} + +## {.tabset} + +### Info +Du befindest dich gerade schon in Wiki.js 😉! + +[Details zur Nutzung](/de/services/wiki) + +### Software +| | Homepage | Source Code | Lizenz | +| - | - | - | - | +| Wiki.js | [js.wiki](https://js.wiki/)| [github.com/Requarks/wiki](https://github.com/Requarks/wiki) | [AGPL 3.0](https://github.com/Requarks/wiki/blob/dev/LICENSE) | + +## Gitea {#gitea} + +## {.tabset} + +### Info +Gitea bittet offene Source-Code Verwaltung auf Basis von git-Repositories (vergleichbar mit GitHub). Gegenüber der Konkurrenz bietet Gitea vor allem den Vorteil, dass es selbst betrieben werden kann und man so die Hoheit über seine Daten und seinen Code behält. Nennenswerte zusätzliche Features gegenüber vergleichbarer Software gibt es nicht, der Funktionsumfang steht allerdings auch in nichts nach. + +[Details zur Nutzung](/de/services/gitea) + +### Software +| | Homepage | Source Code | Lizenz | +| - | - | - | - | +| Gitea | [gitea.io](https://gitea.io/) | [github.com/go-gitea/gitea](https://github.com/go-gitea/gitea) | [MIT](https://github.com/pretix/pretix/blob/master/LICENSE) | + + +## {-} + +[^1]: https://github.com/thecodingmachine/workadventure/issues/678 \ No newline at end of file diff --git a/services/email.md b/services/email.md new file mode 100644 index 0000000..556c7a6 --- /dev/null +++ b/services/email.md @@ -0,0 +1,32 @@ +--- +title: E-Mail +description: +published: true +date: 2021-03-21T11:35:55.507Z +tags: +editor: markdown +dateCreated: 2021-03-19T10:32:38.603Z +--- + +# Nutzung von E-Mail + +## Webmail {#Webmail} + +Unter [webmail.bstly.de](https://webmail.bstly.de/) erreichst du die Webmail Oberfläche. Hier kannst du dich einfach mit deinem we.bstly Usernamen und Passwort einloggen. An den Usernamen wird automatisch @we.bstly.de angehängt, du kannst aber auch deine vollständige E-Mail Adresse angeben. + +## E-Mail Client {#Client} + +Wenn du einen E-Mail Client einrichten möchtest, empfehlen wir folgende Einstellungen: +* *Server* mail.bstly.de +* *IMAP* mit SSL auf Port 993 +* *STMP* mit SSL auf Port 465 +* *Login* {username}@we.bstly.de +* *Passwort* dein we.bstly Passwort + +## @Catch-All {#CatchAll} + +Für die @Catch-All Funktion musst du nichts weiter tun. Eine Weiterleitung aller E-Mails an @{username}.we.bstly.de findet automatisch statt. Die E-Mail sind also ganz normal über dein Postfach abrufbar. + +## Verschlüsselte E-Mail mit PGP {#PGP} + +T.B.D. \ No newline at end of file diff --git a/services/gitea.md b/services/gitea.md new file mode 100644 index 0000000..b8f05cf --- /dev/null +++ b/services/gitea.md @@ -0,0 +1,21 @@ +--- +title: Gitea +description: +published: true +date: 2021-03-21T12:33:12.906Z +tags: +editor: markdown +dateCreated: 2021-03-19T10:46:19.893Z +--- + +# Nutzung von Gitea + +Der Zugang zu Gitea ist aktuell eingeschränkt, da (noch) keine Quota umgesetzt ist. Möchtest du Gitea nutzen musst du den Zugang zunächst beantragen. + +## Zugang beantragen {#Antrag} + +Der Zugang zu Gitea kann über ein Add-On im [Pretix](/de/services/pretix) System beantragt werden. Fordere einfach [Gutschein](/de/services/webstly#Gutscheine) an und löse diesen unter [membership.bstly.de](https://membership.bstly.de) ein. Nach Genehmigung des Antrages bekommst du wieder eine E-Mail zum einlösen des Token für deinen Account. Nachdem du das Token eingelöst hast ist der Zugang für dich aktiviert. + +## Basis Anleitung zu Git {#Git} + +T.B.D. \ No newline at end of file diff --git a/services/matrix.md b/services/matrix.md new file mode 100644 index 0000000..60c56c3 --- /dev/null +++ b/services/matrix.md @@ -0,0 +1,17 @@ +--- +title: Matrix +description: +published: true +date: 2021-03-21T18:48:53.718Z +tags: +editor: markdown +dateCreated: 2021-03-19T10:38:23.948Z +--- + +# Nutzung von Matrix + +> Dieser Artikel ist unvollständig und kann von \_Bastler mangels Expertise nicht verfasst werden. Falls du Erfahrung mit diesem Thema hast, überarbeite bitte diesen Artikel! +{.is-danger} + +Zur Nutzung des Dienstes *Matrix* empfiehlt sich die Installation einer App wie [Element](https://element.io/get-started). Als Serveradresse muss [matrix.bstly.de](https://matrix.bstly.de) eingetragen weren. Der Login erfolgt über SSO mit deinem *we.bstly*-Account. Die Web-Version wird ebenfalls von uns gehostet und ist unter [element.bstly.de](https://element.bstly.de) erreichbar. + diff --git a/services/nextcloud.md b/services/nextcloud.md new file mode 100644 index 0000000..a8edc3a --- /dev/null +++ b/services/nextcloud.md @@ -0,0 +1,87 @@ +--- +title: Nextcloud +description: +published: true +date: 2021-03-22T08:16:56.206Z +tags: +editor: markdown +dateCreated: 2021-03-19T10:37:56.210Z +--- + +# Nutzung von Nextcloud + +Die Kernfunktion von [Nextcloud](https://www.nextcloud.com) liegt im Speichern und Synchronisieren von Dateien. Da Nextcloud aber durch Erweiterungen (*Apps*) weitaus mehr Funktionen bietet, findest du hier Anleitungen zu allen installierten Apps. Die meisten Features sind vor allem nützlich im Zusammenspiel mit installierten Anwendungen auf deinem Rechner oder deinem Smartphone. Alle Funktionen sind jedoch auch über die Weboberfläche unter [nc.bstly.de](https.//nc.bstly.de) erreichbar. Ausführliche Anleitungen findest du auch direkt unter [docs.nextcloud.com](https://docs.nextcloud.com/server/latest/user_manual/en/webinterface.html) \[english\]. Die deutsche Version ist leider nicht aktuell, weswegen hier auf die englische Dokumentation verwiesen wird. + +## Dateien {#Dateien} + +Wie erwähnt ist der Dateispeicher die Hauptfunktion von Nextcloud. Wie dein ganz normales Dateisystem kannst du dort deine Dateien in hierarchische Ordnerstrukturen ablegen. + +### Synchronisation {#Dateisync} + +Am meisten Sinn macht der Dateispeicher erst durch die Installation des [Desktop-Clients](https://nextcloud.com/install/#install-clients) auf deinem Rechner. Dadurch werden die Dateien automatisch zwischen deinem Computer und dem Server synchronisiert. Nach der Installation musst du [nc.bstly.de](https.//nc.bstly.de) als Serveradresse eintragen. Es öffnet sich ein Browserfenster mit der Login-Maske, wähle hier **we.bstly Login** aus um dich mit deinem *we.bslty*-Account einzuloggen. + +Die Installation eines [Mobile-Clients](https://nextcloud.com/install/#install-clients) für dein Smartphone ist ebenfalls möglich. Die Einrichtung läuft analog zum Desktop-Client, beachte nur, dass hier nicht automatisch alle Dateien synchronisiert werden, sondern zunächst nur eine Ansicht der Dateien auf dem Server erscheint. Die Synchronisation auf deinem Handyspeicher kannst du dann individuell auch nur für einzelne Ordner oder Dateien festlegen. + +### Teilen {#Teilen} + +Komplette Ordner oder einzelne Dateien kannst du auch mit anderen teilen. Über das Teilen Icon in der Weboberfläche oder im Client hast du die Auswahl zwischen zwei Arten: +- Teilen mit anderen Nextcloud-Usern über Namen, E-Mail, Gruppen oder anderen Nextcloud-Instanzen +- Teilen über einen Link + +Im Teilen-Dialog hast du die Möglichkeit die gewünschten Berechtigungen sowie einige weitere Einstellungen zu setzen. So kannst du einstellen ob die Datei(en) nur gelesen, bearbeitet, gelöscht oder neue Dateien erstellt werden können. Die Freigabe kann zusätzlich zeitlich befristet sein. Beim Teilen über einen Link hast du zudem die Möglichkeit die Freigabe mit einem Passwort zu schützen oder einen sogenannten *Filedrop* über die Funktion *Dateien ablegen* einzurichten. So können Dritte über den Link zwar selbst Dateien hochladen, aber haben keinen Zugriff auf vorhandene Dateien. + +## Kalender {#Kalender} + +Ähnlich zur [Datei](#Dateien)-Funktion erweist sich die Kalender-App durch die Synchronisation und das Teilen als besonders nützlich. Die Grundfunktion ist eine Kalender-Übersicht in der du mehrere Kalender und entsprechende Termine anlegen kannst. Durch Unterstützung von [CalDAV](https://de.wikipedia.org/wiki/CalDAV) ist eine Synchronisation über mehrere Geräte möglich. Entsprechende Anleitungen findest du in der [Nextcloud-Doku](https://docs.nextcloud.com/server/latest/user_manual/en/pim/index.html) \[english\]. Du kannst einzelne Kalender auch mit anderen Teilen, entweder nur lesend oder auch mit der Option anderen Schreibrechte zu erteilen. Das öffentliche Teilen über einen Link ist ebenfalls möglich. + +## Kontakte {#Kontakte} + +Auch die Kontakte-App hat ihre Kernfunktion in der Synchronisation. Nach der [Einrichtung](https://docs.nextcloud.com/server/latest/user_manual/en/pim/index.html) \[english\] auf deinem Smartphone werden deine Kontakte automatisch synchronisiert. So hast du stets ein Backup von deinen gesammelten Kontakten. So sparst du dir manuelles Kopieren oder die Weitergabe deines Adressbuchs an andere Cloud-Anbieter. Du kannst deine Kontakte auch zusätzlich in verschiedenen Adressbüchern organisieren. + +## Collabora Online {#Collabora} + +[Collabora Online](https://www.collaboraoffice.com/) ist der Name der Online Version von [LibreOffice]( https://www.libreoffice.org/). Zusätzlich dazu, dass du mit *LibreOffice Online* schon eine komplette Office-Suite für Textverarbeitung, Tabellenkalkulation und Präsentationen direkt in deinem Browser hast, bietet die App kollaboratives Arbeiten an den Dokumenten an. Du kannst also mit anderen Benutzern gleichzeitig die Dokumente bearbeiten, ganz ähnlich zu z.B. *Google Docs*. *Collabora Online* ist auch in die [mobilen Clients](https://nextcloud.com/install/#install-clients) integriert, sodass du dir direkt an deinem Smartphone die Dokumente anschauen oder Änderungen durchführen kannst. Da die Dateien im [OpenDocument](https://de.wikipedia.org/wiki/OpenDocument)-Format gespeichert werden, sind sie natürlich komplett kompatibel zu den Desktop-Anwendungen wie *LibreOffice*. + +## Zusätzliche Apps {#Weitere} + +Weitere installierte Apps sind hier nur zusammenfassend beschrieben, da die Funktionen entweder einfache Integration oder durch die Nutzung selbsterklärend sind. + +### Text {#Text} + +Neben einfachen Bearbeiten von Textdateien bietet der integrierte Text-Editor auch kollaboratives, also gleichzeitiges, Bearbeiten von mehreren Benutzern. + +### Deck {#Deck} + +Deck bietet Projekt- und Aufgaben-Organisation über [Kanban-Boards](https://de.wikipedia.org/wiki/Kanban-Tafel). Du kannst diese für dich persönlich Nutzen aber auch mit anderen Benutzern teilen und zusammen nutzen. Für *Android* Smartphones gibt es auch eine [kompatible App](https://github.com/stefan-niedermann/nextcloud-deck). + +### Umfragen {#Umfragen} + +Einfaches erstellen von Datumsumfragen ähnlich zu Diensten wie *Doodle* und einfache Textumfragen. Umfragen können sowohl intern mit anderen Benutzern aber auch öffentlich über einen Link geteilt werden. + +### Aufgaben {#Aufgaben} + +Das einfache Aufgaben-Management wird in die [Kalender-App](#Kalender) integriert, so dass über *CalDAV* eine Synchronisation mit anderen Geräten und mobile Apps möglich ist. + +### Formulare {#Formulare} + +Mit *Formulare* kannst du etwas ausgiebigere Umfragen erstellen. + +### Fotos {#Fotos} + +Eine Galerie-Ansicht für Fotos in deinen [Datei](#Dateien)-Speicher. + +### Tags {#Tags} + +Du kannst Dateien und Ordner mit sogenannten *Tags* also Schlagwörtern versehen um Dateien über Ordnerstrukturen hinaus zu organisieren. + +### Kommentare {#Kommentare} + +Die Kommentarfunktion bietet sich natürlich nur an, wenn du Dateien oder Ordner mit [anderen teilst](#Teilen). + +### PDF Viewer {#PDF} + +Kleine Erweiterungen um PDF Dateien direkt im Browser zu öffnen. + +### Video-Player {#Video} + +Kleine Erweiterungen um Video Dateien direkt im Browser abzuspielen. \ No newline at end of file diff --git a/services/partey.md b/services/partey.md new file mode 100644 index 0000000..2477eab --- /dev/null +++ b/services/partey.md @@ -0,0 +1,76 @@ +--- +title: Partey +description: +published: true +date: 2021-03-24T07:30:04.649Z +tags: +editor: markdown +dateCreated: 2021-03-15T04:43:03.718Z +--- + +# Nutzung von Partey + +Hier findest du alle Informationen zur Nutzung unseres virtuellen Vereinsheims. + +## Features {#Features} + +Partey basiert auf der Software [Workadventure](https://workadventu.re). Hier findest du eine Übersicht über die Kernfeatures von *Workadventure*: +- Treffe andere Benutzer in einer frei begehbaren 2D-Welt +- Bis zu vier Benutzer in der Nähe werden automatisch zu einem Videochat zusammengeschaltet +- An bestimmten Stellen gibt es [besondere Bereiche](#Bereiche) mit erweiterten Funktionen + +## Start {#Start} + +Hier findest du eine kleine Einführung zur Benutzung von Partey. + +> Du wirst sehr wahrscheinlich schon direkt zu Beginn von deinem Browser gefragt, ob du der Seite den Zugriff auf deine Kamera und dein Mikrofon erlauben möchtest. Zur Nutzung der Videochat-Funktion ist die Freigabe von Kamera und Mikrofon natürlich unverzichtbar. Wenn du mehr den Datenschutz des Dienstes erfahren möchtest, kannst du dich [hier](/de/privacy#Partey) informieren. +{.is-info} + +> Du begibst dich in eine interaktive Welt wo du anderen Benutzern begegnest. Benötigst du Hilfe schaue bitte unsere [Hilfsangebote](/de/help) an. +:camera: Außerdem gilt unsere Fotopolicy: Möchtest du Bilder oder Screenshots machen, bitte alle im Bild vorher um Erlaubnis. +{.is-warning} + + +### Avatar auswählen {#Avatar} + +Zu Beginn kannst du dein Avatar auswählen. Neben einer kleinen Auswahl vorkonfigurierter Avatare gibt es einen ausgiebigen Editor in der du dein Avatar individuell gestalten kannst. Mit den vier Richtungstasten :arrow_left:,:arrow_up:,:arrow_down:,:arrow_right: kannst du zwischen den verschiedenen Ebenen umschalten. Mit der *Entertaste* bestätigst du deine Auswahl. + +![Screenshot der Avatarauswahl](/partey/prty_avatar.png =300x) + +### Kamera und Mikrofon auswählen {#Kamera+Mikrofon} + +Im folgendem Bildschirm siehst du eine Vorschau auf deine ausgewählte Kamera und dein Mikrofon. Hast du mehrere Geräte an deinem System zur Auswahl kannst du hier erneut mit den Pfeiltasten zwischen deiner Kamera :arrow_right:, :arrow_left: und deinem Mikrofon :arrow_down:,:arrow_up: umschalten. Erneut deine Auswahl mit der *Entertaste* bestätigen. + +### Steuerung {#Steuerung} + +Dein Avatar bewegst du einfach mit den vier Richtungstasten :arrow_left:,:arrow_up:,:arrow_down:,:arrow_right: oder mit *W*,*A*,*S*,*D* über die Karte. Mit der *Shiftaste* kannst du dein Avatar schneller bewegen. An bestimmten Stellen können [besondere Bereiche](#Bereiche) manuell durch drücken der *Leertaste* aktiviert werden. Die Stellen werden durch ein animiertes Pop-Up am unteren Bildschirmrand markiert: +![prty_action1.png](/partey/prty_action1.png) ![prty_action2.png](/partey/prty_action2.png) + +### Videochat {#Videochat} + +Der Videochat startet automatisch sobald ein anderer Avatar in deiner Nähe verweilt. Durch einen weißen Kreis wird der aktive Videochat-Bereich markiert. Du hast zusätzlich die Möglichkeit deinen Bildschirm zu teilen. Außerdem kannst du natürlich jederzeit dein Video oder Mikrofon deaktivieren. + +## Besondere Bereiche {#Bereiche} + +Bestimmte Bereiche auf der Karte haben besondere Funktionen. Manche aktivieren oder öffnen sich automatisch, andere können manuell aktiviert werden, siehe dazu [Steuerung](#Steuerung). + +### Jitsi-Räume {#Jitsi} + +Um Videochat für mehr als vier Personen zu ermöglichen, gibt es bestimmte Bereich in denen ein [Jitsi](/de/services#jitsi)-Raum in einer Hälfte des Browserfensters geöffnet wird. Eventuell musst du erneut deine Kamera und dein Mikrofon freigeben. In unserem Vereinsheim werden die meisten Jitsi-Räume erst nach manueller Aktivierung geöffnet. + +### eingebettete Webseiten {#Webseiten} + +Ähnliche wie Jitsi-Räume können an bestimmten Stellen Webseiten in einer Browser-Hälfte geöffnet werden. Es werden keine Daten des Dienstes an diese Seiten übertragen! + +### Audiostreams {#Audio} + +An bestimmten Stellen starten automatisch Audiodateien oder Audiostreams. Die Lautstärke kann über ein kleines Kontrollfenster am oberen Bildschirmrand kontrolliert werden. +![prty_audio.png](/partey/prty_audio.png) + +### Stille Bereiche {#Stille} + +In stillen Bereichen ist der [Videochat](#Videochat) automatisch deaktiviert. Aktuell werden diese Bereiche leider nicht besonders markiert oder hervorgehoben, so dass die Funktion nur über die Gestaltung der Karte erkennbar ist. + +## Eigene Karte erstellen {#Karte} + +Du kannst deine eigene Karte direkt in *Partey* einbinden. Dazu gibt es eine extra [Anleitung im Wiki](/de/services/partey/map). Eine allgemeine Anleitung zum Erstellen von eigenen Karten findest du [hier](https://workadventu.re/map-building) \[english\]. diff --git a/services/partey/map.md b/services/partey/map.md new file mode 100644 index 0000000..f097964 --- /dev/null +++ b/services/partey/map.md @@ -0,0 +1,70 @@ +--- +title: Partey Map +description: +published: true +date: 2021-03-22T19:07:59.535Z +tags: +editor: markdown +dateCreated: 2021-03-21T17:00:04.415Z +--- + +# Eigene Karte erstellen + +Um eine eigene Karte zu erstellen folgst du einfach der [Anleitung von Workadventure](https://workadventu.re/map-building) \[english\]. Nachdem du deine Karte erstellt hast, kann die Karte automatisch in [Partey](/de/services/partey) eingebunden werden. Die genauen Schritte dazu werden hier erklärt. + +## Karte für Partey vorbereiten {#Vorbereitung} + +Workadventure funktioniert nur mit `.json`-Maps. Exportiere also deine Karten ins JSON-Format oder speichere diese direkt als JSON ab. + +> Es findet keine Überprüfung auf Korrektheit deiner Karte statt. Fehlt also die `main.json` oder der `start`-Layer, ist die `exitUrl` falsch angegeben oder ein *Tileset* nicht korrekt werden andere Benutzer mit diesen Fehlern direkt konfrontiert. +{.is-info} + +### Einsteigspunkt {#Einstiegspunkt} + +Der Einstiegspunkt in deine Karte ist automatisch immer die `main.json`. Benenne also deine Startmap in `main.json` um. Vergiss nicht den `start`-Layer zu setzen. + +### Exit-Layer {#ExitLayer} + +Der [Austiegspunkt](https://workadventu.re/map-building/entry-exit#defining-exits) zurück in das *virtuelle Vereinsheim* ist immer über folgende `exitUrl` erreichbar: `../../member.json#start_{username}`. Ersetze `{username}` natürlich noch mit deinem Usernamen. + +Beispiel für den User *foobar*: `../../member.json#start_foobar`. + +### Beispiel Karte {#Beispiel} + +Als Beispiel für eine eigene Karte kannst du dir die Map von [Lurkars](https://we.bstly.de/p/Lurkars) unter [git.bstly.de/Lurkars/prty-map](https://git.bstly.de/Lurkars/prty-map) anschauen. + +## Karte in Partey einbinden {#Einbinden} + +Damit die Karte automatisch eingebunden werden kann, muss die Karte in einem Git-Repository liegen und die URL über dein [we.bstly-Profil](/de/services/webstly#Profil) angegeben sein. Über das Repository wird die Karte automatisch zur *Partey*-Karte hinzugefügt und in einem regelmäßigen Intervall aktualisiert. Du kannst also jederzeit deine Karte durch Änderungen in deinem Repository aktualisieren. + +### Git-Repository {#Git} + +Ein Git-Repository bekommst du entweder über unseren [Gitea](/de/services/gitea) Dienst oder bei verschiedenen kostenlosen Anbietern wie [GitHub](https://github.com/), [GitLab](https://gitlab.com/) oder [Bitbucket](https://bitbucket.org/). Eine schnelle Anleitung für den Einstieg in Git findest du [hier](https://rogerdudler.github.io/git-guide/index.de.html). Die verschiedenen Dienste wie [Gitea](/de/services/gitea) erklären die Einrichtung beim erstellen eines neuen Repositories aber meistens auch. Hier eine schnelle Auflistung der wichtigstens Befehle wenn du dein Repsoritory erfolgreich eingerichtet hast: +``` +# Änderungen und neuen Dateien hinzufügen +git add . +# Änderungen übernehmen +git commit -m "Text über deine Änderungen" +# Änderungen hochladen +git push +``` + +> Manche Dienste bennen den Hauptzweig eines neuen Repositories oft mit *master*. Wir empfehlen für den Hauptzweig eine andere Bezeichung wie z.B. **main** zu wählen, siehe [Code ohne Rassismus](https://www.golem.de/news/black-lives-matter-code-ohne-rassismus-2006-149032.html) \[Golem\]. +{.is-info} + + +#### Zugriff {#Zugriff} + +Wenn dein Repository öffentlich ist, reicht es den http-Link in dein [Profil](#Profil) einzutragen. Möchtest du gerne ein nicht öffentliches Repository verwenden, musst du für folgenden [Öffentlichen Schlüssel](/partey/workdadvenutekey.pub) Lesezugriff gewähren und den ssh-Link in dein [Profil](#Profil) übernehmen. + +### Repository-Url zum Profil zufügen {#Profil} + +Füge eine [neues Profilfeld](/de/services/webstly#Profil) vom Datentyp **URL** mit dem Namen **prtyMap** deinem Account hinzu und trage als Link einfach die URL zu deinem Repository ein. Das Profilfeld kann auch auf *Privat* gestellt sein. + +> Änderungen der Repository URL werden ignoriert! Das Repository wird einmalig hinzugefügt und dann nur noch geupdated. Möchtest oder musst du die URL ändern, [lösche](#Löschen) bitte deine Karte und warte eine Weile, bis deine Karte auch wirklich entfernt wurde. Anschließend kannst du eine neue URL eintragen. +{.is-warning} + + +## Karte löschen {#Löschen} + +Du kannst natürlich auch jederzeit deine Karte wieder aus *Partey* entfernen. Dazu musst du nur das Profilfeld **prtyMap** löschen. Im nächsten Update-Intervall wird die Karte dann automatisch vom Server und aus der *Partey*-Karte entfernt. \ No newline at end of file diff --git a/services/planned.md b/services/planned.md new file mode 100644 index 0000000..27e5b2b --- /dev/null +++ b/services/planned.md @@ -0,0 +1,63 @@ +--- +title: Geplante Dienste +description: +published: true +date: 2021-03-21T11:31:13.910Z +tags: +editor: markdown +dateCreated: 2021-03-14T12:57:31.654Z +--- + +# Geplante Dienste und Ideen + +Hier findest du eine Übersicht über geplante Dienste und/oder Ideen. Die Dienste/Ideen sind mit folgenden Symbolen markiert um den aktuellen Status wiederzugeben: +* ✅ fertig, benötigt nur Finanzierung +* ❔ noch nicht fertig +* ⚠️ noch nicht konkret/technische Hürden + +## Dienste + +### Wireguard ⚠️ {#wireguard} + +Ein VPN Server bietet zum einen den Vorteil, dass deine echte IP-Adresse verschleiert wird, zum anderen würde ein VPN uns ein paar technische Möglichkeiten bieten, da du dich als User dann in einem internen Netzwerk befindest, worüber wir weitere Dienste oder Zugriffe auf bestimmte Dienste ermöglichen können. + +Da natürlich sehr viel Traffic über den Server läuft wenn viele User im VPN sind, wird aktuell ein Hybrid-Betrieb bevorzugt. Dies bedeutet dass du zwar weiterhin mit deiner eigenen IP direkt auf das Internet zugreifst, wir aber eben durch das interne Netzwerk weitere Services zur Verfügung stellen können. + +> ⚠️ In der Theorie ist das Aufsetzen des Servers kein Problem. Da die Authentifizierung über ein Public-Private-Key Verfahren läuft, bräuchte es eigentlich nur ein kleines Script um den Public-Key eines Users zur Konfiguration hinzuzufügen (oder zu entfernen). Das Szenario muss allerdings noch von \_Bastler verifiziert und getestet werden. +{.is-warning} + +### Pi-Hole ❔ {#pihole} + +Werbeblocking über DNS bietet einige Vorteile gegenüber klassischem Ad-Blocking über Browser-Plugins. Da das Request als solches blockiert wird, bekommt der Werbeserver nicht einmal mit, dass er gerade blockiert wird. Außerdem funktioniert so ein Blocking dann für alle Geräte, Applikation usw. die auf das Internet zugreifen. So wird auch Werbung und Tracking in mobilen Anwendungen blockiert. + +> ❔ Pi-Hole selber einzurichten ist kein Problem. ⚠️ Allerdings würde eine offene Konfiguration für jeden zugänglich sein, so dass Serverlasten nicht kontrollierbar wären. Deshalb ist die Idee von \_Bastler, den Service über ein VPN ([Wireguard ⚠️](#wireguard)) zur Verfügung zu stellen. So ist Pi-Hole immer aktiv, sobald du eine gültige VPN Verbindung zu unserem Server hast. +{.is-info} + +### Bitwarden ⚠️ {#bitwarden} + +Ein Passwort Manager verwaltet sicher all deine Passwörter. Außerdem kannst du dir komplizierte Passwörter generieren lassen, so dass du für all deine Konten ein anderes, schwer zu erratendes Passwort hast und die Sicherheit deiner Konten erhöhst. + +Bitwarden empfiehlt sich vor allem durch seine regelmäßigen unabhängigen Audits mit positiven Ergebnissen. Es gibt kaum vergleichbare Alternativen in selbst betriebenen Open-Source Password Managern. + +> ⚠️ Aktuell bietet Bitwarden leider OIDC Unterstützung nur für eine bezahlte Premium Lizenz. Es gibt einen offenen [Rust-Klon](https://github.com/dani-garcia/bitwarden_rs) der Server Komponente, diese legt aber aktuell wenig Wert auf die Unterstützung des Organisationen-Feature und damit auf das damit verbundene OIDC. Somit bleibt abzuwarten, ob sich hier in nächster Zeit etwas entwickelt oder ob etwas für den Einsatz einer Alternative spricht. +{.is-warning} + +### BigBlueButton ⚠️ {#bbb} + +BigBlueButton ist ein mächtiges Konferenz-Tool, dass für den Einsatz an Schulen konzipiert wurde. Dadurch bietet es einen großen Umfang an Funktionen um viele denkbare Konferenz-Situationen abzubilden. Gerade aus Sicht der Bastelei und des Vereins bietet ein solches Tool Vorteile um größere Online-Konferenzen zu organisieren oder z.B. eine Mitgliederversammlung abzuhalten. + +> ⚠️ Größerer Umfang an Funktionen bringt große Komplexität mit sich. Aktuell wird für BBB empfohlen einen eigenständigen Server zu verwenden. Hinzu kommen einige Sicherheitsbedenken, da die empfohlenen Systemvoraussetzungen veraltet sind. Außerdem bietet BBB derzeit auch keine OIDC-Unterstützung, was zusätzlich das Thema der Authentifizierung mit sich bringt. +{.is-warning} + +## Ideen + +### Mini-Server für Mitglieder ❔ {#mini-server} + +Auf Basis eines [Raspberry Pi](https://www.raspberrypi.org/) kann jeder auch Dienste im Kleineren selber hosten. LouisFabu betreibt so zum Beispiel mit Hilfe von \_Bastler [Nextcloud](/de/services#nextcloud) und [Pi-Hole](#pihole) Zuhause. Die Idee wäre hier vorkonfigurierte Hardware mit Festplatte anzubieten, die entweder für Interessierte in Eigenregie oder von \_Bastler via Fernzugriff verwaltet werden kann. + +Die Vorteile Nextcloud und Pi-Hole selber zu betreiben liegen vor allem darin, dass der Speicherplatz weniger limitiert ist, zum anderen das man noch mehr Kontrolle über seine eigenen Daten hat. Außerdem kann der Zugriff lokal viel schneller erfolgen, was Backups von größeren Dateien beschleunigt. + +Durch Föderation von Nextcloud und einer VPN Anbindung kann der Zusammenschluss von mehreren Mini-Servern auch für andere Nutzer von Vorteil sein. So kann man sich z.B. gegenseitig Speicher für Backups anbieten um Redundanz zu erzeugen. + +> ❔ Das generelle Setup mit einem Raspberry Pi ist bereits erprobt. Fehlende Schritte sind zum einen konkrete Auswahl von Hardware um ein fertiges Paket anzubieten, sowie die automatisierte Konfiguration des Systems. ⚠️ Nicht getestet sind bisher die Aspekte der Förderation und die VPN ([Wireguard ⚠️](#wireguard)) Anbindung. Außerdem sind genaue Fragen über Anforderungen wie Fernwartung oder die verschiedenen Expertisen, die zur Selbstverwaltung nötig sind, ungeklärt. +{.is-info} \ No newline at end of file diff --git a/services/pretix.md b/services/pretix.md new file mode 100644 index 0000000..109a0d6 --- /dev/null +++ b/services/pretix.md @@ -0,0 +1,46 @@ +--- +title: Pretix +description: +published: true +date: 2021-03-22T19:29:42.135Z +tags: +editor: markdown +dateCreated: 2021-03-19T07:42:03.337Z +--- + +# Nutzung von Pretix + +Da Pretix primär zur Verwaltung deiner Vereinsmitgliedschaft genutzt wird, ist hier eine kleine Anleitung, wie du deine Mitgliedschaft beantragst, bezahlst und deine Stammdaten ändern kannst. + +## Mitgliedschaft {#Mitgliedschaft} + +> Da Pretix als Ticket-System für Events entwickelt wurde, ist Pretix wie ein Online-Shop aufgebaut und an einigen Stellen ist von Ticket, Veranstalter etc. die Rede. Einfach durch die Begrifflichkeiten nicht irritieren lassen, sondern die Mitgliedschaft einfach als *Ticket* für die Veranstaltung *Bastelei e. V.* vom Veranstalter *Bastelei e. V.* betrachten. +{.is-info} + +### Antrag {#Antrag} + +Um deinen Antrag auf Mitgliedschaft auszufüllen gehe einfach auf [membership.bstly.de](https://membership.bstly.de/). Dort siehst du unter der Kategorie **Vereinsmitgliedschaft** das Item **Mitgliedschaft** ausgewählt. Falls das Item nicht ausgewählt ist, setze dort einfach einen Haken. Anschließend klickst du auf **Zum Warenkorb hinzufügen** und auf der nächsten Seite direkt auf **Zur Kasse**. Nun werden ein paar Stammdaten abgefragt: +* **E-Mail** Bitte gebe eine gültige E-Mail Adresse an damit du E-Mails vom System empfangen kannst um über den Status deines Antrages informiert zu werden. +* **Vorname**, **Nachname**, **Straße**, **Hausnummer**, **Postleitzahl**, **Stadt** Deine Adresse wird zur Mitgliederverwaltung benötigt, außerdem können wir dich so auch postalisch erreichen. +* **Außerhalb von Deutschland** Setzte hier nur ein Häkchen, wenn sich dein Wohnsitz außerhalb von Deutschland befindet. Anschließend kannst du ein Land auswählen. + +Nachdem du auf **Fortfahren** geklickt hast, findest du noch einmal eine Übersicht über deine angegebenen Daten. Wenn alle Daten korrekt sind nur noch auf **Zahlungspflichtig bestellen** klicken und du müsstest sehr bald eine Bestätigung über deinen erfolgreichen Antrag in deinem E-Mail Postfach finden. + +Da eine Mitgliedschaft durch den Vorstand genehmigt werden muss, musst du nun ein wenig Geduld haben. Sobald dein Antrag angenommen wurde, wirst du per E-Mail darüber informiert. + +### Zahlung deines Jahresbeitrages {#Jahresbeitrag} + +Wurde dein Antrag angenommen, kommst du über den Link in der E-Mail erneut auf die Seite für deine Bestellung. Deine Mitgliedschaft beginnt erst mit erfolgreicher Zahlung deines Jahresbeitrages. Klicke dazu einfach auf **Jetzt bezahlen** und wähle anschließend **Banküberweisung** aus. Die Zahlungsinformation werden dir schon angezeigt, klicke bitte trotzdem noch einmal auf **Fortfahren** und anschließend auf **Jetzt Bezahlen**. Auf der Übersichtsseite wird dir weiterhin die Bankverbindung und der Verwendungszweck angezeigt. Nachdem du den Betrag auf unser Konto überwiesen hast, kann es noch bis zu einer Woche dauern, bis die Zahlung im System angekommen ist. Nach Zahlungseingang wirst du umgehend per E-Mail informiert. Die E-Mail enthält auch schon direkt deinen Link zur [Registrierung deines we.bstly-Accounts](/de/services/webstly). + +> Aktuell bieten wir neben der Banküberweisung keine weiteren Zahlungsmethoden an, da wir uns nicht von Anbietern wie *PayPal* abhängig machen wollen. +{.is-info} + + +### Verlängerung der Mitgliedschaft {#Verlängerung} + +Vier Wochen vor Ablauf deiner Mitgliedschaft wird für dich automatisch eine Verlängerung eingestellt. Du bekommst also automatisch eine E-Mail an deine beim [Antrag](#Antrag) hinterlegte Adresse mit einer Zahlungsaufforderung. Möchtest du deine Mitgliedschaft auslaufen lassen, kannst du diese E-Mail einfach ignorieren und deine Mitgliedschaft endet mit dem Kalenderjahr. Ansonsten läuft der Zahlungsvorgang wieder wie oben beschrieben ab. + +## Stammdaten ändern {#Stammdaten} + +> Das ändern von deinen Stammdaten ist leider aktuell nicht umgesetzt. Der genaue Prozess muss noch entiwckelt werden. +{.is-warning} diff --git a/services/webstly.md b/services/webstly.md new file mode 100644 index 0000000..923e18a --- /dev/null +++ b/services/webstly.md @@ -0,0 +1,96 @@ +--- +title: we.bstly +description: +published: true +date: 2021-03-24T07:37:49.886Z +tags: +editor: markdown +dateCreated: 2021-03-19T07:42:12.380Z +--- + +# Nutzung von we.bstly + +Voraussetzung zur Nutzung ist eine aktive Vereinsmitgliedschaft. Falls du noch keine Mitgliedschaft beantragt hast, schaue doch erst unter [Mitgliedschaft](/de/services/pretix#Mitgliedschaft) rein. + +## Registrierung {#Registrierung} + +Nach erfolgreichem Abschluss deiner [Mitgliedschaft](/de/services/pretix#Mitgliedschaft) erhältst du eine E-Mail mit einem Link zum Einlösen deines Token. Auf der [Token](https://we.bstly.de/tokens)-Seite wird dir aufgelistet welches Token du eingelöst hast und welche Dienste und Quotas damit verbunden sind. Klicke nun auf den **Registrieren** Button um deinen Account anzulegen. + +Auf der Registrierungs-Seite musst du lediglich deinen Usernamen und dein Passwort festlegen. Optional kannst du noch eine andere primäre E-Mail Adresse anlegen. So bekommst du z.B. Systembenachrichtigungen an die angebende E-Mail Adresse und nicht an deine *@we.bstly.de* Adresse. + +> Aktuell hat die Angabe einer primären E-Mail Adresse keine weitere Funktion. Später wird es auch die Möglichkeit geben über deine externe E-Mail Adresse dein Passwort zurückzusetzen. Du kannst auch im Nachhinein eine primäre Adresse über dein [Profil](#Profil) hinzufügen. +{.is-info} + +Nach erfolgreicher Registrierung öffnet sich noch ein Dialog mit einer Übersicht über deine Daten und mit deinem [Privaten Schlüssel](#privatekey). + +### Privater Schlüssel {#privatekey} + +Für jeden Benutzer wird (clientseitig) ein *Öffentlicher* und ein *Privater* [PGP](https://de.wikipedia.org/wiki/Pretty_Good_Privacy) *Schlüssel* generiert. Der *Öffentliche Schlüssel* wird mit deinem Benutzer gespeichert. Dein *Privater Schlüssel* wird dir nur einmalig nach deiner Registrierung angezeigt. Deshalb ist es wichtig, dass du diesen Schlüssel sicher speicherst. Zum einen kannst du den Schlüssel als QR-Code scannen, z.B. mit einer Password-Manager App. Du kannst den Schlüssel in die Zwischenablage kopieren und sicher abspeichern oder direkt als Datei herunterladen. + +Aktuell wird der *Private Schlüssel* nur verwendet um deinen Account wiederherzustellen wenn du dein Passwort vergessen hast. +Verwenden andere Benutzer deinen *Öffentlichen Schlüssel* um dir verschlüsselte Daten zu senden, brauchst du natürlich deinen *Privaten Schlüssel* zur Entschlüsselung. + +Solange du Zugang zu deinem Account hast, kannst du deinen *Öffentlichen Schlüssel* austauschen in dem du einfach das entsprechende [Profilfeld bearbeitest](#Profil). + +## Token einlösen {#Token} + +Hast du weitere Token für zusätzliche Dienste oder Erweiterungen, kannst du diese ähnlich zur Registrierung einlösen. Nach Klick auf den Link aus der Bestätigungsmail oder der manuellen Eingabe des Token landest du in der gleichen Übersicht über verknüpfte Dienste und Quotas. Wenn du bereits eingeloggt bist brauchst du nur noch auf den **Token einlösen** Button klicken. Bist du noch nicht eingeloggt kannst du einfach den **Login** Button klicken und dich einloggen. Du wirst dann wieder zur Übersicht weitergeleitet. + +## Zweifaktor-Authentifizierung {#2FA} + +Du kannst deinen Login zusätzlich zu deinem Passwort auch mit einem zweiten Faktor absichern. Aktuell wird nur [TOTP](#TOTP) unterstützt. Eventuell kommen in Zukunft weitere Optionen hinzu. + +### TOTP {#TOTP} + +[TOTP](https://de.wikipedia.org/wiki/Time-based_One-time_Password_Algorithmus) ist ein standardisiertes Verfahren um offline einmalige Codes zu generieren. Um Zweifaktor-Authentifizierung mit TOTP zu aktivieren gehe auf [Account/Sicherheit](https://we.bstly.de/account/security). Mit Klick auf den Button **2FA (TOTP) einrichten** öffnet sich ein Dialog auf dem dir ein QR-Code angezeigt wird. Scanne den QR-Code mit einer [TOTP-App](#TOTPApps) und gebe den aktuellen TOTP-Code ein um die Aktivierung abzuschließen. + +#### Auswahl an TOTP Apps {#TOTPApps} + +| Name | Android | iOS | +| - | - | +| andOTP | :heavy_check_mark: | | +| FreeOTP | :heavy_check_mark: | :heavy_check_mark: | +| Authy | :heavy_check_mark: | :heavy_check_mark: | +| Google Authenticator | :heavy_check_mark: | :heavy_check_mark: | + +## Profil {#Profil} + +Zusätzlich zu deinem Usernamen gibt es auch die Möglichkeit Profilfelder zu speichern. Deine Profilfelder kannst du unter [Account/Profil](https://we.bstly.de/account/profile) erstellen, bearbeiten und löschen. Profilfelder können mehrere Zwecke erfüllen: +- Systemeinstellungen speichern z.B. die Verwendung einer anderen primären E-Mail Adresse (siehe [Registrierung](#Registrierung)) +- Informationen für dich selbst, andere Benutzer oder Dritte z.B. über deine private Homepage oder ein Infotext +- Einstellungen oder Parameter für andere Dienste z.B. ein Repository-Link zu deiner persönlichen [Partey-Karte](/de/services/partey/map) + +### Profilfeld Datentypen {#Profiltyp} + +Es stehen verschiedene Datentypen für Profilfelder zur Verfügung: +- **Textfeld** Freitextfeld auf 255 Zeichen beschränkt +- **Numerisch** Numerische Werte inkl. negative Fließkommazahlen +- **Datum** festes Datumsfeld +- **URL** gültiger Link +- **E-Mail** gültige E-Mail Adresse +- **Boolean** True/False oder An/Aus +- **BLOB** Freitextfeld ohne Beschränkung, auch für Binärdaten + +### Profilfeld Sichtbarkeit {#Profilsichtbarkeit} + +Es können drei verschiedene Sichtbarkeiten für Profilfelder eingestellt werden: +- **Privat** Private Profilfelder sind nur für dich und das System sichtbar +- **Geschützt** Geschützte Profilfelder sind auch für andere Benutzer sichtbar +- **Öffentlich** Öffentliche Profilfelder können zusätzlich auch von Dritten eingesehen werden + +### Index {#Profilindex} + +Du kannst den Profilfeldern eine Indexnummer zuweisen. In der Profilansicht werden die Felder nach diesem Index sortiert. + +### Profile anschauen {#Profilansicht} + +Du kannst dir Profile anderer Benutzer anschauen. Voraussetzung dafür ist, dass du den Usernamen des Benutzers kennst und der Benutzer geschützte oder öffentliche Profilfelder eingestellt hat. Folgende URL ruft das Profil für einen Benutzer auf: *we.bstly.de/p/{username}*. Ersetzte *{username}* einfach durch einen dir bekannten Usernamen. +> Es ist absichtlich keine Benutzer-Auflistung implementiert. Hat ein Benutzer keine öffentlichen oder geschützten Profilfelder wird der Zugriff ebenso verweigert wie wenn ein Benutzer gar nicht existiert. Dies verhindert eine Auflistung durch Ausprobieren. +{.is-info} + + +## Gutscheine {#Gutscheine} + +Unter [Account/Gutscheincodes](https://we.bstly.de/account/voucher) hast du die Möglichkeit Gutscheine für das [Pretix](/de/services/pretix)-System anzufordern. Aktuell ist die Möglichkeit Gutscheine zur Registrierung anzufordern deaktiviert. Du kannst allerdings Gutscheine für Add-Ons, sprich Erweiterungen generieren. + +Damit der Gutscheincode nicht deinem Account zugewiesen werden kann, wird dieser dir nur einmalig im Browser angezeigt. Nachdem du den Gutscheincode kopierst hast, kannst du ihn auf [membership.bstly.de](https://membership.bstly.de) einlösen und das gewünschte Item auswählen. Nach erfolgreichem Vorgang bekommst du wieder eine entsprechende E-Mail mit einem [Token zum einlösen](#Token). \ No newline at end of file diff --git a/services/wiki.md b/services/wiki.md new file mode 100644 index 0000000..38a315f --- /dev/null +++ b/services/wiki.md @@ -0,0 +1,13 @@ +--- +title: Wiki.js +description: +published: true +date: 2021-03-19T10:45:58.376Z +tags: +editor: markdown +dateCreated: 2021-03-19T10:45:56.931Z +--- + +# Nutzung von Wiki.js + +T.B.D. \ No newline at end of file