CI/CD Pipeline mit Gitea und Drone

Als Alternative zu Github und Github Actions gibt es für kleinere Teams/Projekte/Organisationen oder private Projekte viele Möglichkeiten, welche selber gehostet werden können. Ich habe die Kombination von Gitea (als Git Service) mit Drone (als CI/CD Service) getestet, insbesondere weil beide einen relativ kleinen Footprint bezüglich CPU und Memory haben. Sie lassen sich gut auf einem kleinen VPS (Virtual Private Server) oder sogar einem Raspberry Pi betreiben.

«CI/CD Pipeline mit Gitea und Drone» weiterlesen

Proaktive Überwachung mit Grafana und Telegram

Eine proaktive Überwachung eines Servers oder einer Platform kann mit relativ einfachen Mitteln realisiert werden. Telegram bietet mit sogenannten Bots die Möglichkeit einen Chat mit Maschinen zu erstellen. In diesem Beitrag verwende ich eine Chatgruppe, in der sich menschliche Teilnehmer austauschen können. Der Bot, welcher Teil der Gruppe ist kann aber keine Nachrichten interpretieren sondern nur selber welche schicken.

«Proaktive Überwachung mit Grafana und Telegram» weiterlesen

Raspberry Pi, Hifiberry und Pi Musicbox

Als neuer Audioplayer habe ich mir kürzlich ein Raspberry Pi B+ mit Hifiberry Digi+ und als Software Pi Musicbox gebastelt. Angeschlossen habe ich das ganze via SPDIF.
Am Anfang war ich frustriert, weil kein Sound zu hören war. Nach einiger Zeit Basteln und Recherchen habe ich einen Workaround gefunden: https://www.hifiberry.com/forums/topic/digi-and-pimusicbox-sync-error/
Im Script /opt/musicbox/setsound.sh muss die Identifikation für die Hifiberry Digi+ angepasst werden:

elif [[ ${dev[1]} == "snd-rpi-hifiberry-digi" ]]; then

ändern in

elif [[ ${dev[1]} == "snd-hifiberry-digi" ]]; then

danach rebooten und prüfen ob der richtige Ausgang gewählt wird:

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 8/8
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
  Subdevice #7: subdevice #7
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 ALSA [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: sndrpihifiberry [snd_rpi_hifiberry_digi], device 0: HifiBerry Digi HiFi wm8804-spdif-0 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

bei mir ist die hifiberry die card 1, dies muss mit der Einstellung in /etc/asound.conf übereinstimmen

cat /etc/asound.conf
pcm.!default {
    type hw
    card 1
}
ctl.!default {
    type hw
    card 1
}

 
 

Raspberry Pi Edimax Wifi Adapter einrichten

Der Edimax war einer der ersten verfügbaren Wifi Adapter für die Raspberry Pi. Das Einrichten ist relativ einfach für einigermassen versierte Linux User. Bei Distributionen wie z.B OpenElec 4.0 kann der Wifi Adapter auch direkt in XBMC konfiguriert werden.
Beim konfigurieren unter Raspbian habe ich bemerkt, dass wenn länger keine Aktivität auf dem Adapter stattfindet, dieser in einen Sleep Mode ähnlichen Zuständ fällt und ich ihn nicht mehr wecken konnte. Weiter unten wird beschrieben wie dieser Zustand verhindert werden kann.
raspberry_pi_edimax

Installation Edimax USB Wifi Adapter

Der USB Adapter muss eingesteckt sein. Wird er im laufenden Betrieb eingesteckt startet die Raspberry Pi neu.

OS Update

sudo apt-get update
sudo apt-get upgrade

Dies kann unter Umständen eine Weile dauern

Das Interface konfigurieren

sudo nano /etc/network/interfaces

Die Grundkonfiguration sollte folgendermassen aussehen:

auto lo
auto wlan0
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Diese Konfiguration setzt die IP Adresse via DHCP Server.
Möchte man eine fixe IP setzten muss die Konfiguration wie folgt abgeändert werden:
Address, Netmask und Gateway den eigenen Ansprüchen entsprechend anpassen

auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet manual
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

WPA Konfiguration 1

In der Datei /etc/network/interfaces folgende Ergänzungen machen

iface wlan0 inet dhcp
        wpa-ssid "ssid"
        wpa-psk "password"

WPA Konfiguration 2

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

SSID und PSK mit den eigenen Angaben ersetzten

network={
ssid="SSID-HIER-EINSETZEN"
proto=RSN
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP
psk="WIFI-PASSWORT-HIER-EINSETZTEN"
}

«Sleep» Mode verhindern

sudo nano /etc/modprobe.d/8192cu.conf

Folgende Zeilen hinzufügen

# Disable power management
options 8192cu rtw_power_mgnt=0 rtw_enusbss=0

Neustart

Die Konfiguration ist abgeschlossen, nun die Raspberry Pi neustarten.
 

mkv Dateien in avi (xvid) konvertieren unter Linux für PS3

Jeder der sich gerne mal HD Filme via Playstation 3 anschauen will kennt das Problem. Das gebräuchlichste Format für Filme mit einer Auflösung von 720p oder 1080p ist Matroska (.mkv)
Die Playstation 3 hat keinen Codec um Matroska Files zu decodieren. Desshalb müssen diese Files konvertiert werden.
Da ich hauptsächlich mit Linux arbeite konvertiere ich die Filme mit Slackware. Von dem dafür eingesetzten Programm ffmpeg gibt es auch ein GUI.
win_logolinux_logo WinFF

ffmpeg -i INPUT_FILE -f mp4 -r 23.976 -vcodec libx264 -s 1280x720 -b 3000kb -aspect 16:9 -flags +loop -cmp +chroma -deblockalpha 0 -deblockbeta 0  -maxrate 3500k -bufsize 4M -bt 256k -refs 1 -bf 3 -coder 1 -me_method umh -me_range 16 -subq 7 -partitions +parti4x4+parti8x8+partp8x8+partb8x8 -g 250 -keyint_min 25 -level 30 -qmin 10 -qmax 51 -qcomp 0.6 -trellis 2 -sc_threshold 40 -i_qfactor 0.71 -acodec libfaac -ab 384kb -ar 48000 -ac 2 OUTPUT.MP4