mermaid - diagram renderer markdown
Mermaid Live editor
https://www.mermaidchart.com/play
https://mermaid-js.github.io/mermaid-live-editor/edit
Documentation
https://mermaid.js.org/syntax/flowchart.html
https://jojozhuang.github.io/tutorial/mermaid-cheat-sheet/
Integration in MkDocks
https://squidfunk.github.io/mkdocs-material/reference/diagrams/
Examples
Docker Pi-hole
Install as Docker container
https://github.com/pi-hole/docker-pi-hole/blob/master/examples/docker_run.sh
Home Assistant ustreamer
Video Capture AV USB card (ARKMICRO 18ec:5555) / dmesg
[141319.682908] usb 1-1.4: New USB device found, idVendor=18ec, idProduct=5555, bcdDevice= 1.00 [141319.682941] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [141319.682955] usb 1-1.4: Product: USB2.0 PC CAMERA [141319.682966] usb 1-1.4: Manufacturer: ARKMICRO [141319.685776] usb 1-1.4: Found UVC 1.00 device USB2.0 PC CAMERA (18ec:5555)
TODO: Fix device permissions
chmod 0666 /dev/video0 # cat /etc/udev/rules.d/99-camera.rules # DEVNAME="/dev/video0",MODE="0666"
Create container
https://hub.docker.com/r/mkuf/ustreamer
docker run -d \ --name ustreamer \ --restart always \ -p 8080:8080 \ --device /dev/video0:/dev/video0 \ mkuf/ustreamer:latest
Stream
http://ha:8080/?action=stream
Debug
LineageOS 21 / Android 14 on Samsung Galaxy A51
TWRP 3.7.0 on Samsung Galaxy A51 SM-A515F
https://www.recovery-mode.com/twrp/how-to-flash-twrp-3-7-0-on-samsung-galaxy-a51-sm-a515f-android-13-u8-a515fxxu8hwi1-firmware.html
https://www.youtube.com/watch?v=_-Opl8fKUAE
Odin3_v3.14.4.zip
Root_A51_U8_androidhowto.tar
# download to SD card from Telegram
DynaPatch-V2.0.zip
Disable_Dm-Verity_ForceEncrypt_03.04.2020.zip
multidisabler-samsung-3.1.3.zip
adb reboot recovery
LineageOS 21 / Android 14 ROM for Samsung Galaxy A51
https://www.recovery-mode.com/custom-rom/lineageos-21-unofficial-android-14-rom-for-samsung-galaxy-a51-update-240424.html
https://drive.google.com/drive/folders/1LqIfbjuEhngEMTNGa5SOPqoGgDyCDs5n
lineage-21.0-20240424-UNOFFICIAL-a51.zip
Install minimal PlayStore with NikGapps for Android 14(U)
https://nikgapps.com/downloads#downloads
https://sourceforge.net/projects/nikgapps/files/Releases/NikGapps-U/07-Nov-2023/NikGapps-core-arm64-14-20231107-signed.zip/download
NikGapps-core-arm64-14-20231107-signed.zip
Install Android Auto
https://sourceforge.net/projects/nikgapps/files/Releases/Addons-U/07-Nov-2023/
NikGapps-Addon-14-AndroidAuto-20231107-signed.zip
Install all zip files in TWRP recovery then reboot the phone
Large language models (LLM)
Ollama
https://ollama.com/download
curl -fsSL https://ollama.com/install.sh | sh ollama run llama3
Nvidia GPUs / CUDA capability
https://github.com/ollama/ollama/blob/main/docs/gpu.md
OpenStack GPU passthrough
Enable iommu in BIOS
Get MMUI groups
shopt -s nullglob for g in $(find /sys/kernel/iommu_groups/* -maxdepth 0 -type d | sort -V); do echo "IOMMU Group ${g##*/}:" for d in $g/devices/*; do echo -e "\t$(lspci -nns ${d##*/})" done; done;
Configure compute node
Show neutron router namespaces by floating IP (FIP)
FLOATING_IP=1.2.3.4 # search in floating IP table ROUTER_ID=$(openstack floating ip list --floating-ip-address ${FLOATING_IP} --long -c Router -f value) if [ -z ${ROUTER_ID} ]; then # search in router ROUTER_ID=$(openstack router list --long | grep ${FLOATING_IP} | cut -d" " -f2) fi PROJECT_ID=$(openstack router show ${ROUTER_ID} -c project_id -f value) echo -e "\e[34m# Project" openstack router show ${ROUTER_ID} -c id -c name echo echo -e "\e[34m# Router" openstack project show ${PROJECT_ID} -c id -c name -c description echo echo -e "\e[34m# Router namespaces" openstack network agent list --router ${ROUTER_ID} --long --sort-column 'HA State' echo
Install Home Assistant on Raspberry Pi
Install Home Assistant on Raspberry Pi
https://www.home-assistant.io/installation/raspberrypi/
# Install rpi-imager sudo apt install rpi-imager # Create Homeassistant SD-Card # Other specific-purpose OS > Home assistants and home Automation > Home Assistant OS # Connect to HA http://YOUR_HOME_ASSISTANT_IP:8123/ # Create Home Assistant account # Install SSH plugin in Add-on-Store http://YOUR_HOME_ASSISTANT_IP:8123/hassio/addon/core_ssh/info # Open SSH Web CLI http://YOUR_HOME_ASSISTANT_IP:8123/hassio/ingress/core_ssh # get wifi data from workstation WIFI_SSID="$(nmcli dev wifi show-password | grep SSID | cut -d' ' -f2-)" WIFI_PASS="$(nmcli dev wifi show-password | grep Pass | cut -d' ' -f2-)" echo ha network update wlan0 \ --ipv4-method auto \ --wifi-auth wpa-psk \ --wifi-mode infrastructure \ --wifi-ssid \'${WIFI_SSID}\' \ --wifi-psk \'${WIFI_PASS}\' # paste output to SSH online console # debug ha network info
Enable SSH key to hypervisor (Raspberry Pi)
https://community.home-assistant.io/t/howto-how-to-access-the-home-assistant-os-host-itself-over-ssh/263352/6
Raspberry Pi
Images
https://www.raspberrypi.org/downloads/
# Raspbian (Debian Jessie)
sudo umount /dev/mmcblk0*
wget -q http://director.downloads.raspberrypi.org/raspbian/images/raspbian-2016-02-29/2016-02-26-raspbian-jessie.zip -P /tmp
unzip -p /home/pako/Downloads/2016-02-26-raspbian-jessie.zip | sudo dd of=/dev/mmcblk0
sync
wget -q http://director.downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2016-02-29/2016-02-26-raspbian-jessie-lite.zip -P /tmp
View used codecs
for codec in H264 MPG2 WVC1 MPG4 MJPG WMV9 ; do \