Software: Difference between revisions

From Chaosdorf Wiki
m (→‎Qualitätssicherung: telemete: Sentry und Doku)
Tags: mobile edit mobile web edit
 
(14 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Im Chaosdorf wird Einiges an eigener Software entwickelt und auch verwendet. Diese Seite soll eine Übersicht darüber geben.
Im Chaosdorf wird leider Einiges an eigener Software entwickelt und auch verwendet. Diese Seite soll eine Übersicht darüber geben.


{| class="wikitable sortable"
{| class="wikitable sortable"
Line 8: Line 8:
|-
|-
| labello || {{U|bison}}, {{U|ytvwld}}, {{U|marudor}} || {{H|Dockerserver}} || [https://github.com/chaosdorf/labello github.com/chaosdorf/labello] || Python || [[Labelprinter]] || https://labello.chaosdorf.space/
| labello || {{U|bison}}, {{U|ytvwld}}, {{U|marudor}} || {{H|Dockerserver}} || [https://github.com/chaosdorf/labello github.com/chaosdorf/labello] || Python || [[Labelprinter]] || https://labello.chaosdorf.space/
|-
| prittstift <ref>heißt eigentlich labello</ref> || {{U|telegnom}} || {{H|Dockerserver}} || [https://github.com/telegnom/labello github.com/telegnom/labello] || Python || [[Labelprinter]] || https://prittstift.chaosdorf.space/
|-
|-
| mete || {{U|nomaster}}, {{U|ytvwld}}, {{U|mxey}}, {{U|marudor}} || {{H|Dockerserver}} || [https://github.com/chaosdorf/mete github.com/chaosdorf/mete] || Ruby || nein || https://mete.chaosdorf.space/
| mete || {{U|nomaster}}, {{U|ytvwld}}, {{U|mxey}}, {{U|marudor}} || {{H|Dockerserver}} || [https://github.com/chaosdorf/mete github.com/chaosdorf/mete] || Ruby || nein || https://mete.chaosdorf.space/
|-
|-
| dorfmap || {{U|derf}}, {{U|marudor}}, {{U|xchange}} || {{H|Feedback}} || [https://github.com/chaosdorf/dorfmap github.com/chaosdorf/dorfmap] || Perl/Javascript || [[Lichtsteuerung]] || http://dorfmap.chaosdorf.space/
| <s>dorfmap</s> || <s>{{U|derf}}, {{U|marudor}}, {{U|xchange}}</s> || <s>{{H|Feedback}}</s> ||[https://github.com/chaosdorf/dorfmap <s>github.com/chaosdorf/dorfmap</s>] || <s>Perl/Javascript</s> || <s>[[Lichtsteuerung]]</s> || <s>http://dorfmap.chaosdorf.space/</s>
|-
|-
| dorfmap-websockets || {{U|marudor}} || {{H|Dorfmapserver}} || [https://github.com/chaosdorf/dorfmap-websockets github.com/chaosdorf/dorfmap-websockets] || Javascript || nein || http://dorfmapserver.chaosdorf.space:3001/events
| <s>dorfmap-websockets</s> || <s>{{U|marudor}}</s> || <s>{{H|Dorfmapserver}}</s> ||[https://github.com/chaosdorf/dorfmap-websockets <s>github.com/chaosdorf/dorfmap-websockets</s>] || <s>Javascript</s> || <s>nein</s> || <s>http://dorfmapserver.chaosdorf.space:3001/events</s>
|-
|-
| chaospizza || {{U|xchange}} || {{H|Dockerserver}} || [https://github.com/chaosdorf/chaospizza github.com/chaosdorf/chaospizza] || Python || nein || https://pizza.chaosdorf.space/
| chaospizza || {{U|xchange}} || {{H|Dockerserver}} || [https://github.com/chaosdorf/chaospizza github.com/chaosdorf/chaospizza] || Python || nein || https://pizza.chaosdorf.space/
Line 22: Line 24:
|-
|-
| freitagsfoo-wiki-json || {{U|ytvwld}} || {{H|Shells}} || [https://github.com/chaosdorf/freitagsfoo-wiki-json github.com/chaosdorf/freitagsfoo-wiki-json] || Python || nein || nein
| freitagsfoo-wiki-json || {{U|ytvwld}} || {{H|Shells}} || [https://github.com/chaosdorf/freitagsfoo-wiki-json github.com/chaosdorf/freitagsfoo-wiki-json] || Python || nein || nein
|-
| freitagsfoo-telegram-bot || {{U|ytvwld}} || {{H|Shells}} || [https://github.com/chaosdorf/freitagsfoo-telegram-bot github.com/chaosdorf/freitagsfoo-telegram-bot] || Python || nein || nein
|-
|-
| mpd2mqtt || {{U|ytvwld}}, {{U|xchange}} || {{H|Dockerserver}} || [https://github.com/chaosdorf/mpd-mqtt-gateway github.com/chaosdorf/mpd-mqtt-gateway] || Python || [[Multimedia]] || nein
| mpd2mqtt || {{U|ytvwld}}, {{U|xchange}} || {{H|Dockerserver}} || [https://github.com/chaosdorf/mpd-mqtt-gateway github.com/chaosdorf/mpd-mqtt-gateway] || Python || [[Multimedia]] || nein
|-
|-
| twiki || {{U|bison}}, {{U|ytvwld}} || {{H|Shells}} || [https://github.com/pythonfoo/twiki github.com/pythonfoo/twiki] || Python || nein || [https://twitter.com/chaosdorf_wiki @chaosdorf_wiki]
| siamqtt || {{U|ytvwld}}|| {{H|Dockerserver}} || [https://github.com/chaosdorf/siamqtt github.com/chaosdorf/siamqtt] || Python || [[NZ300 Sicherheitssystem]] || nein
|-
| twiki || {{U|bison}}, {{U|ytvwld}} || bison's uberspace || [https://github.com/pythonfoo/twiki github.com/pythonfoo/twiki] || Python || nein || [https://twitter.com/chaosdorf_wiki @chaosdorf_wiki]
|-
|-
| mpdefault || {{U|nomaster}}, {{U|bison}} || {{H|Fileserver}} || [https://github.com/chaosdorf/mpdefault github.com/chaosdorf/mpdefault] || Python || [[Multimedia]] || nein
| mpdefault || {{U|nomaster}}, {{U|bison}} || {{H|Fileserver}} || [https://github.com/chaosdorf/mpdefault github.com/chaosdorf/mpdefault] || Python || [[Multimedia]] || nein
Line 31: Line 37:
| wikicron || {{U|derf}} || {{H|shells}} || [https://github.com/chaosdorf/wikicron github.com/chaosdorf/wikicron] || Perl || – || –
| wikicron || {{U|derf}} || {{H|shells}} || [https://github.com/chaosdorf/wikicron github.com/chaosdorf/wikicron] || Perl || – || –
|-
|-
| telemete || {{U|cuminbreeze}} ({{U|maride}}, {{U|ytvwld}}) || {{H|Dockerserver}} || [https://git.darknebu.la/cuminbreeze/Chaosdorf-Mete.git git.darknebu.la] [https://github.com/chaosdorf/telemete github.com/chaosdorf/telemete] || Python || nein || nein
| telemete || {{U|magluz}} ({{U|maride}}, {{U|ytvwld}}) || {{H|Dockerserver}} || [https://git.darknebu.la/cuminbreeze/Chaosdorf-Mete.git git.darknebu.la] [https://github.com/chaosdorf/telemete github.com/chaosdorf/telemete] || Python || nein || nein
|-
|-
| meteroid || {{U|ytvwld}}, {{U|donnerbart}} || auf deinem Android-Gerät (und auf [[Mete-Tablet]]) || [https://github.com/chaosdorf/meteroid github.com/chaosdorf/meteroid] || Java || [[Meteroid]] || nein
| meteroid || {{U|ytvwld}}, {{U|donnerbart}} || auf deinem Android-Gerät (und auf [[Mete-Tablet]]) || [https://github.com/chaosdorf/meteroid github.com/chaosdorf/meteroid] || Java || [[Meteroid]] || nein
|-
| spacebell || {{U|mraerino}}, {{U|nomaster}} || {{H|Dockerserver}} || [https://github.com/chaosdorf/spacebell github.com/chaosdorf/spacebell] || Python || nein || nein
|}
|}
mit eigener Wiki-Seite:
{{#ask:
[[Category:Projects]]
[[Project category::Software]]
|?Has user = beteiligte Personen
|?Has location = läuft auf
|?Has repo = Code
|?Project status = Status
|format=broadtable
}}
TODO: diese Tabellen vereinheitlichen


TODO: mehr Software?
TODO: mehr Software?
Line 46: Line 67:
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
! Software !! Anzeige des aktuell laufenden Commits !! Link zum Repo !! Sentry-Integration (Backend) !! Sentry-Integration (Frontend) !! Sentry-Formular !! Tests !! Dokumentation
! Software !! Anzeige des aktuell laufenden Commits !! Link zum Repo !! Sentry-Integration (Backend) !! Sentry-Integration (Frontend) !! Sentry-Formular !! Tests !! Linting !! CI !! Dokumentation
|-
| dashpi || nein || nein || ja || nein || - || nein || nein || nein || nein
|-
| labello || nein || nein || ja || nein || nein || nein || nein || nein || nein
|-
| prittstift || nein || nein || nein || nein || nein || nein || nein || nein || ja
|-
| mete || ja || ja || ja || nein || nein || ja || nein || ja || [https://github.com/chaosdorf/mete/issues/61 zu wenig]
|-
|-
| dashpi || nein || nein || ja || nein || - || nein || nein
| <s>dorfmap</s> || <s>nein</s> || <s>ja</s> || <s>nein</s> || <s>nein</s> || <s>nein</s> || <s>nein</s> || <s>?</s> || <s>ja</s> || <s>ja</s>
|-
|-
| labello || nein || nein || ja || nein || nein || nein || nein
| <s>dorfmap-websockets</s> || <s>nein</s> || <s>nein</s> || <s>nein</s> || <s>nein</s> || <s>nein</s> || <s>nein</s> || <s>?</s> || <s>nein</s> || <s>nein</s>
|-
|-
| mete || ja || ja || ja || nein || nein || ja || [https://github.com/chaosdorf/mete/issues/61 zu wenig]
| chaospizza || nein || nein || ja || nein || nein || ja || ja || ja || ja
|-
|-
| dorfmap || nein || ja || nein || nein || nein || nein || ja
| freitagsfoo-web || ja || ja || ja || ja || ja || nein || nein || nein || nein
|-
|-
| dorfmap-websockets || nein || nein || nein || nein || nein || nein || nein
| freitagsfoo-infobeamer || nein || nein || nein || nein || - || nein || nein || nein || ja
|-
|-
| chaospizza || nein || nein || ja || nein || nein || ja || ja
| freitagsfoo-wiki-json || nein || nein || nein || - || - || nein || nein || nein || nein
|-
|-
| freitagsfoo-web || ja || ja || ja || ja || ja || nein || nein
| freitagsfoo-telegram-bot || nein || ja || nein || - || - || nein || nein || nein || nein
|-
|-
| freitagsfoo-infobeamer || nein || nein || nein || nein || - || nein || ja
| mpd2mqtt || - || - || ja || - || - || nein || nein || nein || nein
|-
|-
| freitagsfoo-wiki-json || nein || nein || nein || - || - || nein || nein
| siamqtt || - || - || ja || - || - || nein || nein || nein || nein
|-
|-
| mpd2mqtt || - || - || ja || - || - || nein || nein
| twiki || - || - || nein || - || - || nein || nein || nein || teilweise
|-
|-
| twiki || - || - || nein || - || - || nein || teilweise
| mpdefault || - || - || nein || - || - || nein || nein || nein || ja
|-
|-
| mpdefault || - || - || nein || - || - || nein || ja
| wikicron || - || - || nein || - || - || nein || nein || nein || nein
|-
|-
| wikicron || - || - || nein || - || - || nein || nein
| telemete || nein || nein || ja || - || - || nein || nein || nein || ja
|-
|-
| telemete || nein || nein || ja || - || - || nein || ja
| meteroid || ja || ja || - || nein || nein || nein || teilweise || ja || nein
|-
|-
| meteroid || nein || nein || - || nein || nein || nein || nein
| spacebell || - || - || nein || - || - || nein || nein || nein || nein
|}
|}


Line 91: Line 120:
* Soll die Software im Clubraum laufen oder auf {{H|vm}}? Diese Anleitung nimmt ersteres an.
* Soll die Software im Clubraum laufen oder auf {{H|vm}}? Diese Anleitung nimmt ersteres an.
* Am einfachsten wäre es, wenn die Software in Docker läuft. Davon geht diese Anleitung aus. Ansonsten wäre ein Extra-Gerät (z.B. ein Raspi) oder eine VM auf {{H|helios}} möglich.
* Am einfachsten wäre es, wenn die Software in Docker läuft. Davon geht diese Anleitung aus. Ansonsten wäre ein Extra-Gerät (z.B. ein Raspi) oder eine VM auf {{H|helios}} möglich.
* Integration mit Sentry ({{H|sentryserver}}) wäre schön (und Tests und Doku und der Rest aus der Qualitätskontroll-Tabelle).
* Integration mit [[GlitchTip]] wäre schön (und Tests und Doku und der Rest aus der Qualitätskontroll-Tabelle).
* Verwendet die Software persistente Daten?
* Verwendet die Software persistente Daten?
** Falls nein: einzelner Container
** Falls nein: einzelner Container
** Falls ja: PostgreSQL und docker-compose
** Falls ja: PostgreSQL und docker-compose
** (Volumes sind auch möglich.)
** (Volumes sind auch möglich.)
* Kommt die Software mit nur einem Container aus? (Falls nein: docker-compose)
* Benötigt die Software Secrets (z.B. API-Tokens)?
* Benötigt die Software Secrets (z.B. API-Tokens)?
** Falls ja: Umgebungsvariablen oder Docker-Secrets-Mechanismus nutzen
** Falls ja: Umgebungsvariablen oder Docker-Secrets-Mechanismus nutzen
* Code in einem öffentlich zugänglichen Git-Repository halten
* Code in einem öffentlich zugänglichen Git-Repository halten
* Autobuild für Dockerhub
* Autobuild für eine Registry (z.B. GitHub-Action nach Docker Hub oder Quay)
* Compose File -> Pull Request auf https://github.com/chaosdorf/docker-stacks

Latest revision as of 23:20, 24 November 2022

Im Chaosdorf wird leider Einiges an eigener Software entwickelt und auch verwendet. Diese Seite soll eine Übersicht darüber geben.

Name beteiligte Personen läuft auf Code Sprache Wiki Link [1]
dashpi ytvwld, marudor Dockerserver github.com/chaosdorf/dashpi Ruby Dashboard https://dashboard.chaosdorf.space/
labello bison, ytvwld, marudor Dockerserver github.com/chaosdorf/labello Python Labelprinter https://labello.chaosdorf.space/
prittstift [2] telegnom Dockerserver github.com/telegnom/labello Python Labelprinter https://prittstift.chaosdorf.space/
mete nomaster, ytvwld, mxey, marudor Dockerserver github.com/chaosdorf/mete Ruby nein https://mete.chaosdorf.space/
dorfmap derf, marudor, xchange Feedback github.com/chaosdorf/dorfmap Perl/Javascript Lichtsteuerung http://dorfmap.chaosdorf.space/
dorfmap-websockets marudor Dorfmapserver github.com/chaosdorf/dorfmap-websockets Javascript nein http://dorfmapserver.chaosdorf.space:3001/events
chaospizza xchange Dockerserver github.com/chaosdorf/chaospizza Python nein https://pizza.chaosdorf.space/
freitagsfoo-web ytvwld Dockerserver github.com/chaosdorf/freitagsfoo-web Python Infobeamer-pi https://fftalks.chaosdorf.space/
freitagsfoo-infobeamer ytvwld Infobeamer-pi github.com/chaosdorf/freitagsfoo-infobeamer Lua Infobeamer-pi nein
freitagsfoo-wiki-json ytvwld Shells github.com/chaosdorf/freitagsfoo-wiki-json Python nein nein
freitagsfoo-telegram-bot ytvwld Shells github.com/chaosdorf/freitagsfoo-telegram-bot Python nein nein
mpd2mqtt ytvwld, xchange Dockerserver github.com/chaosdorf/mpd-mqtt-gateway Python Multimedia nein
siamqtt ytvwld Dockerserver github.com/chaosdorf/siamqtt Python NZ300 Sicherheitssystem nein
twiki bison, ytvwld bison's uberspace github.com/pythonfoo/twiki Python nein @chaosdorf_wiki
mpdefault nomaster, bison Fileserver github.com/chaosdorf/mpdefault Python Multimedia nein
wikicron derf shells github.com/chaosdorf/wikicron Perl
telemete magluz (maride, ytvwld) Dockerserver git.darknebu.la github.com/chaosdorf/telemete Python nein nein
meteroid ytvwld, donnerbart auf deinem Android-Gerät (und auf Mete-Tablet) github.com/chaosdorf/meteroid Java Meteroid nein
spacebell mraerino, nomaster Dockerserver github.com/chaosdorf/spacebell Python nein nein

mit eigener Wiki-Seite:

 beteiligte Personenläuft aufCodeStatus
Admin-Toolkithttps://github.com/chaosdorf/chaosdorf-admin-toolkitstable
Admin-Toolkit/enhttps://github.com/chaosdorf/chaosdorf-admin-toolkitstable
ArchLinux XBMCSkaveRat
nomaster
https://github.com/chaosdorf/archlinux-xbmcobsolete
C++ AVR56obsolete
CTFbarbieauglendChaosdorfalpha
DorfappDonnerbarthttps://github.com/chaosdorf/dorfapp/obsolete
FrontpageInternetobsolete
HedgedochanemileEmile's Hetzner Kistehttps://md.chaosdorf.dealpha
Maphanemile
nomaster
Emile's Hetzner Kistehttps://git.darknebu.la/chaosdorf/mapalpha
MeteroidDonnerbart
ytvwld
https://github.com/chaosdorf/meteroid/stable
Meteroid-iOSR4mphttps://github.com/chaosdorf/meteroid-ios/obsolete
OpenDataWikiNomaster
R4mp
idea
Wii-Stuffderfhttps://github.com/derf/wii-sensorsobsolete
Wiki.chaosdorf.dederfhttps://github.com/chaosdorf/wikicronstable

TODO: diese Tabellen vereinheitlichen

TODO: mehr Software?

TODO: Zweck, Lizenz?

Qualitätssicherung[edit | edit source]

Natürlich ist diese Software nicht perfekt. Fehler können und werden passieren, sollten aber erkannt und behoben werden.

Software Anzeige des aktuell laufenden Commits Link zum Repo Sentry-Integration (Backend) Sentry-Integration (Frontend) Sentry-Formular Tests Linting CI Dokumentation
dashpi nein nein ja nein - nein nein nein nein
labello nein nein ja nein nein nein nein nein nein
prittstift nein nein nein nein nein nein nein nein ja
mete ja ja ja nein nein ja nein ja zu wenig
dorfmap nein ja nein nein nein nein ? ja ja
dorfmap-websockets nein nein nein nein nein nein ? nein nein
chaospizza nein nein ja nein nein ja ja ja ja
freitagsfoo-web ja ja ja ja ja nein nein nein nein
freitagsfoo-infobeamer nein nein nein nein - nein nein nein ja
freitagsfoo-wiki-json nein nein nein - - nein nein nein nein
freitagsfoo-telegram-bot nein ja nein - - nein nein nein nein
mpd2mqtt - - ja - - nein nein nein nein
siamqtt - - ja - - nein nein nein nein
twiki - - nein - - nein nein nein teilweise
mpdefault - - nein - - nein nein nein ja
wikicron - - nein - - nein nein nein nein
telemete nein nein ja - - nein nein nein ja
meteroid ja ja - nein nein nein teilweise ja nein
spacebell - - nein - - nein nein nein nein

TODO: erklären, was die einzelnen Punkte bringen

TODO: Monitoring?

HowTo[edit | edit source]

Du möchtest Software für den Einsatz im Chaosdorf entwickeln? Danke für deinen Einsatz, aber schau vielleicht, ob es schon Software gibt, die den Anwendungszweck erfüllt, den du bearbeiten möchtest. Und beachte die folgenden Hinweise:

  • Soll die Software im Clubraum laufen oder auf vm? Diese Anleitung nimmt ersteres an.
  • Am einfachsten wäre es, wenn die Software in Docker läuft. Davon geht diese Anleitung aus. Ansonsten wäre ein Extra-Gerät (z.B. ein Raspi) oder eine VM auf helios möglich.
  • Integration mit GlitchTip wäre schön (und Tests und Doku und der Rest aus der Qualitätskontroll-Tabelle).
  • Verwendet die Software persistente Daten?
    • Falls nein: einzelner Container
    • Falls ja: PostgreSQL und docker-compose
    • (Volumes sind auch möglich.)
  • Benötigt die Software Secrets (z.B. API-Tokens)?
    • Falls ja: Umgebungsvariablen oder Docker-Secrets-Mechanismus nutzen
  • Code in einem öffentlich zugänglichen Git-Repository halten
  • Autobuild für eine Registry (z.B. GitHub-Action nach Docker Hub oder Quay)
  • Compose File -> Pull Request auf https://github.com/chaosdorf/docker-stacks
  1. funktionieren meistens nur aus dem Chaosdorf-Netzwerk
  2. heißt eigentlich labello