Compare commits
64 commits
1.43.0.104
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 492da39dea | |||
|
|
252e2b2b5c | ||
|
|
2d16c92cb3 | ||
|
|
3faea15cf3 | ||
|
|
0a43190ac9 | ||
|
|
68fa685a3c | ||
|
|
7378fb237d | ||
|
|
1a7cf74b6e | ||
|
|
e0048bb650 | ||
|
|
be4e12409d | ||
|
|
302c6e5702 | ||
|
|
ecb66b1ca3 | ||
|
|
e3bbf927d8 | ||
|
|
ee772de585 | ||
|
|
468a4995e0 | ||
|
|
a56f4d3e85 | ||
|
|
094d2071e2 | ||
|
|
2186587d37 | ||
|
|
c1ab38b66e | ||
|
|
8551fb88e9 | ||
|
|
e64b2579d7 | ||
|
|
cb3568d81a | ||
|
|
9f0882a70e | ||
|
|
d4262cc4e9 | ||
|
|
d63927007f | ||
|
|
a1bac2c988 | ||
|
|
a5ad980f28 | ||
|
|
806b88c37a | ||
|
|
c0b54e8512 | ||
|
|
71640b3d41 | ||
|
|
3644491d23 | ||
|
|
0f27fcacc2 | ||
|
|
727499b357 | ||
|
|
c87f1010a7 | ||
|
|
c14dd5a47c | ||
|
|
70c49ef2d4 | ||
|
|
303d122c01 | ||
|
|
c35f69d4fa | ||
|
|
05ec76e7e9 | ||
|
|
97c9c78c0c | ||
|
|
5be1cb4c1c | ||
|
|
dbabe2bee4 | ||
|
|
b9716badd9 | ||
|
|
54de1404ca | ||
|
|
56d67a38c4 | ||
|
|
c8c020c491 | ||
|
|
bd368dfbf3 | ||
|
|
7c019750ce | ||
|
|
a54fdfbce9 | ||
|
|
8e9b62b828 | ||
|
|
1a6eae12a2 | ||
|
|
fedcb7ae7a | ||
|
|
5be889429b | ||
|
|
5c3b47763c | ||
|
|
521b7d06d8 | ||
|
|
2ca56eb1ce | ||
|
|
9fdb4a4894 | ||
|
|
34130ffa25 | ||
|
|
c25a8e637e | ||
|
|
658c63714c | ||
|
|
d177f3a00e | ||
|
|
603a79335f | ||
|
|
fa08911915 | ||
|
|
3cced1d334 |
16 changed files with 215 additions and 117 deletions
49
.forgejo/workflows/build.yml
Normal file
49
.forgejo/workflows/build.yml
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
name: Build and push image
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [master]
|
||||||
|
schedule:
|
||||||
|
- cron: '0 4 * * *' # daily, picks up LSIO base image updates
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: docker
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
ref: master
|
||||||
|
fetch-depth: 0
|
||||||
|
token: ${{ secrets.PUSH_TOKEN }}
|
||||||
|
|
||||||
|
- name: Merge upstream
|
||||||
|
run: |
|
||||||
|
git config user.name "forgejo-runner"
|
||||||
|
git config user.email "runner@forge.jannis.wtf"
|
||||||
|
git fetch origin master
|
||||||
|
git reset --hard origin/master
|
||||||
|
git remote add upstream https://github.com/linuxserver/docker-plex
|
||||||
|
git fetch upstream
|
||||||
|
git merge upstream/master --no-edit
|
||||||
|
git push origin master
|
||||||
|
|
||||||
|
- name: Set up Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
|
- name: Login to Forgejo registry
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
registry: forge.jannis.wtf
|
||||||
|
username: ${{ secrets.REGISTRY_USER }}
|
||||||
|
password: ${{ secrets.REGISTRY_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build and push
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
push: true
|
||||||
|
tags: |
|
||||||
|
forge.jannis.wtf/fej/plex-wireguard:latest
|
||||||
|
forge.jannis.wtf/fej/plex-wireguard:${{ github.sha }}
|
||||||
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -1,3 +1,5 @@
|
||||||
|
# Wireguard configs, you never know
|
||||||
|
wg*.conf
|
||||||
# Windows image file caches
|
# Windows image file caches
|
||||||
Thumbs.db
|
Thumbs.db
|
||||||
ehthumbs.db
|
ehthumbs.db
|
||||||
|
|
|
||||||
|
|
@ -28,11 +28,13 @@ ENV DEBIAN_FRONTEND="noninteractive" \
|
||||||
ATTACHED_DEVICES_PERMS="/dev/dri /dev/dvb -type c"
|
ATTACHED_DEVICES_PERMS="/dev/dri /dev/dvb -type c"
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install runtime packages ****" && \
|
echo "**** install runtime packages & wireguard ****" && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
udev \
|
udev \
|
||||||
wget && \
|
wget \
|
||||||
|
iproute2 \
|
||||||
|
wireguard-tools &&\
|
||||||
echo "**** install plex ****" && \
|
echo "**** install plex ****" && \
|
||||||
if [ -z ${PLEX_RELEASE+x} ]; then \
|
if [ -z ${PLEX_RELEASE+x} ]; then \
|
||||||
PLEX_RELEASE=$(curl -sX GET 'https://plex.tv/api/downloads/5.json' \
|
PLEX_RELEASE=$(curl -sX GET 'https://plex.tv/api/downloads/5.json' \
|
||||||
|
|
@ -56,6 +58,7 @@ RUN \
|
||||||
# add local files
|
# add local files
|
||||||
COPY root/ /
|
COPY root/ /
|
||||||
|
|
||||||
|
|
||||||
# add unrar
|
# add unrar
|
||||||
COPY --from=unrar /usr/bin/unrar-ubuntu /usr/bin/unrar
|
COPY --from=unrar /usr/bin/unrar-ubuntu /usr/bin/unrar
|
||||||
|
|
||||||
|
|
|
||||||
172
Jenkinsfile
vendored
172
Jenkinsfile
vendored
|
|
@ -77,6 +77,7 @@ pipeline {
|
||||||
'''
|
'''
|
||||||
script{
|
script{
|
||||||
env.EXIT_STATUS = ''
|
env.EXIT_STATUS = ''
|
||||||
|
env.CI_TEST_ATTEMPTED = ''
|
||||||
env.LS_RELEASE = sh(
|
env.LS_RELEASE = sh(
|
||||||
script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:latest 2>/dev/null | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:latest 2>/dev/null | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
|
|
@ -873,6 +874,7 @@ pipeline {
|
||||||
script{
|
script{
|
||||||
env.CI_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/index.html'
|
env.CI_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/index.html'
|
||||||
env.CI_JSON_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/report.json'
|
env.CI_JSON_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/report.json'
|
||||||
|
env.CI_TEST_ATTEMPTED = 'true'
|
||||||
}
|
}
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
set -e
|
set -e
|
||||||
|
|
@ -1075,98 +1077,13 @@ EOF
|
||||||
) '''
|
) '''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If this is a Pull request send the CI link as a comment on it
|
|
||||||
stage('Pull Request Comment') {
|
|
||||||
when {
|
|
||||||
not {environment name: 'CHANGE_ID', value: ''}
|
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
|
||||||
}
|
|
||||||
steps {
|
|
||||||
sh '''#! /bin/bash
|
|
||||||
# Function to retrieve JSON data from URL
|
|
||||||
get_json() {
|
|
||||||
local url="$1"
|
|
||||||
local response=$(curl -s "$url")
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Failed to retrieve JSON data from $url"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
local json=$(echo "$response" | jq .)
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
echo "Failed to parse JSON data from $url"
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
echo "$json"
|
|
||||||
}
|
|
||||||
|
|
||||||
build_table() {
|
|
||||||
local data="$1"
|
|
||||||
|
|
||||||
# Get the keys in the JSON data
|
|
||||||
local keys=$(echo "$data" | jq -r 'to_entries | map(.key) | .[]')
|
|
||||||
|
|
||||||
# Check if keys are empty
|
|
||||||
if [ -z "$keys" ]; then
|
|
||||||
echo "JSON report data does not contain any keys or the report does not exist."
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Build table header
|
|
||||||
local header="| Tag | Passed |\\n| --- | --- |\\n"
|
|
||||||
|
|
||||||
# Loop through the JSON data to build the table rows
|
|
||||||
local rows=""
|
|
||||||
for build in $keys; do
|
|
||||||
local status=$(echo "$data" | jq -r ".[\\"$build\\"].test_success")
|
|
||||||
if [ "$status" = "true" ]; then
|
|
||||||
status="✅"
|
|
||||||
else
|
|
||||||
status="❌"
|
|
||||||
fi
|
|
||||||
local row="| "$build" | "$status" |\\n"
|
|
||||||
rows="${rows}${row}"
|
|
||||||
done
|
|
||||||
|
|
||||||
local table="${header}${rows}"
|
|
||||||
local escaped_table=$(echo "$table" | sed 's/\"/\\\\"/g')
|
|
||||||
echo "$escaped_table"
|
|
||||||
}
|
|
||||||
|
|
||||||
if [[ "${CI}" = "true" ]]; then
|
|
||||||
# Retrieve JSON data from URL
|
|
||||||
data=$(get_json "$CI_JSON_URL")
|
|
||||||
# Create table from JSON data
|
|
||||||
table=$(build_table "$data")
|
|
||||||
echo -e "$table"
|
|
||||||
|
|
||||||
curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
|
|
||||||
-H "Accept: application/vnd.github.v3+json" \
|
|
||||||
"https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
|
|
||||||
-d "{\\"body\\": \\"I am a bot, here are the test results for this PR: \\n${CI_URL}\\n${SHELLCHECK_URL}\\n${table}\\"}"
|
|
||||||
else
|
|
||||||
curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
|
|
||||||
-H "Accept: application/vnd.github.v3+json" \
|
|
||||||
"https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
|
|
||||||
-d "{\\"body\\": \\"I am a bot, here is the pushed image/manifest for this PR: \\n\\n\\`${GITHUBIMAGE}:${META_TAG}\\`\\"}"
|
|
||||||
fi
|
|
||||||
'''
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
/* ######################
|
/* ######################
|
||||||
Send status to Discord
|
Comment on PR and Send status to Discord
|
||||||
###################### */
|
###################### */
|
||||||
post {
|
post {
|
||||||
always {
|
always {
|
||||||
sh '''#!/bin/bash
|
script {
|
||||||
rm -rf /config/.ssh/id_sign
|
|
||||||
rm -rf /config/.ssh/id_sign.pub
|
|
||||||
git config --global --unset gpg.format
|
|
||||||
git config --global --unset user.signingkey
|
|
||||||
git config --global --unset commit.gpgsign
|
|
||||||
'''
|
|
||||||
script{
|
|
||||||
env.JOB_DATE = sh(
|
env.JOB_DATE = sh(
|
||||||
script: '''date '+%Y-%m-%dT%H:%M:%S%:z' ''',
|
script: '''date '+%Y-%m-%dT%H:%M:%S%:z' ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
|
|
@ -1209,6 +1126,87 @@ EOF
|
||||||
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
|
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
script {
|
||||||
|
if (env.GITHUBIMAGE =~ /lspipepr/){
|
||||||
|
if (env.CI_TEST_ATTEMPTED == "true"){
|
||||||
|
sh '''#! /bin/bash
|
||||||
|
# Function to retrieve JSON data from URL
|
||||||
|
get_json() {
|
||||||
|
local url="$1"
|
||||||
|
local response=$(curl -s "$url")
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Failed to retrieve JSON data from $url"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
local json=$(echo "$response" | jq .)
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Failed to parse JSON data from $url"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
echo "$json"
|
||||||
|
}
|
||||||
|
|
||||||
|
build_table() {
|
||||||
|
local data="$1"
|
||||||
|
|
||||||
|
# Get the keys in the JSON data
|
||||||
|
local keys=$(echo "$data" | jq -r 'to_entries | map(.key) | .[]')
|
||||||
|
|
||||||
|
# Check if keys are empty
|
||||||
|
if [ -z "$keys" ]; then
|
||||||
|
echo "JSON report data does not contain any keys or the report does not exist."
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Build table header
|
||||||
|
local header="| Tag | Passed |\\n| --- | --- |\\n"
|
||||||
|
|
||||||
|
# Loop through the JSON data to build the table rows
|
||||||
|
local rows=""
|
||||||
|
for build in $keys; do
|
||||||
|
local status=$(echo "$data" | jq -r ".[\\"$build\\"].test_success")
|
||||||
|
if [ "$status" = "true" ]; then
|
||||||
|
status="✅"
|
||||||
|
else
|
||||||
|
status="❌"
|
||||||
|
fi
|
||||||
|
local row="| "$build" | "$status" |\\n"
|
||||||
|
rows="${rows}${row}"
|
||||||
|
done
|
||||||
|
|
||||||
|
local table="${header}${rows}"
|
||||||
|
local escaped_table=$(echo "$table" | sed 's/\"/\\\\"/g')
|
||||||
|
echo "$escaped_table"
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ "${CI}" = "true" ]]; then
|
||||||
|
# Retrieve JSON data from URL
|
||||||
|
data=$(get_json "$CI_JSON_URL")
|
||||||
|
# Create table from JSON data
|
||||||
|
table=$(build_table "$data")
|
||||||
|
echo -e "$table"
|
||||||
|
|
||||||
|
curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
|
||||||
|
-H "Accept: application/vnd.github.v3+json" \
|
||||||
|
"https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
|
||||||
|
-d "{\\"body\\": \\"I am a bot, here are the test results for this PR: \\n${CI_URL}\\n${SHELLCHECK_URL}\\n${table}\\"}"
|
||||||
|
else
|
||||||
|
curl -X POST -H "Authorization: token $GITHUB_TOKEN" \
|
||||||
|
-H "Accept: application/vnd.github.v3+json" \
|
||||||
|
"https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \
|
||||||
|
-d "{\\"body\\": \\"I am a bot, here is the pushed image/manifest for this PR: \\n\\n\\`${GITHUBIMAGE}:${META_TAG}\\`\\"}"
|
||||||
|
fi
|
||||||
|
'''
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
sh '''#!/bin/bash
|
||||||
|
rm -rf /config/.ssh/id_sign
|
||||||
|
rm -rf /config/.ssh/id_sign.pub
|
||||||
|
git config --global --unset gpg.format
|
||||||
|
git config --global --unset user.signingkey
|
||||||
|
git config --global --unset commit.gpgsign
|
||||||
|
'''
|
||||||
}
|
}
|
||||||
cleanup {
|
cleanup {
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
|
|
|
||||||
16
README.md
16
README.md
|
|
@ -1,5 +1,19 @@
|
||||||
|
<<<<<<< HEAD
|
||||||
<!-- DO NOT EDIT THIS FILE MANUALLY -->
|
<!-- DO NOT EDIT THIS FILE MANUALLY -->
|
||||||
<!-- Please read https://github.com/linuxserver/docker-plex/blob/master/.github/CONTRIBUTING.md -->
|
<!-- Please read https://github.com/linuxserver/docker-plex/blob/master/.github/CONTRIBUTING.md -->
|
||||||
|
=======
|
||||||
|
due to the recent purge of Hosters by plex, this fork adds wireguard functionallity to the plex container as a quick workaround. all traffic gets tunneled.
|
||||||
|
|
||||||
|
wireguard onfig file has to be mounted in /etc/wireguard/wg0.conf. e.g.:
|
||||||
|
```
|
||||||
|
volumes:
|
||||||
|
- ./wg0.conf:/etc/wireguard/wg0.conf
|
||||||
|
```
|
||||||
|
|
||||||
|
<!-- DO NOT EDIT THIS FILE MANUALLY -->
|
||||||
|
<!-- Please read the https://github.com/linuxserver/docker-plex/blob/master/.github/CONTRIBUTING.md -->
|
||||||
|
|
||||||
|
>>>>>>> 72bdfaa (Update README.md)
|
||||||
[](https://linuxserver.io)
|
[](https://linuxserver.io)
|
||||||
|
|
||||||
[](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
|
[](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
|
||||||
|
|
@ -371,6 +385,8 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
|
* **15.03.26:** - Allow TMPDIR to be changed to better support read-only containers
|
||||||
|
* **15.03.26:** - Fix initial claim setup on non-root containers
|
||||||
* **04.11.24:** - Add Nvidia capability needed for h265
|
* **04.11.24:** - Add Nvidia capability needed for h265
|
||||||
* **18.07.24:** - Rebase to Ubuntu Noble.
|
* **18.07.24:** - Rebase to Ubuntu Noble.
|
||||||
* **12.02.24:** - Use universal hardware acceleration blurb
|
* **12.02.24:** - Use universal hardware acceleration blurb
|
||||||
|
|
|
||||||
|
|
@ -5,13 +5,13 @@ apt-utils 2.8.3 deb
|
||||||
base-files 13ubuntu10.4 deb
|
base-files 13ubuntu10.4 deb
|
||||||
base-passwd 3.6.3build1 deb
|
base-passwd 3.6.3build1 deb
|
||||||
bash 5.2.21-2ubuntu4 deb
|
bash 5.2.21-2ubuntu4 deb
|
||||||
bsdutils 1:2.39.3-9ubuntu6.4 deb
|
bsdutils 1:2.39.3-9ubuntu6.5 deb
|
||||||
ca-certificates 20240203 deb
|
ca-certificates 20240203 deb
|
||||||
catatonit 0.1.7-1 deb
|
catatonit 0.1.7-1 deb
|
||||||
coreutils 9.4-3ubuntu6.1 deb
|
coreutils 9.4-3ubuntu6.2 deb
|
||||||
cron 3.0pl1-184ubuntu2 deb
|
cron 3.0pl1-184ubuntu2 deb
|
||||||
cron-daemon-common 3.0pl1-184ubuntu2 deb
|
cron-daemon-common 3.0pl1-184ubuntu2 deb
|
||||||
curl 8.5.0-2ubuntu10.6 deb
|
curl 8.5.0-2ubuntu10.8 deb
|
||||||
dash 0.5.12-6ubuntu5 deb
|
dash 0.5.12-6ubuntu5 deb
|
||||||
debconf 1.5.86ubuntu1 deb
|
debconf 1.5.86ubuntu1 deb
|
||||||
debianutils 5.17build1 deb
|
debianutils 5.17build1 deb
|
||||||
|
|
@ -34,7 +34,7 @@ grep 3.11-4build1 deb
|
||||||
gzip 1.12-1ubuntu3.1 deb
|
gzip 1.12-1ubuntu3.1 deb
|
||||||
hostname 3.23+nmu2ubuntu2 deb
|
hostname 3.23+nmu2ubuntu2 deb
|
||||||
init-system-helpers 1.66ubuntu1 deb
|
init-system-helpers 1.66ubuntu1 deb
|
||||||
jq 1.7.1-3ubuntu0.24.04.1 deb
|
jq 1.7.1-3ubuntu0.24.04.2 deb
|
||||||
keyboxd 2.4.4-2ubuntu17.4 deb
|
keyboxd 2.4.4-2ubuntu17.4 deb
|
||||||
krb5-locales 1.20.1-6ubuntu2.6 deb
|
krb5-locales 1.20.1-6ubuntu2.6 deb
|
||||||
libacl1 2.3.2-1build1.1 deb
|
libacl1 2.3.2-1build1.1 deb
|
||||||
|
|
@ -43,17 +43,17 @@ libassuan0 2.5.6-1build1 deb
|
||||||
libattr1 1:2.5.2-1build1.1 deb
|
libattr1 1:2.5.2-1build1.1 deb
|
||||||
libaudit-common 1:3.1.2-2.1build1.1 deb
|
libaudit-common 1:3.1.2-2.1build1.1 deb
|
||||||
libaudit1 1:3.1.2-2.1build1.1 deb
|
libaudit1 1:3.1.2-2.1build1.1 deb
|
||||||
libblkid1 2.39.3-9ubuntu6.4 deb
|
libblkid1 2.39.3-9ubuntu6.5 deb
|
||||||
libbrotli1 1.1.0-2build2 deb
|
libbrotli1 1.1.0-2build2 deb
|
||||||
libbsd0 0.12.1-1build1.1 deb
|
libbsd0 0.12.1-1build1.1 deb
|
||||||
libbz2-1.0 1.0.8-5.1build0.1 deb
|
libbz2-1.0 1.0.8-5.1build0.1 deb
|
||||||
libc-bin 2.39-0ubuntu8.7 deb
|
libc-bin 2.39-0ubuntu8.7 deb
|
||||||
libc6 2.39-0ubuntu8.7 deb
|
libc6 2.39-0ubuntu8.7 deb
|
||||||
libcap-ng0 0.8.4-2build2 deb
|
libcap-ng0 0.8.4-2build2 deb
|
||||||
libcap2 1:2.66-5ubuntu2.2 deb
|
libcap2 1:2.66-5ubuntu2.4 deb
|
||||||
libcom-err2 1.47.0-2.4~exp1ubuntu4.1 deb
|
libcom-err2 1.47.0-2.4~exp1ubuntu4.1 deb
|
||||||
libcrypt1 1:4.4.36-4build1 deb
|
libcrypt1 1:4.4.36-4build1 deb
|
||||||
libcurl4t64 8.5.0-2ubuntu10.6 deb
|
libcurl4t64 8.5.0-2ubuntu10.8 deb
|
||||||
libdb5.3t64 5.3.28+dfsg2-7 deb
|
libdb5.3t64 5.3.28+dfsg2-7 deb
|
||||||
libdebconfclient0 0.271ubuntu3 deb
|
libdebconfclient0 0.271ubuntu3 deb
|
||||||
libext2fs2t64 1.47.0-2.4~exp1ubuntu4.1 deb
|
libext2fs2t64 1.47.0-2.4~exp1ubuntu4.1 deb
|
||||||
|
|
@ -66,10 +66,10 @@ libgpg-error0 1.47-3build2.1 deb
|
||||||
libgssapi-krb5-2 1.20.1-6ubuntu2.6 deb
|
libgssapi-krb5-2 1.20.1-6ubuntu2.6 deb
|
||||||
libhogweed6t64 3.9.1-2.2build1.1 deb
|
libhogweed6t64 3.9.1-2.2build1.1 deb
|
||||||
libidn2-0 2.3.7-2build1.1 deb
|
libidn2-0 2.3.7-2build1.1 deb
|
||||||
libjq1 1.7.1-3ubuntu0.24.04.1 deb
|
libjq1 1.7.1-3ubuntu0.24.04.2 deb
|
||||||
libk5crypto3 1.20.1-6ubuntu2.6 deb
|
libk5crypto3 1.20.1-6ubuntu2.6 deb
|
||||||
libkeyutils1 1.6.3-3build1 deb
|
libkeyutils1 1.6.3-3build1 deb
|
||||||
libkmod2 31+20240202-2ubuntu7.1 deb
|
libkmod2 31+20240202-2ubuntu7.2 deb
|
||||||
libkrb5-3 1.20.1-6ubuntu2.6 deb
|
libkrb5-3 1.20.1-6ubuntu2.6 deb
|
||||||
libkrb5support0 1.20.1-6ubuntu2.6 deb
|
libkrb5support0 1.20.1-6ubuntu2.6 deb
|
||||||
libksba8 1.6.6-1build1 deb
|
libksba8 1.6.6-1build1 deb
|
||||||
|
|
@ -78,7 +78,7 @@ libldap2 2.6.10+dfsg-0ubuntu0.24.04.1 deb
|
||||||
liblz4-1 1.9.4-1build1.1 deb
|
liblz4-1 1.9.4-1build1.1 deb
|
||||||
liblzma5 5.6.1+really5.4.5-1ubuntu0.2 deb
|
liblzma5 5.6.1+really5.4.5-1ubuntu0.2 deb
|
||||||
libmd0 1.1.0-2build1.1 deb
|
libmd0 1.1.0-2build1.1 deb
|
||||||
libmount1 2.39.3-9ubuntu6.4 deb
|
libmount1 2.39.3-9ubuntu6.5 deb
|
||||||
libncursesw6 6.4+20240113-1ubuntu2 deb
|
libncursesw6 6.4+20240113-1ubuntu2 deb
|
||||||
libnettle8t64 3.9.1-2.2build1.1 deb
|
libnettle8t64 3.9.1-2.2build1.1 deb
|
||||||
libnghttp2-14 1.59.0-1ubuntu0.2 deb
|
libnghttp2-14 1.59.0-1ubuntu0.2 deb
|
||||||
|
|
@ -102,47 +102,47 @@ libselinux1 3.5-2ubuntu2.1 deb
|
||||||
libsemanage-common 3.5-1build5 deb
|
libsemanage-common 3.5-1build5 deb
|
||||||
libsemanage2 3.5-1build5 deb
|
libsemanage2 3.5-1build5 deb
|
||||||
libsepol2 3.5-2build1 deb
|
libsepol2 3.5-2build1 deb
|
||||||
libsmartcols1 2.39.3-9ubuntu6.4 deb
|
libsmartcols1 2.39.3-9ubuntu6.5 deb
|
||||||
libsqlite3-0 3.45.1-1ubuntu2.5 deb
|
libsqlite3-0 3.45.1-1ubuntu2.5 deb
|
||||||
libss2 1.47.0-2.4~exp1ubuntu4.1 deb
|
libss2 1.47.0-2.4~exp1ubuntu4.1 deb
|
||||||
libssh-4 0.10.6-2ubuntu0.2 deb
|
libssh-4 0.10.6-2ubuntu0.4 deb
|
||||||
libssl3t64 3.0.13-0ubuntu3.7 deb
|
libssl3t64 3.0.13-0ubuntu3.9 deb
|
||||||
libstdc++6 14.2.0-4ubuntu2~24.04.1 deb
|
libstdc++6 14.2.0-4ubuntu2~24.04.1 deb
|
||||||
libsystemd0 255.4-1ubuntu8.12 deb
|
libsystemd0 255.4-1ubuntu8.15 deb
|
||||||
libtasn1-6 4.19.0-3ubuntu0.24.04.2 deb
|
libtasn1-6 4.19.0-3ubuntu0.24.04.2 deb
|
||||||
libtinfo6 6.4+20240113-1ubuntu2 deb
|
libtinfo6 6.4+20240113-1ubuntu2 deb
|
||||||
libudev1 255.4-1ubuntu8.12 deb
|
libudev1 255.4-1ubuntu8.15 deb
|
||||||
libunistring5 1.1-2build1.1 deb
|
libunistring5 1.1-2build1.1 deb
|
||||||
libuuid1 2.39.3-9ubuntu6.4 deb
|
libuuid1 2.39.3-9ubuntu6.5 deb
|
||||||
libxxhash0 0.8.2-2build1 deb
|
libxxhash0 0.8.2-2build1 deb
|
||||||
libzstd1 1.5.5+dfsg2-2build1.1 deb
|
libzstd1 1.5.5+dfsg2-2build1.1 deb
|
||||||
locales 2.39-0ubuntu8.7 deb
|
locales 2.39-0ubuntu8.7 deb
|
||||||
login 1:4.13+dfsg1-4ubuntu3.2 deb
|
login 1:4.13+dfsg1-4ubuntu3.2 deb
|
||||||
logsave 1.47.0-2.4~exp1ubuntu4.1 deb
|
logsave 1.47.0-2.4~exp1ubuntu4.1 deb
|
||||||
mawk 1.3.4.20240123-1build1 deb
|
mawk 1.3.4.20240123-1build1 deb
|
||||||
mount 2.39.3-9ubuntu6.4 deb
|
mount 2.39.3-9ubuntu6.5 deb
|
||||||
ncurses-base 6.4+20240113-1ubuntu2 deb
|
ncurses-base 6.4+20240113-1ubuntu2 deb
|
||||||
ncurses-bin 6.4+20240113-1ubuntu2 deb
|
ncurses-bin 6.4+20240113-1ubuntu2 deb
|
||||||
netcat-openbsd 1.226-1ubuntu2 deb
|
netcat-openbsd 1.226-1ubuntu2 deb
|
||||||
openssl 3.0.13-0ubuntu3.7 deb
|
openssl 3.0.13-0ubuntu3.9 deb
|
||||||
passwd 1:4.13+dfsg1-4ubuntu3.2 deb
|
passwd 1:4.13+dfsg1-4ubuntu3.2 deb
|
||||||
perl-base 5.38.2-3.2ubuntu0.2 deb
|
perl-base 5.38.2-3.2ubuntu0.2 deb
|
||||||
pinentry-curses 1.2.1-3ubuntu5 deb
|
pinentry-curses 1.2.1-3ubuntu5 deb
|
||||||
plexmediaserver 1.43.0.10492-121068a07 deb
|
plexmediaserver 1.43.1.10611-1e34174b1 deb
|
||||||
procps 2:4.0.4-4ubuntu3.2 deb
|
procps 2:4.0.4-4ubuntu3.2 deb
|
||||||
publicsuffix 20231001.0357-0.1 deb
|
publicsuffix 20231001.0357-0.1 deb
|
||||||
readline-common 8.2-4build1 deb
|
readline-common 8.2-4build1 deb
|
||||||
sed 4.9-2build1 deb
|
sed 4.9-2build1 deb
|
||||||
sensible-utils 0.0.22 deb
|
sensible-utils 0.0.22 deb
|
||||||
systemd-dev 255.4-1ubuntu8.12 deb
|
systemd-dev 255.4-1ubuntu8.15 deb
|
||||||
systemd-hwe-hwdb 255.1.7 deb
|
systemd-hwe-hwdb 255.1.7 deb
|
||||||
systemd-standalone-sysusers 255.4-1ubuntu8.12 deb
|
systemd-standalone-sysusers 255.4-1ubuntu8.15 deb
|
||||||
sysvinit-utils 3.08-6ubuntu3 deb
|
sysvinit-utils 3.08-6ubuntu3 deb
|
||||||
tar 1.35+dfsg-3build1 deb
|
tar 1.35+dfsg-3build1 deb
|
||||||
tzdata 2025b-0ubuntu0.24.04.1 deb
|
tzdata 2026a-0ubuntu0.24.04.1 deb
|
||||||
ubuntu-keyring 2023.11.28.1 deb
|
ubuntu-keyring 2023.11.28.1 deb
|
||||||
udev 255.4-1ubuntu8.12 deb
|
udev 255.4-1ubuntu8.15 deb
|
||||||
unminimize 0.2.1 deb
|
unminimize 0.2.1 deb
|
||||||
util-linux 2.39.3-9ubuntu6.4 deb
|
util-linux 2.39.3-9ubuntu6.5 deb
|
||||||
wget 1.21.4-1ubuntu4.1 deb
|
wget 1.21.4-1ubuntu4.1 deb
|
||||||
zlib1g 1:1.3.dfsg-3.1ubuntu2.1 deb
|
zlib1g 1:1.3.dfsg-3.1ubuntu2.1 deb
|
||||||
|
|
|
||||||
|
|
@ -125,6 +125,8 @@ init_diagram: |
|
||||||
"plex:latest" <- Base Images
|
"plex:latest" <- Base Images
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
|
- {date: "15.03.26:", desc: "Allow TMPDIR to be changed to better support read-only containers"}
|
||||||
|
- {date: "15.03.26:", desc: "Fix initial claim setup on non-root containers"}
|
||||||
- {date: "04.11.24:", desc: "Add Nvidia capability needed for h265"}
|
- {date: "04.11.24:", desc: "Add Nvidia capability needed for h265"}
|
||||||
- {date: "18.07.24:", desc: "Rebase to Ubuntu Noble."}
|
- {date: "18.07.24:", desc: "Rebase to Ubuntu Noble."}
|
||||||
- {date: "12.02.24:", desc: "Use universal hardware acceleration blurb"}
|
- {date: "12.02.24:", desc: "Use universal hardware acceleration blurb"}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,11 @@
|
||||||
#!/usr/bin/with-contenv bash
|
#!/usr/bin/with-contenv bash
|
||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
|
|
||||||
mkdir -p /run/plex-temp
|
# remove plex temporary directory after unclean stop
|
||||||
|
if [[ -d "${TMPDIR}" ]]; then
|
||||||
|
rm -rf "${TMPDIR}"
|
||||||
|
fi
|
||||||
|
mkdir -p ${TMPDIR}
|
||||||
|
|
||||||
# create folders
|
# create folders
|
||||||
if [[ ! -d "${PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR}" ]]; then
|
if [[ ! -d "${PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR}" ]]; then
|
||||||
|
|
@ -40,7 +44,7 @@ if [[ -z ${LSIO_NON_ROOT_USER} ]]; then
|
||||||
|
|
||||||
# permissions (non-recursive) on config root and folders
|
# permissions (non-recursive) on config root and folders
|
||||||
lsiown abc:abc \
|
lsiown abc:abc \
|
||||||
/run/plex-temp \
|
"${TMPDIR}" \
|
||||||
/config \
|
/config \
|
||||||
/config/*
|
/config/*
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -19,8 +19,15 @@ if [[ ! -f "${PLEX_MEDIA_SERVER_PREFERENCES}" ]]; then
|
||||||
export PLEX_MEDIA_SERVER_INFO_MODEL
|
export PLEX_MEDIA_SERVER_INFO_MODEL
|
||||||
PLEX_MEDIA_SERVER_INFO_PLATFORM_VERSION=$(uname -r)
|
PLEX_MEDIA_SERVER_INFO_PLATFORM_VERSION=$(uname -r)
|
||||||
export PLEX_MEDIA_SERVER_INFO_PLATFORM_VERSION
|
export PLEX_MEDIA_SERVER_INFO_PLATFORM_VERSION
|
||||||
s6-setuidgid abc /bin/bash -c \
|
|
||||||
'LD_LIBRARY_PATH=/usr/lib/plexmediaserver:/usr/lib/plexmediaserver/lib /usr/lib/plexmediaserver/Plex\ Media\ Server' &
|
if [[ -z ${LSIO_NON_ROOT_USER} ]]; then
|
||||||
|
s6-setuidgid abc /bin/bash -c \
|
||||||
|
'LD_LIBRARY_PATH=/usr/lib/plexmediaserver:/usr/lib/plexmediaserver/lib /usr/lib/plexmediaserver/Plex\ Media\ Server' &
|
||||||
|
else
|
||||||
|
/bin/bash -c \
|
||||||
|
'LD_LIBRARY_PATH=/usr/lib/plexmediaserver:/usr/lib/plexmediaserver/lib /usr/lib/plexmediaserver/Plex\ Media\ Server' &
|
||||||
|
fi
|
||||||
|
|
||||||
PID=$!
|
PID=$!
|
||||||
echo "Waiting for Plex to generate its config"
|
echo "Waiting for Plex to generate its config"
|
||||||
DBNAME="/config/Library/Application Support/Plex Media Server/Plug-in Support/Databases/com.plexapp.plugins.library.db-wal"
|
DBNAME="/config/Library/Application Support/Plex Media Server/Plug-in Support/Databases/com.plexapp.plugins.library.db-wal"
|
||||||
|
|
|
||||||
14
root/etc/s6-overlay/s6-rc.d/init-wireguard/run
Executable file
14
root/etc/s6-overlay/s6-rc.d/init-wireguard/run
Executable file
|
|
@ -0,0 +1,14 @@
|
||||||
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
|
# Bring up WireGuard if not already up
|
||||||
|
if ! ip link show dev wg0 > /dev/null 2>&1; then
|
||||||
|
wg-quick up wg0
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Monitor wireguard status
|
||||||
|
while true; do
|
||||||
|
if ! ip link show dev wg0 | grep -q "UP"; then
|
||||||
|
wg-quick up wg0
|
||||||
|
fi
|
||||||
|
sleep 60
|
||||||
|
done
|
||||||
1
root/etc/s6-overlay/s6-rc.d/init-wireguard/type
Normal file
1
root/etc/s6-overlay/s6-rc.d/init-wireguard/type
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
longrun
|
||||||
0
root/etc/s6-overlay/s6-rc.d/init-wireguard/up
Normal file
0
root/etc/s6-overlay/s6-rc.d/init-wireguard/up
Normal file
|
|
@ -1,6 +1,8 @@
|
||||||
#!/usr/bin/with-contenv bash
|
#!/usr/bin/with-contenv bash
|
||||||
# shellcheck shell=bash
|
# shellcheck shell=bash
|
||||||
|
|
||||||
|
# Wait for WireGuard to be up
|
||||||
|
|
||||||
echo "Starting Plex Media Server. . . (you can ignore the libusb_init error)"
|
echo "Starting Plex Media Server. . . (you can ignore the libusb_init error)"
|
||||||
PLEX_MEDIA_SERVER_INFO_MODEL=$(uname -m)
|
PLEX_MEDIA_SERVER_INFO_MODEL=$(uname -m)
|
||||||
export PLEX_MEDIA_SERVER_INFO_MODEL
|
export PLEX_MEDIA_SERVER_INFO_MODEL
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue