Projects by open-source šŸ¤¶

Welcome to my portfolio. I love to create and share. Here are a few websites and some source feats Iā€˜m proud of. Thanks for having a look!

Filter by: Open Source or Sites

Use hardware transcoding, on an Intel NUC, running Plex in an unprivileged LXC container

This post is still in draft.

I used to run Home Assistant supervised on a Intel NUC. It ran Debian, and apart from Home Assistant I also run a few Docker containers (Resilio Sync, Plex, ..). However, as I kept getting more warnings that my supervisor was in an unsupported state, I knew it was time to do it differently.

At first I feared I would have to buy another Intel NUC, or a Home Assistant Yellow. Luckily, a wise friend told me about I should run Proxmox Virtual Environment.

So I did, and once Home Assistant was running smoothly in a Virtual Machine, I wanted to run Plex in an LXC Container.

Create a LXC Container and install Plex

First let’s create a Container!

ImageDebian
CPU4
Memory8192 MB
Swap0
Bootdisk size32 GB

Jump in the Console and let’s install Plex!

apt update
apt upgrade
echo deb https://downloads.plex.tv/repo/deb public main | tee /etc/apt/sources.list.d/plexmediaserver.list
curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -
apt install plexmediaserver

Sources for installing Plex:

Setup Plex

Todo.

Enable hardware transcoding

Mount /dvi/dri/renderD128

/etc/pve/lxc/103.conf

lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.cgroup2.devices.allow: c 29:0 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/dri/renderD128 dev/renderD128 none bind,optional,create=file

Fix permissions for /dvi/dri/renderD128

Todo.

/etc/pve/lxc/103.conf

lxc.idmap: u 0 100000 65536
lxc.idmap: g 0 100000 998
lxc.idmap: g 998 103 1
lxc.idmap: g 999 100999 64537

/etc/subgid
root:103:1

Sources for configuring hardware transcoding:

Share

Enabling Android 10+ apps to Wifi connect

Before Android 10, the api to make your smartphone connect with a Wifi network was open for any app to use. Because of this, it was easy for apps to connect with IoT devices through a temporary Wifi network created by the device. There were however some quirks to take into account, and a library like WifiUtils tries to solve this challenge.

WifiUtils

With Android 10, this approach was no longer possible, and Google added a new api to temporary connect so you can commission the IoT device. I’ve added this to WifiUtils.

React-native-wifi-reborn

This library bridges iOS and Android Wifi connection wizardry. The quality of the Android code wasn’t that great and this is where I stepped up. I’ve improved the code base and added WifiUtils in the mix, adding Android 10+ support!

Share

Site with šŸ’• made by Eliaslecomte.be