Compare commits

...
9 Commits
Author SHA1 Message Date
bart ee9ceb4256 feat(jellyfin-kiosk): bump package to 0.1.5
Build, Test and Publish Debian Packages / Build Packages (push) Failing after 30s
Build, Test and Publish Debian Packages / Test Package Installation (push) Skipped
Build, Test and Publish Debian Packages / Publish to eendoe repository (push) Skipped
2026-11-06 18:25:15 +01:00
bart 1ca16dee3d feat(jellyfin-kiosk): bump package to 0.1.4
Build, Test and Publish Debian Packages / Build Packages (push) Failing after 24s
Build, Test and Publish Debian Packages / Test Package Installation (push) Skipped
Build, Test and Publish Debian Packages / Publish to eendoe repository (push) Skipped
2026-11-05 22:20:37 +01:00
bart 0d7ca3ee4b feat(jellyfin-kiosk): bump package to 0.1.3 with YouTube sharing and cursor fix
Build, Test and Publish Debian Packages / Build Packages (push) Failing after 23s
Build, Test and Publish Debian Packages / Test Package Installation (push) Skipped
Build, Test and Publish Debian Packages / Publish to eendoe repository (push) Skipped
2026-11-05 19:12:14 +01:00
bart e28d4adef0 fix(jellyfin-kiosk): update binary with hidden cursor
Build, Test and Publish Debian Packages / Build Packages (push) Failing after 23s
Build, Test and Publish Debian Packages / Test Package Installation (push) Skipped
Build, Test and Publish Debian Packages / Publish to eendoe repository (push) Skipped
2026-11-05 18:58:22 +01:00
bart 419942a496 feat(jellyfin-kiosk): bump package to 0.1.2
Build, Test and Publish Debian Packages / Build Packages (push) Failing after 33s
Build, Test and Publish Debian Packages / Test Package Installation (push) Skipped
Build, Test and Publish Debian Packages / Publish to eendoe repository (push) Skipped
2026-11-05 18:46:40 +01:00
bart d97a1a9662 feat(jellyfin-kiosk): add debian package build and staging for jellyfin-kiosk 2026-11-04 23:26:30 +01:00
bart 6ee1625e70 feat(ca): configure browser trust policies for Chrome, Chromium, Brave and Firefox (v1.0.1)
Build, Test and Publish Debian Packages / Build Packages (push) Failing after 19s
Build, Test and Publish Debian Packages / Test Package Installation (push) Skipped
Build, Test and Publish Debian Packages / Publish to eendoe repository (push) Skipped
2026-10-20 23:36:47 +02:00
bart 13aea1c654 Add automated update-repo.sh for index generation and signing 2026-10-20 23:12:58 +02:00
bart 06bd01807a Add bnhmeijer-ca-certificates package to sources and repository
Build, Test and Publish Debian Packages / Build Packages (push) Failing after 20s
Build, Test and Publish Debian Packages / Test Package Installation (push) Skipped
Build, Test and Publish Debian Packages / Publish to eendoe repository (push) Skipped
2026-10-20 22:44:29 +02:00
39 changed files with 625 additions and 126 deletions
+18 -4
View File
@@ -56,7 +56,7 @@ jobs:
- name: Install system runtime dependencies
run: |
sudo apt-get update
sudo apt-get install -y python3 python3-pip python3-venv ffmpeg
sudo apt-get install -y python3 python3-pip python3-venv ffmpeg mpv yt-dlp libmpv2
- name: Test install eendoe-repository
run: |
@@ -82,13 +82,27 @@ jobs:
test -d /usr/share/hyperdeck
test -f /etc/hyperdeck/config.json
test -f /usr/lib/systemd/system/hyperdeck.service
python3 -m py_compile /usr/share/hyperdeck/main.py
echo "eendoe-hyperdeck: OK"
- name: Test install bnhmeijer-ca-certificates
run: |
echo "=== Installing bnhmeijer-ca-certificates ==="
sudo apt-get install -y ./staging/bnhmeijer-ca-certificates-*.deb
dpkg -s bnhmeijer-ca-certificates | grep -q "Status: install ok installed"
test -f /usr/local/share/ca-certificates/bnhmeijer/bnhmeijer-root-ca.crt
echo "bnhmeijer-ca-certificates: OK"
- name: Test install jellyfin-kiosk
run: |
echo "=== Installing jellyfin-kiosk ==="
sudo apt-get install -y ./staging/jellyfin-kiosk-*.deb
dpkg -s jellyfin-kiosk | grep -q "Status: install ok installed"
test -x /usr/bin/jellyfin-kiosk
test -f /usr/lib/systemd/system/jellyfin-kiosk.service
echo "jellyfin-kiosk: OK"
- name: Test package uninstall and cleanup
run: |
echo "=== Testing package removal ==="
sudo apt-get remove -y eendoe-hyperdeck eendoe-srs eendoe-repository
sudo apt-get remove -y eendoe-hyperdeck eendoe-srs eendoe-repository bnhmeijer-ca-certificates jellyfin-kiosk
echo "Package removal: OK"
publish:
+1
View File
@@ -6,6 +6,7 @@ Debian / APT package repository bronbestanden en build tools voor Eendoe.
- **`sources/`**: Bronbestanden, control definities en packaging scripts voor de te bouwen packages:
- `eendoe_repository`: Repository configuratie package (`/etc/apt/sources.list.d/`)
- `bnhmeijer_ca_certificates`: Bnhmeijer Homelab Root CA package voor `/usr/local/share/ca-certificates/`
- `eendoe_hyperdeck`: Hyperdeck Python service en systemd unit
- `eendoe_srs`: SRS streaming server package en systemd unit
- **`staging/`**: Bestaande en nieuw gebouwde `.deb` packages (exclusief Oracle database packages).
+24 -47
View File
@@ -1,57 +1,34 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Hash: SHA512
Origin: . stable
Label: . stable
Origin: Eendoe
Label: Eendoe Repository
Suite: stable
Codename: stable
Date: Wed, 27 Dec 2023 15:09:09 UTC
Architectures: amd64
Date: Tue, 20 Oct 2026 21:36:18 +0000
Architectures: amd64 all
Components: main
Description: Generated by aptly
Description: Eendoe Private APT Package Repository
MD5Sum:
cf5f351b126aaab2bf6ca97c13b378c5 3405449 Contents-amd64
9f23a2449f3abc4c6fccecfd01fd86e3 152525 Contents-amd64.gz
cf5f351b126aaab2bf6ca97c13b378c5 3405449 main/Contents-amd64
9f23a2449f3abc4c6fccecfd01fd86e3 152525 main/Contents-amd64.gz
f8778b24beb2988de929e2d59d1f4c58 2761 main/binary-amd64/Packages
a9ae692d17b8e39db0555ab28ca1207d 1357 main/binary-amd64/Packages.bz2
9a64097df252b063fd82b0127ffc57ae 1268 main/binary-amd64/Packages.gz
1a863a05e2aa38a0db0bf785722d7fae 99 main/binary-amd64/Release
8fc1ad8fefc657a8da319cc9b55c6eaf 4709 main/binary-amd64/Packages
a6c07fa32055f89a45b322fc1804dd8e 1747 main/binary-amd64/Packages.gz
cddb357d915f3e3cc9c59e221003730d 1893 main/binary-amd64/Packages.bz2
SHA1:
5fe9dd2d9aa59f1f24de2ca35728e05db5f74655 3405449 Contents-amd64
3913d6a2268e0599ee051d4a267b70a4740c03fa 152525 Contents-amd64.gz
5fe9dd2d9aa59f1f24de2ca35728e05db5f74655 3405449 main/Contents-amd64
3913d6a2268e0599ee051d4a267b70a4740c03fa 152525 main/Contents-amd64.gz
7236da7bf2d82d5b66a9305d78f7ec7876792c71 2761 main/binary-amd64/Packages
a2ed1b4117915d2349051ada9ddc089113aa7803 1357 main/binary-amd64/Packages.bz2
a628182db07c468ccf6236597693c3624a0eb9f8 1268 main/binary-amd64/Packages.gz
279ffa18634b8d6c311595f6e6db2c1b2324b3ef 99 main/binary-amd64/Release
e349ded34482fa7054812a7ff8ec1675a0d3987b 4709 main/binary-amd64/Packages
c8c126f431f6813812de54c586da7d3c998008cb 1747 main/binary-amd64/Packages.gz
f875d955166a78973c768b08bc595a2dcb7c41c7 1893 main/binary-amd64/Packages.bz2
SHA256:
0ec939a6371353e8ba850811ecba0bd6749ecf5ad4e6ffe4d3f4d48ed68dc8ee 3405449 Contents-amd64
915bdf7b19675b1eb09b22f0aada96d0d1557fa9ed70a3e71db197c71376db02 152525 Contents-amd64.gz
0ec939a6371353e8ba850811ecba0bd6749ecf5ad4e6ffe4d3f4d48ed68dc8ee 3405449 main/Contents-amd64
915bdf7b19675b1eb09b22f0aada96d0d1557fa9ed70a3e71db197c71376db02 152525 main/Contents-amd64.gz
f2197b98eadd153d364ff7948bca222763f70e18b76a963b504c1ebbbeb0f2b7 2761 main/binary-amd64/Packages
7dc41b5f359d26cb8c1bcc4b512c94c5db1b402efb15e76d5d0d23625cdca933 1357 main/binary-amd64/Packages.bz2
64f1a3fd43c28053b3c2301a123b4cf6dc5a1370a94463d861fab3856554366e 1268 main/binary-amd64/Packages.gz
101f8d561bb536f600918ab98ffb742828149f0d90ed0b007b7b761e9ad4f8a2 99 main/binary-amd64/Release
SHA512:
ec29ceab750bab737fbbcc9f00b74c334d0e1ea2f62c0081ed9b695d76bac1296f7560b2ee80361c9f8ed2b538a6adad21d8d3b55200fa71096ac09cd6c7eebd 3405449 Contents-amd64
69bbc10540b2bb90941dd2b6804544c91fd335e91f7674f50b2d32312257b997f34ec5d0147d69a16164e41e2bdbdc008a74c863b6de0c42c15eba062c540efa 152525 Contents-amd64.gz
ec29ceab750bab737fbbcc9f00b74c334d0e1ea2f62c0081ed9b695d76bac1296f7560b2ee80361c9f8ed2b538a6adad21d8d3b55200fa71096ac09cd6c7eebd 3405449 main/Contents-amd64
69bbc10540b2bb90941dd2b6804544c91fd335e91f7674f50b2d32312257b997f34ec5d0147d69a16164e41e2bdbdc008a74c863b6de0c42c15eba062c540efa 152525 main/Contents-amd64.gz
19efa178a219564af52c8eff763c820d973a9f00f43a6fd5d1599179661b025a043da630874ba56814ca43608d68aa2e555bb5f303a3d84deb1412c4c8923ff6 2761 main/binary-amd64/Packages
87099e5b28836adde21419be72bc16bbb6b02bd901f8372df2de3543d03f8de9ff58fd058ef7bc90a7bafc9b8d4c38fdd25c507b788b8054d79d448c97ef32d7 1357 main/binary-amd64/Packages.bz2
dc706a07d45f70d0bf645c4d65e1b6b235a66dfa294f8a77825b1395cf40aa3a2ed097f7092e4635c99ff231fc9f44852d0b91ed09fbbd1cc8a78bb758afc2e7 1268 main/binary-amd64/Packages.gz
fd75f52e3d8ab190e919a646d1ccc84e447b32e45691f0f9f65c3ac5ac806f024f7edef6e0c3c9e2d19a5f2621dcd3744f684d9b87a7cdc493b0eb55e7a0b393 99 main/binary-amd64/Release
8bd948850a78b9f51ef065ce194760947b7bfb60e0124bdf8ff115e4eaa51d62 4709 main/binary-amd64/Packages
4cff378eeaf24824f9e9027c8e4b2e42023c7fb8b83bb9e3517caffc82ee7c66 1747 main/binary-amd64/Packages.gz
a38a8258163e341ddaf3708b7dab8d4437d9b65ef1267539d3c184cc2c367ade 1893 main/binary-amd64/Packages.bz2
-----BEGIN PGP SIGNATURE-----
wsBcBAEBCAAQBQJljD4VCRBWSZ+SBjn1cQAANDUIAKjuNqznCTWjUgwAdRkmCLyb
HzmxTbtSfc4Eguri0QsUCQg7FA5nlupNketz2NNJ3TIkPJ7KVHAvcYdifnDlL0k2
WQMRC4L94jxYSvRnMj4f+/pWt1UxHs5wCHGaojvf8s9ZzSTme52g3MLtikQCEpgv
zqIgSH4bzAJu0fc5Je1qRpxiwATyf7B7vC276XSWkDIxDZBUSupLoZNua0NdZ7mh
cTXyFIexrWOJk3xJjKfcTQZEB+RxVZk/vSADAnaVKo/YuzBoSx2A1HEwVDOPc4TD
vwPIfM9LDoS6YrN4mKDvkjlUtgds/5rXcOVxEQAAaG/md5RvRTOAFbpBKs/pbZc=
=2HIC
-----END PGP SIGNATURE-----
iQEzBAEBCgAdFiEEUQdwLhqNQP44F6OuVkmfkgY59XEFAmrX3tIACgkQVkmfkgY5
9XFjHwf/Qqa5PCPX919pWz/ML5entwd2vEZpr3HSqfum0R9hp7YE9p9100Z+p7pk
BFG2vLSKzw9XsExUH5WqtDyDLyxZNqqrlwlhZWbaVfHhpFoUf2ToOAF6lA2vB40U
EmG2dFgnrvC43oZIh46W1EGs0yKmeinJuZWh/OIQI1oNP6TCzEAkmzaLZOtlBQSy
0wYVGYp/DwkzGOink7Izz3GP6CHeDUwzp3tazeOQAqgz5cjUmc4O6GNl78MdSeu8
rD0DQNELvDK2TXsE8b17MdK/ZdHZNGuq27xZeVcedF5CQ+7fkv2I9vHsGulj8dF/
KwmW68r0bBmvZsM0xsBbvpKPfAfHeg==
=9xzR
-----END PGP SIGNATURE-----
+14 -38
View File
@@ -1,44 +1,20 @@
Origin: . stable
Label: . stable
Origin: Eendoe
Label: Eendoe Repository
Suite: stable
Codename: stable
Date: Wed, 27 Dec 2023 15:09:09 UTC
Architectures: amd64
Date: Tue, 20 Oct 2026 21:36:18 +0000
Architectures: amd64 all
Components: main
Description: Generated by aptly
Description: Eendoe Private APT Package Repository
MD5Sum:
cf5f351b126aaab2bf6ca97c13b378c5 3405449 Contents-amd64
9f23a2449f3abc4c6fccecfd01fd86e3 152525 Contents-amd64.gz
cf5f351b126aaab2bf6ca97c13b378c5 3405449 main/Contents-amd64
9f23a2449f3abc4c6fccecfd01fd86e3 152525 main/Contents-amd64.gz
f8778b24beb2988de929e2d59d1f4c58 2761 main/binary-amd64/Packages
a9ae692d17b8e39db0555ab28ca1207d 1357 main/binary-amd64/Packages.bz2
9a64097df252b063fd82b0127ffc57ae 1268 main/binary-amd64/Packages.gz
1a863a05e2aa38a0db0bf785722d7fae 99 main/binary-amd64/Release
8fc1ad8fefc657a8da319cc9b55c6eaf 4709 main/binary-amd64/Packages
a6c07fa32055f89a45b322fc1804dd8e 1747 main/binary-amd64/Packages.gz
cddb357d915f3e3cc9c59e221003730d 1893 main/binary-amd64/Packages.bz2
SHA1:
5fe9dd2d9aa59f1f24de2ca35728e05db5f74655 3405449 Contents-amd64
3913d6a2268e0599ee051d4a267b70a4740c03fa 152525 Contents-amd64.gz
5fe9dd2d9aa59f1f24de2ca35728e05db5f74655 3405449 main/Contents-amd64
3913d6a2268e0599ee051d4a267b70a4740c03fa 152525 main/Contents-amd64.gz
7236da7bf2d82d5b66a9305d78f7ec7876792c71 2761 main/binary-amd64/Packages
a2ed1b4117915d2349051ada9ddc089113aa7803 1357 main/binary-amd64/Packages.bz2
a628182db07c468ccf6236597693c3624a0eb9f8 1268 main/binary-amd64/Packages.gz
279ffa18634b8d6c311595f6e6db2c1b2324b3ef 99 main/binary-amd64/Release
e349ded34482fa7054812a7ff8ec1675a0d3987b 4709 main/binary-amd64/Packages
c8c126f431f6813812de54c586da7d3c998008cb 1747 main/binary-amd64/Packages.gz
f875d955166a78973c768b08bc595a2dcb7c41c7 1893 main/binary-amd64/Packages.bz2
SHA256:
0ec939a6371353e8ba850811ecba0bd6749ecf5ad4e6ffe4d3f4d48ed68dc8ee 3405449 Contents-amd64
915bdf7b19675b1eb09b22f0aada96d0d1557fa9ed70a3e71db197c71376db02 152525 Contents-amd64.gz
0ec939a6371353e8ba850811ecba0bd6749ecf5ad4e6ffe4d3f4d48ed68dc8ee 3405449 main/Contents-amd64
915bdf7b19675b1eb09b22f0aada96d0d1557fa9ed70a3e71db197c71376db02 152525 main/Contents-amd64.gz
f2197b98eadd153d364ff7948bca222763f70e18b76a963b504c1ebbbeb0f2b7 2761 main/binary-amd64/Packages
7dc41b5f359d26cb8c1bcc4b512c94c5db1b402efb15e76d5d0d23625cdca933 1357 main/binary-amd64/Packages.bz2
64f1a3fd43c28053b3c2301a123b4cf6dc5a1370a94463d861fab3856554366e 1268 main/binary-amd64/Packages.gz
101f8d561bb536f600918ab98ffb742828149f0d90ed0b007b7b761e9ad4f8a2 99 main/binary-amd64/Release
SHA512:
ec29ceab750bab737fbbcc9f00b74c334d0e1ea2f62c0081ed9b695d76bac1296f7560b2ee80361c9f8ed2b538a6adad21d8d3b55200fa71096ac09cd6c7eebd 3405449 Contents-amd64
69bbc10540b2bb90941dd2b6804544c91fd335e91f7674f50b2d32312257b997f34ec5d0147d69a16164e41e2bdbdc008a74c863b6de0c42c15eba062c540efa 152525 Contents-amd64.gz
ec29ceab750bab737fbbcc9f00b74c334d0e1ea2f62c0081ed9b695d76bac1296f7560b2ee80361c9f8ed2b538a6adad21d8d3b55200fa71096ac09cd6c7eebd 3405449 main/Contents-amd64
69bbc10540b2bb90941dd2b6804544c91fd335e91f7674f50b2d32312257b997f34ec5d0147d69a16164e41e2bdbdc008a74c863b6de0c42c15eba062c540efa 152525 main/Contents-amd64.gz
19efa178a219564af52c8eff763c820d973a9f00f43a6fd5d1599179661b025a043da630874ba56814ca43608d68aa2e555bb5f303a3d84deb1412c4c8923ff6 2761 main/binary-amd64/Packages
87099e5b28836adde21419be72bc16bbb6b02bd901f8372df2de3543d03f8de9ff58fd058ef7bc90a7bafc9b8d4c38fdd25c507b788b8054d79d448c97ef32d7 1357 main/binary-amd64/Packages.bz2
dc706a07d45f70d0bf645c4d65e1b6b235a66dfa294f8a77825b1395cf40aa3a2ed097f7092e4635c99ff231fc9f44852d0b91ed09fbbd1cc8a78bb758afc2e7 1268 main/binary-amd64/Packages.gz
fd75f52e3d8ab190e919a646d1ccc84e447b32e45691f0f9f65c3ac5ac806f024f7edef6e0c3c9e2d19a5f2621dcd3744f684d9b87a7cdc493b0eb55e7a0b393 99 main/binary-amd64/Release
8bd948850a78b9f51ef065ce194760947b7bfb60e0124bdf8ff115e4eaa51d62 4709 main/binary-amd64/Packages
4cff378eeaf24824f9e9027c8e4b2e42023c7fb8b83bb9e3517caffc82ee7c66 1747 main/binary-amd64/Packages.gz
a38a8258163e341ddaf3708b7dab8d4437d9b65ef1267539d3c184cc2c367ade 1893 main/binary-amd64/Packages.bz2
+9 -8
View File
@@ -1,10 +1,11 @@
-----BEGIN PGP SIGNATURE-----
wsBcBAABCAAQBQJljD4VCRBWSZ+SBjn1cQAA8egIADfaxAQ/X/sjUAVIXODYu2cu
CWzVmXJ9PcNAQhTo+3rCgLKfs2o8Vw4lKGbNlAUAUZuLTooAUAmIqqnkgaiJsXLO
wGWqbHRi/opVVvYRATpuQJfpZ6Du9z8bhmnm7klVlZhluxuFia1analsT3lOopI1
GrXrN4TMXwUp3tOk/7hWaP/ME3v0MsMIqtrkDwseA8lQ7pMhA8TnmabDZTSmf94R
KxYzw8TaI/Ddrs9HBsP9d0hUqOvyhicwqC5XF4Rtn9GgjN2H0+/vUPkNta7I8zOV
UlnOj0r8owjVKg4opRqrGfk14MmyliQZ2KlFHhsgdxUoTB0QPuFKnQLflwx7Ztw=
=tgYK
-----END PGP SIGNATURE-----
iQEyBAABCgAdFiEEUQdwLhqNQP44F6OuVkmfkgY59XEFAmrX3tIACgkQVkmfkgY5
9XGlSQf4useyfLCS4hNEM1x4soVjDwrs5LB8nQJTs14zHZ00YFinE66kaV6OdDJv
MH+vv9JdMFK+tyaemkw2xKkDib0RyLx8rQYqGERI/TX6RBTIlZRa7TBwVw4YuleC
jPeXtyFJGvho4rAN6gS1jG5POHhnZk9cZPeCsC9ydoAXBevQV6j1WR3n98qvx/vp
ObAqVIGX7uP7Ffmgo5yXZUWOeLU7lmaiwjv8yMEjirqHpqhxq9qkYe41tXS2NJ18
ZCrm0uutbDdOS4DiU2ndSNKDd9bQtNwU9X0+xviFzOteMtOMEhtzycytDBFCur3z
Np6uCQaoxKOLfgomTeKhBG6PRbOo
=UcVa
-----END PGP SIGNATURE-----
@@ -1,29 +1,91 @@
Package: eendoe-repository
Section: utils
Maintainer: Bart Meijer
Package: bnhmeijer-ca-certificates
Version: 1.0.0
Architecture: all
Maintainer: Bart Meijer <info@bnhmeijer.nl>
Depends: ca-certificates
Filename: pool/main/b/bnhmeijer-ca-certificates/bnhmeijer-ca-certificates-1.0.0_all.deb
Size: 2408
MD5sum: 042a9554c51f2add03a5cd82cacb616f
SHA1: 439678abe947246bfc25d8ad4bd336acada4bec1
SHA256: 2a87b6bb51d751c47ebc83d5dfc81f1874c509e70859cf25a0003f0e2c5fb382
Section: utils
Priority: optional
Description: Bnhmeijer Homelab Root CA certificate
Installs the Bnhmeijer Homelab Root CA certificate into the system trust store
(/usr/local/share/ca-certificates/bnhmeijer/) and updates the CA trust list.
Ensures all homelab internal services (*.lan and *.bnhmeijer.nl) signed by
cert-service are automatically trusted by the OS and browsers.
Package: bnhmeijer-ca-certificates
Version: 1.0.1
Architecture: all
Maintainer: Bart Meijer <info@bnhmeijer.nl>
Depends: ca-certificates
Recommends: libnss3-tools
Filename: pool/main/b/bnhmeijer-ca-certificates/bnhmeijer-ca-certificates-1.0.1_all.deb
Size: 3548
MD5sum: e3933131eb461153e3b52ebb1605815b
SHA1: 31bb175b972276bca977646af656a9f3b7a9083e
SHA256: cfe6653252f5b55a26e645efb6718a72049c5e4185d77d915fc50fcf635acfc3
Section: utils
Priority: optional
Description: Bnhmeijer Homelab Root CA certificate
Installs the Bnhmeijer Homelab Root CA certificate into the system trust store
(/usr/local/share/ca-certificates/bnhmeijer/) and configures system policies
for Firefox, Google Chrome, Chromium and Brave browsers.
Ensures all homelab internal services (*.lan and *.bnhmeijer.nl) signed by
cert-service are automatically trusted by the OS and browsers.
Package: eendoe-hyperdeck
Version: 0.15.2
Architecture: all
Maintainer: nl.eendoe.bart
Depends: python3, python3-pip, ffmpeg, eendoe-srs
Filename: pool/main/e/eendoe-hyperdeck/eendoe-hyperdeck-0.15.2_all.deb
Size: 11316
MD5sum: 17a094c21bc92198231c1438cd834633
SHA1: 45e06ad000760f88ee025d888b246bacc59da1a8
SHA256: 7a5de2fa5289da9fe3227b5e39ff9b837d3c99c397008376d6b29714fcd3dd1e
Section: utils
Description: Eendoe hyperdeck client module
Package: eendoe-repository
Version: 1.0
Architecture: all
Maintainer: Bart Meijer
Filename: pool/main/e/eendoe-repository/eendoe-repository-1.0_all.deb
Size: 7224
MD5sum: 1dec21c569795d9a7c408b49bc462351
SHA1: f81b15730a43fc3e8bb002046a09755c83b00794
SHA256: 87fe58023583065366484a08af3789e276a0ab87516eae549e550dd6e74ca78f
SHA512: 6c5ccca79318822ea39cfe04bbf8c11e9be06e8f53aafdef9a47b8bbcf3b2370b1ad1d15e23fb36378aa8cf3304fce8563f5e963299eda348636f0e1eead4809
Section: utils
Description: Eendoe package repository
Package: eendoe-srs
Version: 0.0.1
Architecture: all
Maintainer: nl.eendoe.bart
Depends: python3, python3-pip, ffmpeg
Filename: pool/main/e/eendoe-srs/eendoe-srs-0.0.1_all.deb
Size: 12412098
MD5sum: 1c91d1fdfff4a8c2b1512c28d49e5ea9
SHA1: a8ad5125183f618f0f652275670f4369f4fca07b
SHA256: 38f8b0288471024e2cb4465210bb28fa6bf3442a4d7c938a598686595d67eebc
Section: utils
Description: Eendoe Hyperdeck SRS module
Package: oracle-database-preinstall-21c
Priority: extra
Section: alien
Installed-Size: 101
Maintainer: Bart Meijer <bart@vmserver>
Architecture: amd64
Version: 1.0-2
Architecture: amd64
Maintainer: Bart Meijer <bart@vmserver>
Installed-Size: 101
Filename: pool/main/o/oracle-database-preinstall-21c/oracle-database-preinstall-21c_1.0-2_amd64.deb
Size: 19796
MD5sum: 9a95793469fb85f535a26266b60738bf
SHA1: 6869aad4114275c479e40865bba021c6ca02e6cb
SHA256: a6ad8c2b5b204f631f88199ed799784ad6fd73bd65d899277b8e786ecf5bb578
SHA512: 617ce833e5771b2d55f8d1c39c77adf1f775590565ff056610625f8c24450150d4a563a7a4cac25966b41c6becd90e73c38c379bc198096acd0b673eaa0b48e2
Section: alien
Priority: extra
Description: Oracle Database Preinstallation RPM
The Oracle Database Preinstallation RPM automatically installs any additional
packages needed for installing Oracle Grid Infrastructure and Oracle Database
@@ -33,33 +95,31 @@ Description: Oracle Database Preinstallation RPM
(Converted from a rpm package by alien version 8.95.)
Package: oracle-database-xe-21c
Section: utils
Maintainer: Bart Meijer
Architecture: all
Version: 1.0.3
Filename: pool/main/o/oracle-database-xe-21c/oracle-database-xe-21c-1.0.3_all.deb
Size: 2188370848
MD5sum: b89910db6b9ba0ab149db6ee78a711f8
SHA1: 39e2f816b81ccc4dbbc4bc89d20361272dd59161
SHA256: ec96ebd544d9492e3696fc609d18a539357c653b3fb4264d144fbd0a27b23eec
SHA512: 1922b4fec8b7e6b03a298a2f8d4f400ec9aa9b2d7ad6fe4ceaa83d136c6d5910316f46c6025b352b05ce18ad8fc9e3b7286bf3948e000a1857b6fce2d2c19c03
Description: Eendoe package repository
Package: oracle-database-xe-21c
Priority: extra
Section: alien
Installed-Size: 6067591
Maintainer: Bart Meijer <bart@vmserver>
Architecture: amd64
Version: 1.0-2
Architecture: amd64
Maintainer: Bart Meijer <bart@vmserver>
Installed-Size: 6067591
Filename: pool/main/o/oracle-database-xe-21c/oracle-database-xe-21c_1.0-2_amd64.deb
Size: 2188841976
MD5sum: 0b39df8f78e8c909557d1f028c9e7e5f
SHA1: 882d1f5f63d842c6051a9aa0ec57a2d34cdb1a3f
SHA256: 5b1401ac3e34ac5c0c636b8b41a6b3762f9b8297fb6f42c3bc2d1d05677ae01d
SHA512: 9ff82c1b2d09582f1c456ba99ecb3f3be5079bd00a5101c7f927fb3752bc869fe4e982b51d170feca64e9ab6ab58c41566a30e57b1ff9fe066041bc0465e3d2a
Section: alien
Priority: extra
Description: Oracle 21c Express Edition Database
Oracle 21c Express Edition Database
.
(Converted from a rpm package by alien version 8.95.)
Package: oracle-database-xe-21c
Version: 1.0.3
Architecture: all
Maintainer: Bart Meijer
Filename: pool/main/o/oracle-database-xe-21c/oracle-database-xe-21c-1.0.3_all.deb
Size: 2188370848
MD5sum: b89910db6b9ba0ab149db6ee78a711f8
SHA1: 39e2f816b81ccc4dbbc4bc89d20361272dd59161
SHA256: ec96ebd544d9492e3696fc609d18a539357c653b3fb4264d144fbd0a27b23eec
Section: utils
Description: Eendoe package repository
Binary file not shown.
Binary file not shown.
+11
View File
@@ -645,6 +645,17 @@
</div>
</div>
<div class="pkg-card">
<div>
<div class="pkg-name">bnhmeijer-ca-certificates</div>
<div class="pkg-desc">Bnhmeijer Homelab Root CA certificaat. Voegt de root CA automatisch toe aan de OS trust store zodat interne TLS-certificaten direct vertrouwd worden.</div>
</div>
<div class="pkg-footer">
<span>Versie: 1.0.0</span>
<span>Arch: all</span>
</div>
</div>
<div class="pkg-card">
<div>
<div class="pkg-name">eendoe-repository</div>
+46
View File
@@ -0,0 +1,46 @@
#!/bin/sh
set -e
CONTROL_FILE=$(ls -1 *.control 2>/dev/null | head -n 1)
if [ -z "$CONTROL_FILE" ]; then
echo "Fout: Geen .control bestand gevonden in $(pwd)" >&2
exit 1
fi
PACKAGE_NAME=$(awk '/^Package: /{print $NF}' "$CONTROL_FILE")
DETECTED_VERSION=$(awk '/^Version: /{print $NF}' "$CONTROL_FILE")
# Version resolution: CLI arg > ENV var > .control version > default 0.1.0
if [ -n "$1" ]; then
VERSION="$1"
elif [ -n "$PACKAGE_VERSION" ]; then
VERSION="$PACKAGE_VERSION"
elif [ -n "$VERSION" ]; then
VERSION="$VERSION"
elif [ "$DETECTED_VERSION" != "{VERSION}" ] && [ -n "$DETECTED_VERSION" ]; then
VERSION="$DETECTED_VERSION"
else
VERSION="0.1.0"
fi
mkdir -p "packaging/$PACKAGE_NAME/DEBIAN"
sed "s/{VERSION}/${VERSION}/" "$CONTROL_FILE" > "packaging/$PACKAGE_NAME/DEBIAN/control"
ARCH=$(awk '/^Architecture: /{print $NF}' "packaging/$PACKAGE_NAME/DEBIAN/control")
ARCH="${ARCH:-all}"
DEB_FILENAME="${PACKAGE_NAME}-${VERSION}_${ARCH}.deb"
echo "Building package: $PACKAGE_NAME ($VERSION) [$ARCH] -> $DEB_FILENAME"
# Ensure correct Debian directory permissions
find "packaging/$PACKAGE_NAME" -type d -exec chmod 755 {} +
find "packaging/$PACKAGE_NAME" -type f -exec chmod 644 {} +
find "packaging/$PACKAGE_NAME/DEBIAN" -type f -exec chmod 755 {} + 2>/dev/null || true
# Build debian binary package
dpkg-deb --build "packaging/$PACKAGE_NAME" "$DEB_FILENAME"
# Cleanup temporary control file
rm -f "packaging/$PACKAGE_NAME/DEBIAN/control"
echo "Succesvol gebouwd: $DEB_FILENAME"
@@ -0,0 +1,14 @@
Package: bnhmeijer-ca-certificates
Version: 1.0.1
Section: utils
Priority: optional
Architecture: all
Depends: ca-certificates
Recommends: libnss3-tools
Maintainer: Bart Meijer <info@bnhmeijer.nl>
Description: Bnhmeijer Homelab Root CA certificate
Installs the Bnhmeijer Homelab Root CA certificate into the system trust store
(/usr/local/share/ca-certificates/bnhmeijer/) and configures system policies
for Firefox, Google Chrome, Chromium and Brave browsers.
Ensures all homelab internal services (*.lan and *.bnhmeijer.nl) signed by
cert-service are automatically trusted by the OS and browsers.
@@ -0,0 +1,40 @@
#!/bin/sh
set -e
CA_CRT="/usr/local/share/ca-certificates/bnhmeijer/bnhmeijer-root-ca.crt"
CA_NICKNAME="Bnhmeijer Homelab Root CA"
case "$1" in
configure|abort-upgrade)
# 1. Update OS system trust store
if command -v update-ca-certificates >/dev/null 2>&1; then
echo "Bijwerken van systeem trusted CA certificaten..."
update-ca-certificates >/dev/null 2>&1 || true
fi
# 2. Link Firefox distribution policies if application dir exists
if [ -d /usr/lib/firefox ]; then
mkdir -p /usr/lib/firefox/distribution
if [ ! -e /usr/lib/firefox/distribution/policies.json ] || [ -L /usr/lib/firefox/distribution/policies.json ]; then
ln -sf /etc/firefox/policies/policies.json /usr/lib/firefox/distribution/policies.json
fi
fi
# 3. Import into NSS databases if certutil is installed
if command -v certutil >/dev/null 2>&1 && [ -f "$CA_CRT" ]; then
for user_home in /root $(awk -F: '$3 >= 1000 && $3 < 60000 {print $6}' /etc/passwd 2>/dev/null); do
user_name=$(stat -c '%U' "$user_home" 2>/dev/null || echo "root")
for pki_dir in "$user_home/.pki/nssdb" "$user_home/.local/share/pki/nssdb"; do
if [ -d "$pki_dir" ]; then
certutil -d "sql:$pki_dir" -A -t "TC,," -n "$CA_NICKNAME" -i "$CA_CRT" >/dev/null 2>&1 || true
chown -R "$user_name:" "$pki_dir" 2>/dev/null || true
fi
done
done
fi
echo "Bnhmeijer Root CA is geconfigureerd voor OS, Firefox en Chromium/Chrome."
echo "Herstart actieve browsers om de nieuwe certificaatvertrouwenslijst te laden."
;;
esac
exit 0
@@ -0,0 +1,31 @@
#!/bin/sh
set -e
CA_NICKNAME="Bnhmeijer Homelab Root CA"
case "$1" in
remove|purge|disappear)
# 1. Update OS system trust store
if command -v update-ca-certificates >/dev/null 2>&1; then
echo "Verwijderen van certificaat uit systeem trust store..."
update-ca-certificates --fresh >/dev/null 2>&1 || true
fi
# 2. Clean up Firefox symlink if it points to our policy
if [ -L /usr/lib/firefox/distribution/policies.json ]; then
rm -f /usr/lib/firefox/distribution/policies.json 2>/dev/null || true
fi
# 3. Remove from NSS databases if certutil is installed
if command -v certutil >/dev/null 2>&1; then
for user_home in /root $(awk -F: '$3 >= 1000 && $3 < 60000 {print $6}' /etc/passwd 2>/dev/null); do
for pki_dir in "$user_home/.pki/nssdb" "$user_home/.local/share/pki/nssdb"; do
if [ -d "$pki_dir" ]; then
certutil -d "sql:$pki_dir" -D -n "$CA_NICKNAME" >/dev/null 2>&1 || true
fi
done
done
fi
;;
esac
exit 0
@@ -0,0 +1,5 @@
{
"CACertificates": [
"MIIFZzCCA0+gAwIBAgIRALCvASaMQ9DZPQrGDIYTVkswDQYJKoZIhvcNAQELBQAwTTEiMCAGA1UEAwwZQm5obWVpamVyIEhvbWVsYWIgUm9vdCBDQTEaMBgGA1UECgwRQm5obWVpamVyIEhvbWVsYWIxCzAJBgNVBAYTAk5MMB4XDTI2MTAyMDIwMjQ0OVoXDTM2MTAxNzIwMjQ0OVowTTEiMCAGA1UEAwwZQm5obWVpamVyIEhvbWVsYWIgUm9vdCBDQTEaMBgGA1UECgwRQm5obWVpamVyIEhvbWVsYWIxCzAJBgNVBAYTAk5MMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuOKEFT0p9uzcxf5hfPyvjFDdFs2GxN3nUNJ+6fzdwR3Bf0yeFYLIHA8C/7hMApt5JGW/ndnYEA7hk0Oj2mbXUo7oj7zIKke5OALBO3SSvJSywwBOsaZ95sSTfkYvmCOLojH/EUmLA6+MmUtSTWMIm1doki2H8BEdXzeE4XtI/Fw8v1kRX0AYA3l4+AB8ejVSHIuhcWgbrwGKkRZFBEAJMXEpIKkYiYPxAZ4AUy4FJHVJwpdK9JLc6ORQS4kpBWJRGROwSePs2hfMn3tSg3xfyOK/c8bOyGTx9O1tjWcfN2cPbGhJ5Uo9j5uyZnAvdkR0mniELB6/G6jM4UzKfmVvQEMtjH76vowFzJmDiKWRJgmq1rEEdSVPDowateLEac5YkGIc9e+/1G3yKQH+eqcHbGvQORnQF03rB5jNWUHdF5WSbMHPszOndMHnUYMrHC025ApIKXcO8R1/ld0DsMRGY4sSwQfRQW5oVOOxQkPMk2LcC4v9Gz/ox9DuAhBXqQUpoXkZ/Zdd2zI2eKLnKuYqkiUvUOUJAUapyztQCCWpxeU9gxTBOrN1g5sSVy3p5lrSWNMQUNXNyOr3ylj3XVQFZxtRWM64tHb8M4UpHYvLG7Bw7m59BgwgEJP686ShnQg/CpE0XpILU+GH8FPL2k8Zl9RBH3jJjLrGEjexiv0KdDcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFH1zTZdKh8Q63s5JV5UwrfHB6rAYMA0GCSqGSIb3DQEBCwUAA4ICAQBQmMk725RF2qzN5Me+MuY/N0GdJGNauZ9KvzSybyCIrXfycmidvwU+g1j3nFwVs2FSH3cU6s06jH1Lr0soz74cEmU/Zn94G3Yp8nMh3Nz+qwmJenD1ffF9bTgk2b/jhSRRNU4nDm0HvdfUGLTxgmtAkI45dAmmtynGhKhaFqyxbosxz/PrCqzo6SSrKYx7bHj8Wk2wdB6hDY5UbzOvBVWq8JqZCJiSLNjZNgD64YFUtbBTK3kDCLJhesuf6Qg8UBUL34NqIHfTC5J6G2AlFOLBi6DKBc7rnTlHCCesUUGZqxQy58nCMSlRLKRg3tqQq1Hy839Vb/llmpQDujWDaQ7ptN1bn2ATzdruc+PW2pPv6Ffs3lS7o+69mk5/NDhkqNCM1EYK2hDEkO1jdiyUgmXi0i7ni7Qea3HSK2WYAtHPTIDHAGCzO2Lvfbeq70rfGIf2FJRItIqmS8OjOggGp++ED2d49hvw3Tfxnw108SqYFph2QN/drt8kvcXkMNGQXE7eIqyY5sgI3tJuYpy2r7BWsg0EFwYVphZ0o/SFZTleSTKSxGprNLXKcqxyEYCmZfZLiWRcvTFOkzCqnLQZGJMMdk3Nkq6IwAaZiyRtW6QBHLaIHX/vUX0C3FD+bSuRfZbZGcTmdHVLKAdCOfMp0w/oW5X4vURcjoGJNbd8z0UU0A=="
]
}
@@ -0,0 +1,5 @@
{
"CACertificates": [
"MIIFZzCCA0+gAwIBAgIRALCvASaMQ9DZPQrGDIYTVkswDQYJKoZIhvcNAQELBQAwTTEiMCAGA1UEAwwZQm5obWVpamVyIEhvbWVsYWIgUm9vdCBDQTEaMBgGA1UECgwRQm5obWVpamVyIEhvbWVsYWIxCzAJBgNVBAYTAk5MMB4XDTI2MTAyMDIwMjQ0OVoXDTM2MTAxNzIwMjQ0OVowTTEiMCAGA1UEAwwZQm5obWVpamVyIEhvbWVsYWIgUm9vdCBDQTEaMBgGA1UECgwRQm5obWVpamVyIEhvbWVsYWIxCzAJBgNVBAYTAk5MMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuOKEFT0p9uzcxf5hfPyvjFDdFs2GxN3nUNJ+6fzdwR3Bf0yeFYLIHA8C/7hMApt5JGW/ndnYEA7hk0Oj2mbXUo7oj7zIKke5OALBO3SSvJSywwBOsaZ95sSTfkYvmCOLojH/EUmLA6+MmUtSTWMIm1doki2H8BEdXzeE4XtI/Fw8v1kRX0AYA3l4+AB8ejVSHIuhcWgbrwGKkRZFBEAJMXEpIKkYiYPxAZ4AUy4FJHVJwpdK9JLc6ORQS4kpBWJRGROwSePs2hfMn3tSg3xfyOK/c8bOyGTx9O1tjWcfN2cPbGhJ5Uo9j5uyZnAvdkR0mniELB6/G6jM4UzKfmVvQEMtjH76vowFzJmDiKWRJgmq1rEEdSVPDowateLEac5YkGIc9e+/1G3yKQH+eqcHbGvQORnQF03rB5jNWUHdF5WSbMHPszOndMHnUYMrHC025ApIKXcO8R1/ld0DsMRGY4sSwQfRQW5oVOOxQkPMk2LcC4v9Gz/ox9DuAhBXqQUpoXkZ/Zdd2zI2eKLnKuYqkiUvUOUJAUapyztQCCWpxeU9gxTBOrN1g5sSVy3p5lrSWNMQUNXNyOr3ylj3XVQFZxtRWM64tHb8M4UpHYvLG7Bw7m59BgwgEJP686ShnQg/CpE0XpILU+GH8FPL2k8Zl9RBH3jJjLrGEjexiv0KdDcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFH1zTZdKh8Q63s5JV5UwrfHB6rAYMA0GCSqGSIb3DQEBCwUAA4ICAQBQmMk725RF2qzN5Me+MuY/N0GdJGNauZ9KvzSybyCIrXfycmidvwU+g1j3nFwVs2FSH3cU6s06jH1Lr0soz74cEmU/Zn94G3Yp8nMh3Nz+qwmJenD1ffF9bTgk2b/jhSRRNU4nDm0HvdfUGLTxgmtAkI45dAmmtynGhKhaFqyxbosxz/PrCqzo6SSrKYx7bHj8Wk2wdB6hDY5UbzOvBVWq8JqZCJiSLNjZNgD64YFUtbBTK3kDCLJhesuf6Qg8UBUL34NqIHfTC5J6G2AlFOLBi6DKBc7rnTlHCCesUUGZqxQy58nCMSlRLKRg3tqQq1Hy839Vb/llmpQDujWDaQ7ptN1bn2ATzdruc+PW2pPv6Ffs3lS7o+69mk5/NDhkqNCM1EYK2hDEkO1jdiyUgmXi0i7ni7Qea3HSK2WYAtHPTIDHAGCzO2Lvfbeq70rfGIf2FJRItIqmS8OjOggGp++ED2d49hvw3Tfxnw108SqYFph2QN/drt8kvcXkMNGQXE7eIqyY5sgI3tJuYpy2r7BWsg0EFwYVphZ0o/SFZTleSTKSxGprNLXKcqxyEYCmZfZLiWRcvTFOkzCqnLQZGJMMdk3Nkq6IwAaZiyRtW6QBHLaIHX/vUX0C3FD+bSuRfZbZGcTmdHVLKAdCOfMp0w/oW5X4vURcjoGJNbd8z0UU0A=="
]
}
@@ -0,0 +1,10 @@
{
"policies": {
"Certificates": {
"ImportEnterpriseRoots": true,
"Install": [
"/usr/local/share/ca-certificates/bnhmeijer/bnhmeijer-root-ca.crt"
]
}
}
}
@@ -0,0 +1,5 @@
{
"CACertificates": [
"MIIFZzCCA0+gAwIBAgIRALCvASaMQ9DZPQrGDIYTVkswDQYJKoZIhvcNAQELBQAwTTEiMCAGA1UEAwwZQm5obWVpamVyIEhvbWVsYWIgUm9vdCBDQTEaMBgGA1UECgwRQm5obWVpamVyIEhvbWVsYWIxCzAJBgNVBAYTAk5MMB4XDTI2MTAyMDIwMjQ0OVoXDTM2MTAxNzIwMjQ0OVowTTEiMCAGA1UEAwwZQm5obWVpamVyIEhvbWVsYWIgUm9vdCBDQTEaMBgGA1UECgwRQm5obWVpamVyIEhvbWVsYWIxCzAJBgNVBAYTAk5MMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuOKEFT0p9uzcxf5hfPyvjFDdFs2GxN3nUNJ+6fzdwR3Bf0yeFYLIHA8C/7hMApt5JGW/ndnYEA7hk0Oj2mbXUo7oj7zIKke5OALBO3SSvJSywwBOsaZ95sSTfkYvmCOLojH/EUmLA6+MmUtSTWMIm1doki2H8BEdXzeE4XtI/Fw8v1kRX0AYA3l4+AB8ejVSHIuhcWgbrwGKkRZFBEAJMXEpIKkYiYPxAZ4AUy4FJHVJwpdK9JLc6ORQS4kpBWJRGROwSePs2hfMn3tSg3xfyOK/c8bOyGTx9O1tjWcfN2cPbGhJ5Uo9j5uyZnAvdkR0mniELB6/G6jM4UzKfmVvQEMtjH76vowFzJmDiKWRJgmq1rEEdSVPDowateLEac5YkGIc9e+/1G3yKQH+eqcHbGvQORnQF03rB5jNWUHdF5WSbMHPszOndMHnUYMrHC025ApIKXcO8R1/ld0DsMRGY4sSwQfRQW5oVOOxQkPMk2LcC4v9Gz/ox9DuAhBXqQUpoXkZ/Zdd2zI2eKLnKuYqkiUvUOUJAUapyztQCCWpxeU9gxTBOrN1g5sSVy3p5lrSWNMQUNXNyOr3ylj3XVQFZxtRWM64tHb8M4UpHYvLG7Bw7m59BgwgEJP686ShnQg/CpE0XpILU+GH8FPL2k8Zl9RBH3jJjLrGEjexiv0KdDcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFH1zTZdKh8Q63s5JV5UwrfHB6rAYMA0GCSqGSIb3DQEBCwUAA4ICAQBQmMk725RF2qzN5Me+MuY/N0GdJGNauZ9KvzSybyCIrXfycmidvwU+g1j3nFwVs2FSH3cU6s06jH1Lr0soz74cEmU/Zn94G3Yp8nMh3Nz+qwmJenD1ffF9bTgk2b/jhSRRNU4nDm0HvdfUGLTxgmtAkI45dAmmtynGhKhaFqyxbosxz/PrCqzo6SSrKYx7bHj8Wk2wdB6hDY5UbzOvBVWq8JqZCJiSLNjZNgD64YFUtbBTK3kDCLJhesuf6Qg8UBUL34NqIHfTC5J6G2AlFOLBi6DKBc7rnTlHCCesUUGZqxQy58nCMSlRLKRg3tqQq1Hy839Vb/llmpQDujWDaQ7ptN1bn2ATzdruc+PW2pPv6Ffs3lS7o+69mk5/NDhkqNCM1EYK2hDEkO1jdiyUgmXi0i7ni7Qea3HSK2WYAtHPTIDHAGCzO2Lvfbeq70rfGIf2FJRItIqmS8OjOggGp++ED2d49hvw3Tfxnw108SqYFph2QN/drt8kvcXkMNGQXE7eIqyY5sgI3tJuYpy2r7BWsg0EFwYVphZ0o/SFZTleSTKSxGprNLXKcqxyEYCmZfZLiWRcvTFOkzCqnLQZGJMMdk3Nkq6IwAaZiyRtW6QBHLaIHX/vUX0C3FD+bSuRfZbZGcTmdHVLKAdCOfMp0w/oW5X4vURcjoGJNbd8z0UU0A=="
]
}
@@ -0,0 +1,31 @@
-----BEGIN CERTIFICATE-----
MIIFZzCCA0+gAwIBAgIRALCvASaMQ9DZPQrGDIYTVkswDQYJKoZIhvcNAQELBQAw
TTEiMCAGA1UEAwwZQm5obWVpamVyIEhvbWVsYWIgUm9vdCBDQTEaMBgGA1UECgwR
Qm5obWVpamVyIEhvbWVsYWIxCzAJBgNVBAYTAk5MMB4XDTI2MTAyMDIwMjQ0OVoX
DTM2MTAxNzIwMjQ0OVowTTEiMCAGA1UEAwwZQm5obWVpamVyIEhvbWVsYWIgUm9v
dCBDQTEaMBgGA1UECgwRQm5obWVpamVyIEhvbWVsYWIxCzAJBgNVBAYTAk5MMIIC
IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAuOKEFT0p9uzcxf5hfPyvjFDd
Fs2GxN3nUNJ+6fzdwR3Bf0yeFYLIHA8C/7hMApt5JGW/ndnYEA7hk0Oj2mbXUo7o
j7zIKke5OALBO3SSvJSywwBOsaZ95sSTfkYvmCOLojH/EUmLA6+MmUtSTWMIm1do
ki2H8BEdXzeE4XtI/Fw8v1kRX0AYA3l4+AB8ejVSHIuhcWgbrwGKkRZFBEAJMXEp
IKkYiYPxAZ4AUy4FJHVJwpdK9JLc6ORQS4kpBWJRGROwSePs2hfMn3tSg3xfyOK/
c8bOyGTx9O1tjWcfN2cPbGhJ5Uo9j5uyZnAvdkR0mniELB6/G6jM4UzKfmVvQEMt
jH76vowFzJmDiKWRJgmq1rEEdSVPDowateLEac5YkGIc9e+/1G3yKQH+eqcHbGvQ
ORnQF03rB5jNWUHdF5WSbMHPszOndMHnUYMrHC025ApIKXcO8R1/ld0DsMRGY4sS
wQfRQW5oVOOxQkPMk2LcC4v9Gz/ox9DuAhBXpQUpoXkZ/Zdd2zI2eKLnKuYqkiUv
UOUJAUapyztQCCWpxeU9gxTBOrN1g5sSVy3p5lrSWNMQUNXNyOr3ylj3XVQFZxtR
WM64tHb8M4UpHYvLG7Bw7m59BgwgEJP686ShnQg/CpE0XpILU+GH8FPL2k8Zl9RB
H3jJjLrGEjexiv0KdDcCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8B
Af8EBAMCAQYwHQYDVR0OBBYEFH1zTZdKh8Q63s5JV5UwrfHB6rAYMA0GCSqGSIb3
DQEBCwUAA4ICAQBQmMk725RF2qzN5Me+MuY/N0GdJGNauZ9KvzSybyCIrXfycmid
vwU+g1j3nFwVs2FSH3cU6s06jH1Lr0soz74cEmU/Zn94G3Yp8nMh3Nz+qwmJenD1
ffF9bTgk2b/jhSRRNU4nDm0HvdfUGLTxgmtAkI45dAmmtynGhKhaFqyxbosxz/Pr
Cqzo6SSrKYx7bHj8Wk2wdB6hDY5UbzOvBVWq8JqZCJiSLNjZNgD64YFUtbBTK3kD
CLJhesuf6Qg8UBUL34NqIHfTC5J6G2AlFOLBi6DKBc7rnTlHCCesUUGZqxQy58nC
MSlRLKRg3tqQq1Hy839Vb/llmpQDujWDaQ7ptN1bn2ATzdruc+PW2pPv6Ffs3lS7
o+69mk5/NDhkqNCM1EYK2hDEkO1jdiyUgmXi0i7ni7Qea3HSK2WYAtHPTIDHAGCz
O2Lvfbeq70rfGIf2FJRItIqmS8OjOggGp++ED2d49hvw3Tfxnw108SqYFph2QN/d
rt8kvcXkMNGQXE7eIqyY5sgI3tJuYpy2r7BWsg0EFwYVphZ0o/SFZTleSTKSxGpr
NLXKcqxyEYCmZfZLiWRcvTFOkzCqnLQZGJMMdk3Nkq6IwAaZiyRtW6QBHLaIHX/v
UX0C3FD+bSuRfZbZGcTmdHVLKAdCOfMp0w/oW5X4vURcjoGJNbd8z0UU0A==
-----END CERTIFICATE-----
+4
View File
@@ -33,6 +33,10 @@ DEB_FILENAME="${PACKAGE_NAME}-${VERSION}_${ARCH}.deb"
echo "Building package: $PACKAGE_NAME ($VERSION) [$ARCH] -> $DEB_FILENAME"
# Ensure correct Debian directory permissions
find "packaging/$PACKAGE_NAME" -type d -exec chmod 755 {} +
find "packaging/$PACKAGE_NAME/DEBIAN" -type f -exec chmod 755 {} + 2>/dev/null || true
# Build debian binary package
dpkg-deb --build "packaging/$PACKAGE_NAME" "$DEB_FILENAME"
+4
View File
@@ -33,6 +33,10 @@ DEB_FILENAME="${PACKAGE_NAME}-${VERSION}_${ARCH}.deb"
echo "Building package: $PACKAGE_NAME ($VERSION) [$ARCH] -> $DEB_FILENAME"
# Ensure correct Debian directory permissions
find "packaging/$PACKAGE_NAME" -type d -exec chmod 755 {} +
find "packaging/$PACKAGE_NAME/DEBIAN" -type f -exec chmod 755 {} + 2>/dev/null || true
# Build debian binary package
dpkg-deb --build "packaging/$PACKAGE_NAME" "$DEB_FILENAME"
+4
View File
@@ -33,6 +33,10 @@ DEB_FILENAME="${PACKAGE_NAME}-${VERSION}_${ARCH}.deb"
echo "Building package: $PACKAGE_NAME ($VERSION) [$ARCH] -> $DEB_FILENAME"
# Ensure correct Debian directory permissions
find "packaging/$PACKAGE_NAME" -type d -exec chmod 755 {} +
find "packaging/$PACKAGE_NAME/DEBIAN" -type f -exec chmod 755 {} + 2>/dev/null || true
# Build debian binary package
dpkg-deb --build "packaging/$PACKAGE_NAME" "$DEB_FILENAME"
+79
View File
@@ -0,0 +1,79 @@
#!/bin/sh
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
PKG_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
CLUSTER_ROOT="$(cd "$PKG_ROOT/../../.." && pwd)"
CONTROL_FILE=$(ls -1 "$PKG_ROOT"/*.control 2>/dev/null | head -n 1)
if [ -z "$CONTROL_FILE" ]; then
echo "Fout: Geen .control bestand gevonden in $PKG_ROOT" >&2
exit 1
fi
PACKAGE_NAME=$(awk '/^Package: /{print $NF}' "$CONTROL_FILE")
DETECTED_VERSION=$(awk '/^Version: /{print $NF}' "$CONTROL_FILE")
# Version resolution: CLI arg > ENV var > .control version > default 0.1.0
if [ -n "$1" ]; then
VERSION="$1"
elif [ -n "$PACKAGE_VERSION" ]; then
VERSION="$PACKAGE_VERSION"
elif [ -n "$VERSION" ]; then
VERSION="$VERSION"
elif [ "$DETECTED_VERSION" != "{VERSION}" ] && [ -n "$DETECTED_VERSION" ]; then
VERSION="$DETECTED_VERSION"
else
VERSION="0.1.0"
fi
cd "$PKG_ROOT"
TARGET_BIN="packaging/$PACKAGE_NAME/usr/bin/jellyfin-kiosk"
mkdir -p "packaging/$PACKAGE_NAME/usr/bin"
mkdir -p "packaging/$PACKAGE_NAME/etc/jellyfin-client"
mkdir -p "packaging/$PACKAGE_NAME/usr/lib/systemd/system"
RELEASE_BIN="$CLUSTER_ROOT/jellyfin-client/jellyfin-kiosk-rs/target/release/jellyfin-kiosk-rs"
if [ -f "$RELEASE_BIN" ]; then
echo "Copying compiled binary from $RELEASE_BIN to $TARGET_BIN..."
cp -f "$RELEASE_BIN" "$TARGET_BIN"
strip -s "$TARGET_BIN" 2>/dev/null || true
elif [ ! -f "$TARGET_BIN" ]; then
echo "Error: Binary not found at $RELEASE_BIN or $TARGET_BIN" >&2
exit 1
fi
# Copy config example if available
if [ -f "$CLUSTER_ROOT/jellyfin-client/config.yaml" ]; then
cp -f "$CLUSTER_ROOT/jellyfin-client/config.yaml" "packaging/$PACKAGE_NAME/etc/jellyfin-client/config.example.yaml"
elif [ -f "$CLUSTER_ROOT/jellyfin-client/config.example.yaml" ]; then
cp -f "$CLUSTER_ROOT/jellyfin-client/config.example.yaml" "packaging/$PACKAGE_NAME/etc/jellyfin-client/config.example.yaml"
fi
mkdir -p "packaging/$PACKAGE_NAME/DEBIAN"
sed "s/{VERSION}/${VERSION}/" "$CONTROL_FILE" > "packaging/$PACKAGE_NAME/DEBIAN/control"
ARCH=$(awk '/^Architecture: /{print $NF}' "packaging/$PACKAGE_NAME/DEBIAN/control")
ARCH="${ARCH:-amd64}"
DEB_FILENAME="${PACKAGE_NAME}-${VERSION}_${ARCH}.deb"
echo "Building package: $PACKAGE_NAME ($VERSION) [$ARCH] -> $DEB_FILENAME"
# Ensure correct Debian directory permissions
find "packaging/$PACKAGE_NAME" -type d -exec chmod 755 {} +
find "packaging/$PACKAGE_NAME" -type f -exec chmod 644 {} +
find "packaging/$PACKAGE_NAME/usr/bin" -type f -exec chmod 755 {} + 2>/dev/null || true
find "packaging/$PACKAGE_NAME/DEBIAN" -type f -exec chmod 755 {} + 2>/dev/null || true
chmod 644 "packaging/$PACKAGE_NAME/DEBIAN/control" 2>/dev/null || true
if [ -f "packaging/$PACKAGE_NAME/DEBIAN/conffiles" ]; then
chmod 644 "packaging/$PACKAGE_NAME/DEBIAN/conffiles"
fi
# Build debian binary package
dpkg-deb --build "packaging/$PACKAGE_NAME" "$DEB_FILENAME"
# Cleanup temporary control file
rm -f "packaging/$PACKAGE_NAME/DEBIAN/control"
echo "Succesvol gebouwd: $DEB_FILENAME"
@@ -0,0 +1,10 @@
Package: jellyfin-kiosk
Version: 0.1.5
Section: video
Maintainer: Bart Meijer <bart@bnhmeijer.nl>
Architecture: amd64
Depends: libmpv2, mpv, yt-dlp
Description: Native Jellyfin HTPC Kiosk client with Yatse and YouTube support
High-performance Rust GUI client for Jellyfin, featuring hardware-accelerated
MPV playback, Yatse Kodi JSON-RPC & EventServer emulation, YouTube sharing receiver,
and TV-friendly interface.
@@ -0,0 +1 @@
/etc/jellyfin-client/config.example.yaml
@@ -0,0 +1,14 @@
#!/bin/sh
set -e
mkdir -p /etc/jellyfin-client
if [ ! -f /etc/jellyfin-client/config.yaml ] && [ -f /etc/jellyfin-client/config.example.yaml ]; then
cp /etc/jellyfin-client/config.example.yaml /etc/jellyfin-client/config.yaml
chmod 644 /etc/jellyfin-client/config.yaml 2>/dev/null || true
fi
if [ -d /run/systemd/system ]; then
systemctl daemon-reload || true
fi
exit 0
@@ -0,0 +1,8 @@
#!/bin/sh
set -e
if [ -d /run/systemd/system ]; then
systemctl daemon-reload || true
fi
exit 0
@@ -0,0 +1,68 @@
# Jellyfin HTPC Client Configuration
jellyfin:
# Base URL of your Jellyfin server (can be internal IP or external domain with HTTPS)
server_url: "http://10.2.0.4:8096/jellyfin"
# Login credentials
username: "bart"
password: "8x5yPgAa"
# Device identification
client_name: "Jellyfin HTPC Client"
device_name: "HTPC Living Room"
device_id: "htpc-living-room-01"
player:
# Path to mpv binary
mpv_path: "mpv"
# MPV IPC socket location
ipc_socket: "/tmp/mpv-jellyfin.sock"
# Video output & hardware decoding
# Options for hwdec: auto, vaapi (Intel/AMD), nvdec (Nvidia), no
hwdec: "auto"
vo: "gpu"
fullscreen: false
# Audio device (use `mpv --audio-device=help` to list devices)
audio_device: "auto"
# Custom MPV arguments
extra_args:
- "--keep-open=yes"
- "--force-window=immediate"
- "--osd-font=sans-serif"
- "--osd-font-size=28"
kodi_rpc:
# Emulated Kodi JSON-RPC interface for Yatse and other Kodi remotes
enabled: true
http_port: 8080
ws_port: 9090
web_api:
# Direct REST API and web sharing page
enabled: true
host: "0.0.0.0"
port: 8097
youtube:
# Maximum resolution preference for YouTube streaming via yt-dlp
max_height: 1080
# Automatically extract metadata (title, uploader) using yt-dlp before playback
fetch_metadata: true
# Google OAuth 2.0 Client ID (Google Cloud Console -> APIs -> Credentials, type: TVs and Limited Input / Desktop)
client_id: "612788493042-0070gm71evodaajv02tcl9kjtk9s76au.apps.googleusercontent.com"
client_secret: "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"
# Pad voor het opslaan van de ingelogde YouTube sessie
token_path: "youtube_token.json"
mqtt:
# Enable MQTT client and Home Assistant auto-discovery
enabled: true
# MQTT broker host/IP
host: "10.2.0.4"
port: 1883
username: ""
password: ""
# Home Assistant MQTT discovery prefix (default: homeassistant)
discovery_prefix: "homeassistant"
# Base topic prefix for state updates and commands
topic_prefix: "jellyfin-kiosk"
@@ -0,0 +1,18 @@
[Unit]
Description=Jellyfin HTPC Kiosk & YouTube Receiver
After=network-online.target sound.target graphical-session.target
Wants=network-online.target
[Service]
Type=simple
User=bart
Environment=DISPLAY=:0
Environment=WAYLAND_DISPLAY=wayland-0
ExecStart=/usr/bin/jellyfin-kiosk
WorkingDirectory=/home/bart
Restart=always
RestartSec=3s
LimitNOFILE=65536
[Install]
WantedBy=default.target
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Executable
+62
View File
@@ -0,0 +1,62 @@
#!/usr/bin/env bash
# ==============================================================================
# Update and sign Eendoe APT Repository
# ==============================================================================
set -euo pipefail
REPO_DIR="/sites/repository/binaries"
DISTS_DIR="${REPO_DIR}/dists/stable"
MAIN_DIR="${DISTS_DIR}/main/binary-amd64"
KEY_ID="56499F920639F571"
echo "=== Updating Eendoe APT Repository ==="
cd "$REPO_DIR"
mkdir -p "$MAIN_DIR"
echo "Scanning packages in pool/main..."
dpkg-scanpackages --multiversion pool/main /dev/null > "$MAIN_DIR/Packages"
echo "Compressing Packages..."
gzip -9c "$MAIN_DIR/Packages" > "$MAIN_DIR/Packages.gz"
bzip2 -9c "$MAIN_DIR/Packages" > "$MAIN_DIR/Packages.bz2"
echo "Generating Release file..."
cd "$DISTS_DIR"
cat << EOF > Release
Origin: Eendoe
Label: Eendoe Repository
Suite: stable
Codename: stable
Date: $(date -Ru)
Architectures: amd64 all
Components: main
Description: Eendoe Private APT Package Repository
EOF
add_checksums() {
local algo="$1"
local cmd="$2"
echo "${algo}:" >> Release
for file in main/binary-amd64/Packages main/binary-amd64/Packages.gz main/binary-amd64/Packages.bz2; do
if [ -f "$file" ]; then
local size
size=$(stat -c%s "$file")
local hash
hash=$($cmd "$file" | awk '{print $1}')
printf " %s %16d %s\n" "$hash" "$size" "$file" >> Release
fi
done
}
add_checksums "MD5Sum" "md5sum"
add_checksums "SHA1" "sha1sum"
add_checksums "SHA256" "sha256sum"
echo "Signing Release with GPG key $KEY_ID..."
rm -f Release.gpg InRelease
gpg --batch --yes --default-key "$KEY_ID" --armor --detach-sign -o Release.gpg Release
gpg --batch --yes --default-key "$KEY_ID" --clearsign -o InRelease Release
echo "=== Repository update & signing complete ==="