Compare commits

...

12 Commits

Author SHA1 Message Date
LinuxServer-CI
28b5e46a87 Bot Updating Package Versions 2022-02-08 15:52:23 +01:00
LinuxServer-CI
88261eef17 Bot Updating Package Versions 2022-02-04 15:59:20 +01:00
LinuxServer-CI
99636278e8 Bot Updating Package Versions 2022-02-03 02:22:08 +01:00
aptalca
0719a1d9d1
Merge pull request #8 from linuxserver/develop-ffmpeg
add ffmpeg and click'n'load port
2022-02-02 20:18:33 -05:00
aptalca
e3b3242356 add ffmpeg and click'n'load port 2022-02-02 19:52:31 -05:00
LinuxServer-CI
5b876a5e2d Bot Updating Package Versions 2022-01-25 14:46:03 +01:00
aptalca
2ac5ea2ae3
Merge pull request #4 from linuxserver/develop-p7zip
develop: replace unrar with p7zip
2022-01-25 08:40:27 -05:00
aptalca
a6f5e3493c develop: replace unrar with p7zip 2022-01-24 14:49:30 -05:00
LinuxServer-CI
b1b05f0455 Bot Updating Package Versions 2022-01-24 20:05:28 +01:00
aptalca
cd276ffaae
Merge pull request #2 from linuxserver/develop-initial
develop initial release
2022-01-24 13:54:42 -05:00
aptalca
5597b4c218 fix repo name 2022-01-24 11:45:40 -05:00
aptalca
479dfa16fa develop tag initial release 2022-01-24 11:41:47 -05:00
15 changed files with 297 additions and 161 deletions

View File

@ -24,7 +24,7 @@
## Readme
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-pyload-ng/edit/main/readme-vars.yml).
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-pyload-ng/edit/develop/readme-vars.yml).
These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play.
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-pyload-ng)
@ -115,7 +115,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Update the changelog
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-pyload-ng/tree/main/root), add an entry to the changelog
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-pyload-ng/tree/develop/root), add an entry to the changelog
```yml
changelogs:

1
.github/FUNDING.yml vendored
View File

@ -1,2 +1,3 @@
github: linuxserver
open_collective: linuxserver
custom: ["https://PayPal.Me/nitzo2001/0usd",]

View File

@ -21,7 +21,7 @@
------------------------------
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-pyload-ng/blob/main/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-pyload-ng/blob/develop/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
------------------------------

View File

@ -4,24 +4,24 @@ on:
workflow_dispatch:
jobs:
external-trigger-main:
external-trigger-develop:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: External Trigger
if: github.ref == 'refs/heads/main'
if: github.ref == 'refs/heads/develop'
run: |
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_PYLOAD_NG_MAIN }}" ]; then
echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_PYLOAD_NG_MAIN is set; skipping trigger. ****"
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_PYLOAD_NG_DEVELOP }}" ]; then
echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_PYLOAD_NG_DEVELOP is set; skipping trigger. ****"
exit 0
fi
echo "**** External trigger running off of main branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_PYLOAD_NG_MAIN\". ****"
echo "**** External trigger running off of develop branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_PYLOAD_NG_DEVELOP\". ****"
echo "**** Retrieving external version ****"
EXT_RELEASE=$(curl -sL "https://pypi.python.org/pypi/pyload-ng/json" |jq -r '. | .info.version')
EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/pyload/pyload/commits/develop" | jq -r '. | .sha' | cut -c1-8)
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
echo "**** Can't retrieve external version, exiting ****"
FAILURE_REASON="Can't retrieve external version for pyload-ng branch main"
FAILURE_REASON="Can't retrieve external version for pyload-ng branch develop"
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-pyload-ng/actions/runs/${{ github.run_id }}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
@ -32,7 +32,7 @@ jobs:
echo "**** External version: ${EXT_RELEASE} ****"
echo "**** Retrieving last pushed version ****"
image="linuxserver/pyload-ng"
tag="latest"
tag="develop"
token=$(curl -sX GET \
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fpyload-ng%3Apull" \
| jq -r '.token')
@ -54,7 +54,7 @@ jobs:
IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}')
if [ -z "${IMAGE_VERSION}" ]; then
echo "**** Can't retrieve last pushed version, exiting ****"
FAILURE_REASON="Can't retrieve last pushed version for pyload-ng tag latest"
FAILURE_REASON="Can't retrieve last pushed version for pyload-ng tag develop"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
@ -64,13 +64,13 @@ jobs:
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
echo "**** Version ${EXT_RELEASE} already pushed, exiting ****"
exit 0
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/main/lastBuild/api/json | jq -r '.building') == "true" ]; then
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/develop/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "**** New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting ****"
exit 0
else
echo "**** New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build ****"
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/main/buildWithParameters?PACKAGE_CHECK=false \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/develop/buildWithParameters?PACKAGE_CHECK=false \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
echo "**** Sleeping 10 seconds until job starts ****"
@ -85,7 +85,7 @@ jobs:
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"
echo "**** Notifying Discord ****"
TRIGGER_REASON="A version change was detected for pyload-ng tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
TRIGGER_REASON="A version change was detected for pyload-ng tag develop. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}

View File

@ -8,6 +8,6 @@ jobs:
steps:
- uses: actions/first-interaction@v1
with:
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-pyload-ng/blob/main/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-pyload-ng/blob/main/.github/ISSUE_TEMPLATE/issue.feature.md) issue templates!'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-pyload-ng/blob/main/.github/PULL_REQUEST_TEMPLATE.md)!'
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-pyload-ng/blob/develop/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-pyload-ng/blob/develop/.github/ISSUE_TEMPLATE/issue.feature.md) issue templates!'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-pyload-ng/blob/develop/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}

View File

@ -4,25 +4,25 @@ on:
workflow_dispatch:
jobs:
package-trigger-main:
package-trigger-develop:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- name: Package Trigger
if: github.ref == 'refs/heads/main'
if: github.ref == 'refs/heads/develop'
run: |
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_PYLOAD_NG_MAIN }}" ]; then
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_PYLOAD_NG_MAIN is set; skipping trigger. ****"
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_PYLOAD_NG_DEVELOP }}" ]; then
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_PYLOAD_NG_DEVELOP is set; skipping trigger. ****"
exit 0
fi
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/main/lastBuild/api/json | jq -r '.building') == "true" ]; then
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/develop/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****"
exit 0
fi
echo "**** Package trigger running off of main branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_PYLOAD_NG_MAIN\". ****"
echo "**** Package trigger running off of develop branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_PYLOAD_NG_DEVELOP\". ****"
response=$(curl -iX POST \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/main/buildWithParameters?PACKAGE_CHECK=true \
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/develop/buildWithParameters?PACKAGE_CHECK=true \
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
echo "**** Sleeping 10 seconds until job starts ****"

View File

@ -3,7 +3,7 @@ FROM ghcr.io/linuxserver/baseimage-alpine:3.15
# set version label
ARG BUILD_DATE
ARG VERSION
ARG PYLOAD_VERSION
ARG PYLOAD_COMMIT
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="aptalca"
@ -15,6 +15,7 @@ RUN \
build-base \
cargo \
curl-dev \
git \
libffi-dev \
libjpeg-turbo-dev \
openssl-dev \
@ -23,31 +24,21 @@ RUN \
echo "**** install packages ****" && \
apk add --no-cache \
curl \
ffmpeg \
libjpeg-turbo \
p7zip \
py3-pip \
python3 \
sqlite \
tesseract-ocr && \
echo "**** install unrar ****" && \
mkdir /tmp/unrar && \
curl -o /tmp/unrar.tar.gz \
-L "https://www.rarlab.com/rar/unrarsrc-6.1.4.tar.gz" && \
tar xf /tmp/unrar.tar.gz -C \
/tmp/unrar --strip-components=1 && \
cd /tmp/unrar && \
make && \
make install && \
mkdir -p /usr/share/licenses/unrar && \
mv license.txt /usr/share/licenses/unrar/ && \
echo "**** install pyload ****" && \
if [ -z ${PYLOAD_VERSION+x} ]; then \
PYLOAD="pyload-ng[all]"; \
else \
PYLOAD="pyload-ng[all]==${PYLOAD_VERSION}"; \
if [ -z ${PYLOAD_COMMIT+x} ]; then \
PYLOAD_COMMIT=$(curl -sX GET "https://api.github.com/repos/pyload/pyload/branches/develop" \
| awk '/sha/{print $4;exit}' FS='[""]'); \
fi && \
pip3 install -U pip setuptools wheel && \
pip install -U --find-links https://wheel-index.linuxserver.io/alpine-3.15/ \
"${PYLOAD}" && \
"git+git://github.com/pyload/pyload.git@${PYLOAD_COMMIT}" && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \

View File

@ -3,7 +3,7 @@ FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.15
# set version label
ARG BUILD_DATE
ARG VERSION
ARG PYLOAD_VERSION
ARG PYLOAD_COMMIT
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="aptalca"
@ -15,6 +15,7 @@ RUN \
build-base \
cargo \
curl-dev \
git \
libffi-dev \
libjpeg-turbo-dev \
openssl-dev \
@ -23,31 +24,21 @@ RUN \
echo "**** install packages ****" && \
apk add --no-cache \
curl \
ffmpeg \
libjpeg-turbo \
p7zip \
py3-pip \
python3 \
sqlite \
tesseract-ocr && \
echo "**** install unrar ****" && \
mkdir /tmp/unrar && \
curl -o /tmp/unrar.tar.gz \
-L "https://www.rarlab.com/rar/unrarsrc-6.1.4.tar.gz" && \
tar xf /tmp/unrar.tar.gz -C \
/tmp/unrar --strip-components=1 && \
cd /tmp/unrar && \
make && \
make install && \
mkdir -p /usr/share/licenses/unrar && \
mv license.txt /usr/share/licenses/unrar/ && \
echo "**** install pyload ****" && \
if [ -z ${PYLOAD_VERSION+x} ]; then \
PYLOAD="pyload-ng[all]"; \
else \
PYLOAD="pyload-ng[all]==${PYLOAD_VERSION}"; \
if [ -z ${PYLOAD_COMMIT+x} ]; then \
PYLOAD_COMMIT=$(curl -sX GET "https://api.github.com/repos/pyload/pyload/branches/develop" \
| awk '/sha/{print $4;exit}' FS='[""]'); \
fi && \
pip3 install -U pip setuptools wheel && \
pip install -U --find-links https://wheel-index.linuxserver.io/alpine-3.15/ \
"${PYLOAD}" && \
"git+git://github.com/pyload/pyload.git@${PYLOAD_COMMIT}" && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \

View File

@ -3,7 +3,7 @@ FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.15
# set version label
ARG BUILD_DATE
ARG VERSION
ARG PYLOAD_VERSION
ARG PYLOAD_COMMIT
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="aptalca"
@ -15,6 +15,7 @@ RUN \
build-base \
cargo \
curl-dev \
git \
libffi-dev \
libjpeg-turbo-dev \
openssl-dev \
@ -23,31 +24,21 @@ RUN \
echo "**** install packages ****" && \
apk add --no-cache \
curl \
ffmpeg \
libjpeg-turbo \
p7zip \
py3-pip \
python3 \
sqlite \
tesseract-ocr && \
echo "**** install unrar ****" && \
mkdir /tmp/unrar && \
curl -o /tmp/unrar.tar.gz \
-L "https://www.rarlab.com/rar/unrarsrc-6.1.4.tar.gz" && \
tar xf /tmp/unrar.tar.gz -C \
/tmp/unrar --strip-components=1 && \
cd /tmp/unrar && \
make && \
make install && \
mkdir -p /usr/share/licenses/unrar && \
mv license.txt /usr/share/licenses/unrar/ && \
echo "**** install pyload ****" && \
if [ -z ${PYLOAD_VERSION+x} ]; then \
PYLOAD="pyload-ng[all]"; \
else \
PYLOAD="pyload-ng[all]==${PYLOAD_VERSION}"; \
if [ -z ${PYLOAD_COMMIT+x} ]; then \
PYLOAD_COMMIT=$(curl -sX GET "https://api.github.com/repos/pyload/pyload/branches/develop" \
| awk '/sha/{print $4;exit}' FS='[""]'); \
fi && \
pip3 install -U pip setuptools wheel && \
pip install -U --find-links https://wheel-index.linuxserver.io/alpine-3.15/ \
"${PYLOAD}" && \
"git+git://github.com/pyload/pyload.git@${PYLOAD_COMMIT}" && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \

148
Jenkinsfile vendored
View File

@ -17,14 +17,16 @@ pipeline {
GITLAB_TOKEN=credentials('b6f0f1dd-6952-4cf6-95d1-9c06380283f0')
GITLAB_NAMESPACE=credentials('gitlab-namespace-id')
SCARF_TOKEN=credentials('scarf_api_key')
EXT_PIP = 'pyload-ng'
BUILD_VERSION_ARG = 'PYLOAD_VERSION'
EXT_GIT_BRANCH = 'develop'
EXT_USER = 'pyload'
EXT_REPO = 'pyload'
BUILD_VERSION_ARG = 'PYLOAD_COMMIT'
LS_USER = 'linuxserver'
LS_REPO = 'docker-pyload'
CONTAINER_NAME = 'pyload'
DOCKERHUB_IMAGE = 'linuxserver/pyload'
DEV_DOCKERHUB_IMAGE = 'lsiodev/pyload'
PR_DOCKERHUB_IMAGE = 'lspipepr/pyload'
LS_REPO = 'docker-pyload-ng'
CONTAINER_NAME = 'pyload-ng'
DOCKERHUB_IMAGE = 'linuxserver/pyload-ng'
DEV_DOCKERHUB_IMAGE = 'lsiodev/pyload-ng'
PR_DOCKERHUB_IMAGE = 'lspipepr/pyload-ng'
DIST_IMAGE = 'alpine'
MULTIARCH='true'
CI='true'
@ -43,7 +45,7 @@ pipeline {
script{
env.EXIT_STATUS = ''
env.LS_RELEASE = sh(
script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':develop 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
returnStdout: true).trim()
env.LS_RELEASE_NOTES = sh(
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
@ -57,7 +59,7 @@ pipeline {
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.md ./.github/ISSUE_TEMPLATE/issue.feature.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/stale.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml'
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.md ./.github/ISSUE_TEMPLATE/issue.feature.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/stale.yml ./.github/workflows/external_trigger.yml ./.github/workflows/package_trigger.yml ./root/donate.txt'
}
script{
env.LS_RELEASE_NUMBER = sh(
@ -100,17 +102,25 @@ pipeline {
/* ########################
External Release Tagging
######################## */
// If this is a pip release set the external tag to the pip version
stage("Set ENV pip_version"){
steps{
script{
env.EXT_RELEASE = sh(
script: '''curl -sL https://pypi.python.org/pypi/${EXT_PIP}/json |jq -r '. | .info.version' ''',
returnStdout: true).trim()
env.RELEASE_LINK = 'https://pypi.python.org/pypi/' + env.EXT_PIP
}
}
} // Sanitize the release tag and strip illegal docker or github characters
// If this is a github commit trigger determine the current commit at head
stage("Set ENV github_commit"){
steps{
script{
env.EXT_RELEASE = sh(
script: '''curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/commits/${EXT_GIT_BRANCH} | jq -r '. | .sha' | cut -c1-8 ''',
returnStdout: true).trim()
}
}
}
// If this is a github commit trigger Set the external release link
stage("Set ENV commit_link"){
steps{
script{
env.RELEASE_LINK = 'https://github.com/' + env.EXT_USER + '/' + env.EXT_REPO + '/commit/' + env.EXT_RELEASE
}
}
}
// Sanitize the release tag and strip illegal docker or github characters
stage("Sanitize tag"){
steps{
script{
@ -144,10 +154,10 @@ pipeline {
}
}
}
// If this is a main build use live docker endpoints
// If this is a develop build use live docker endpoints
stage("Set ENV live build"){
when {
branch "main"
branch "develop"
environment name: 'CHANGE_ID', value: ''
}
steps {
@ -157,20 +167,20 @@ pipeline {
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.CI_TAGS = 'amd64-develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.CI_TAGS = 'develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
env.META_TAG = 'develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.EXT_RELEASE_TAG = 'develop-version-' + env.EXT_RELEASE_CLEAN
}
}
}
// If this is a dev build use dev docker endpoints
stage("Set ENV dev build"){
when {
not {branch "main"}
not {branch "develop"}
environment name: 'CHANGE_ID', value: ''
}
steps {
@ -180,13 +190,13 @@ pipeline {
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.CI_TAGS = 'amd64-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.CI_TAGS = 'develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
}
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
env.META_TAG = 'develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
env.EXT_RELEASE_TAG = 'develop-version-' + env.EXT_RELEASE_CLEAN
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
}
}
@ -203,13 +213,13 @@ pipeline {
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
if (env.MULTIARCH == 'true') {
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.CI_TAGS = 'amd64-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
} else {
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.CI_TAGS = 'develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
}
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
env.META_TAG = 'develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
env.EXT_RELEASE_TAG = 'develop-version-' + env.EXT_RELEASE_CLEAN
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
}
@ -247,7 +257,7 @@ pipeline {
// Use helper containers to render templated files
stage('Update-Templates') {
when {
branch "main"
branch "develop"
environment name: 'CHANGE_ID', value: ''
expression {
env.CONTAINER_NAME != null
@ -258,13 +268,13 @@ pipeline {
set -e
TEMPDIR=$(mktemp -d)
docker pull ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=main -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=develop -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
# Stage 1 - Jenkinsfile update
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f main
git checkout -f develop
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
git add Jenkinsfile
git commit -m 'Bot Updating Templated Files'
@ -287,7 +297,7 @@ pipeline {
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f main
git checkout -f develop
for i in ${TEMPLATES_TO_DELETE}; do
git rm "${i}"
done
@ -308,7 +318,7 @@ pipeline {
mkdir -p ${TEMPDIR}/repo
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
cd ${TEMPDIR}/repo/${LS_REPO}
git checkout -f main
git checkout -f develop
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
@ -364,7 +374,7 @@ pipeline {
// Exit the build if the Templated files were just updated
stage('Template-exit') {
when {
branch "main"
branch "develop"
environment name: 'CHANGE_ID', value: ''
environment name: 'FILES_UPDATED', value: 'true'
expression {
@ -403,7 +413,7 @@ pipeline {
// Add package to Scarf.sh and set permissions
stage("Scarf.sh package registry"){
when {
branch "main"
branch "develop"
environment name: 'EXIT_STATUS', value: ''
}
steps{
@ -560,7 +570,7 @@ pipeline {
// Take the image we just built and dump package versions for comparison
stage('Update-packages') {
when {
branch "main"
branch "develop"
environment name: 'CHANGE_ID', value: ''
environment name: 'EXIT_STATUS', value: ''
}
@ -597,7 +607,7 @@ pipeline {
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f main
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f develop
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
cd ${TEMPDIR}/${LS_REPO}/
wait
@ -621,7 +631,7 @@ pipeline {
// Exit the build if the package file was just updated
stage('PACKAGE-exit') {
when {
branch "main"
branch "develop"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'true'
environment name: 'EXIT_STATUS', value: ''
@ -642,7 +652,7 @@ pipeline {
// Exit the build if this is just a package check and there are no changes to push
stage('PACKAGECHECK-exit') {
when {
branch "main"
branch "develop"
environment name: 'CHANGE_ID', value: ''
environment name: 'PACKAGE_UPDATED', value: 'false'
environment name: 'EXIT_STATUS', value: ''
@ -745,12 +755,12 @@ pipeline {
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:develop
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${SEMVER}
fi
docker push ${PUSHIMAGE}:latest
docker push ${PUSHIMAGE}:develop
docker push ${PUSHIMAGE}:${META_TAG}
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
@ -764,7 +774,7 @@ pipeline {
docker rmi \
${DELETEIMAGE}:${META_TAG} \
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
${DELETEIMAGE}:latest || :
${DELETEIMAGE}:develop || :
if [ -n "${SEMVER}" ]; then
docker rmi ${DELETEIMAGE}:${SEMVER} || :
fi
@ -811,9 +821,9 @@ pipeline {
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-develop
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-develop
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-develop
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
@ -825,9 +835,9 @@ pipeline {
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker push ${MANIFESTIMAGE}:amd64-latest
docker push ${MANIFESTIMAGE}:arm32v7-latest
docker push ${MANIFESTIMAGE}:arm64v8-latest
docker push ${MANIFESTIMAGE}:amd64-develop
docker push ${MANIFESTIMAGE}:arm32v7-develop
docker push ${MANIFESTIMAGE}:arm64v8-develop
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
@ -836,10 +846,10 @@ pipeline {
docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER}
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
fi
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:develop || :
docker manifest create ${MANIFESTIMAGE}:develop ${MANIFESTIMAGE}:amd64-develop ${MANIFESTIMAGE}:arm32v7-develop ${MANIFESTIMAGE}:arm64v8-develop
docker manifest annotate ${MANIFESTIMAGE}:develop ${MANIFESTIMAGE}:arm32v7-develop --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:develop ${MANIFESTIMAGE}:arm64v8-develop --os linux --arch arm64 --variant v8
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
@ -854,7 +864,7 @@ pipeline {
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
fi
docker manifest push --purge ${MANIFESTIMAGE}:latest
docker manifest push --purge ${MANIFESTIMAGE}:develop
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
if [ -n "${SEMVER}" ]; then
@ -867,13 +877,13 @@ pipeline {
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do
docker rmi \
${DELETEIMAGE}:amd64-${META_TAG} \
${DELETEIMAGE}:amd64-latest \
${DELETEIMAGE}:amd64-develop \
${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
${DELETEIMAGE}:arm32v7-${META_TAG} \
${DELETEIMAGE}:arm32v7-latest \
${DELETEIMAGE}:arm32v7-develop \
${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
${DELETEIMAGE}:arm64v8-${META_TAG} \
${DELETEIMAGE}:arm64v8-latest \
${DELETEIMAGE}:arm64v8-develop \
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
if [ -n "${SEMVER}" ]; then
docker rmi \
@ -892,7 +902,7 @@ pipeline {
// If this is a public release tag it in the LS Github
stage('Github-Tag-Push-Release') {
when {
branch "main"
branch "develop"
expression {
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
}
@ -904,17 +914,17 @@ pipeline {
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
-d '{"tag":"'${META_TAG}'",\
"object": "'${COMMIT_SHA}'",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to main",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to develop",\
"type": "commit",\
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
echo "Pushing New release for Tag"
sh '''#! /bin/bash
echo "Updating PIP version of ${EXT_PIP} to ${EXT_RELEASE_CLEAN}" > releasebody.json
curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/commits/${EXT_RELEASE_CLEAN} | jq '.commit.message' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json
echo '{"tag_name":"'${META_TAG}'",\
"target_commitish": "main",\
"target_commitish": "develop",\
"name": "'${META_TAG}'",\
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**PIP Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": false}' >> releasebody.json
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**'${EXT_REPO}' Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": true}' >> releasebody.json
paste -d'\\0' start releasebody.json > releasebody.json.done
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
}

View File

@ -1,5 +1,5 @@
<!-- DO NOT EDIT THIS FILE MANUALLY -->
<!-- Please read the https://github.com/linuxserver/docker-pyload-ng/blob/main/.github/CONTRIBUTING.md -->
<!-- Please read the https://github.com/linuxserver/docker-pyload-ng/blob/develop/.github/CONTRIBUTING.md -->
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
@ -37,7 +37,7 @@ Find us at:
[![Quay.io](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/pyload-ng)
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/pyload-ng.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/pyload-ng)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/pyload-ng.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/pyload-ng)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-pyload-ng%2Fjob%2Fmain%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/main/)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-pyload-ng%2Fjob%2Fdevelop%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-pyload-ng/job/develop/)
[![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Fci-tests.linuxserver.io%2Flinuxserver%2Fpyload-ng%2Flatest%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/pyload-ng/latest/index.html)
[pyLoad](https://pyload.net/) is a Free and Open Source download manager written in Python and designed to be extremely lightweight, easily extensible and fully manageable via web.
@ -65,7 +65,7 @@ This image provides various versions that are available via tags. `latest` tag u
| Tag | Description |
| :----: | --- |
| latest | Stable releases from pyLoad Next |
| development | Releases from pyload Next development branch |
| develop | Releases from pyload Next develop branch |
## Application Setup
@ -97,6 +97,7 @@ services:
- /path/to/downloads:/downloads
ports:
- 8000:8000
- 9666:9666 #optional
restart: unless-stopped
```
@ -109,6 +110,7 @@ docker run -d \
-e PGID=1000 \
-e TZ=Europe/London \
-p 8000:8000 \
-p 9666:9666 `#optional` \
-v /path/to/appdata/config:/config \
-v /path/to/downloads:/downloads \
--restart unless-stopped \
@ -122,6 +124,7 @@ Container images are configured using parameters passed at runtime (such as thos
| Parameter | Function |
| :----: | --- |
| `-p 8000` | Allows HTTP access to the application |
| `-p 9666` | Click'n'Load port. |
| `-e PUID=1000` | for UserID - see below for explanation |
| `-e PGID=1000` | for GroupID - see below for explanation |
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London |
@ -237,4 +240,6 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **02.02.22:** - Add ffmpeg for the Youtube plugin.
* **24.01.22:** - Replace unrar with p7zip.
* **24.01.22:** - Initial release.

View File

@ -2,19 +2,21 @@
# jenkins variables
project_name: docker-pyload-ng
external_type: pip_version
release_type: stable
release_tag: latest
ls_branch: main
external_type: github_commit
release_type: prerelease
release_tag: develop
ls_branch: develop
repo_vars:
- EXT_PIP = 'pyload-ng'
- BUILD_VERSION_ARG = 'PYLOAD_VERSION'
- EXT_GIT_BRANCH = 'develop'
- EXT_USER = 'pyload'
- EXT_REPO = 'pyload'
- BUILD_VERSION_ARG = 'PYLOAD_COMMIT'
- LS_USER = 'linuxserver'
- LS_REPO = 'docker-pyload'
- CONTAINER_NAME = 'pyload'
- DOCKERHUB_IMAGE = 'linuxserver/pyload'
- DEV_DOCKERHUB_IMAGE = 'lsiodev/pyload'
- PR_DOCKERHUB_IMAGE = 'lspipepr/pyload'
- LS_REPO = 'docker-pyload-ng'
- CONTAINER_NAME = 'pyload-ng'
- DOCKERHUB_IMAGE = 'linuxserver/pyload-ng'
- DEV_DOCKERHUB_IMAGE = 'lsiodev/pyload-ng'
- PR_DOCKERHUB_IMAGE = 'lspipepr/pyload-ng'
- DIST_IMAGE = 'alpine'
- MULTIARCH='true'
- CI='true'
@ -25,3 +27,5 @@ repo_vars:
- CI_DOCKERENV='TZ=US/Pacific'
- CI_AUTH='user:password'
- CI_WEBPATH=''
sponsor_links:
- { name: "pyLoad", url: "https://PayPal.Me/nitzo2001/0usd" }

140
package_versions.txt Executable file
View File

@ -0,0 +1,140 @@
alpine-baselayout-3.2.0-r18
alpine-keys-2.4-r1
alsa-lib-1.2.5.1-r1
aom-libs-3.2.0-r0
apk-tools-2.12.7-r3
bash-5.1.8-r0
brotli-libs-1.0.9-r5
busybox-1.34.1-r4
ca-certificates-20211220-r0
ca-certificates-bundle-20211220-r0
cairo-1.16.0-r3
coreutils-9.0-r2
curl-7.80.0-r0
expat-2.4.4-r0
ffmpeg-4.4.1-r2
ffmpeg-libs-4.4.1-r2
fontconfig-2.13.1-r4
freetype-2.11.0-r0
fribidi-1.0.11-r0
gdbm-1.22-r0
giflib-5.2.1-r0
glib-2.70.1-r0
gmp-6.2.1-r1
gnutls-3.7.1-r0
graphite2-1.3.14-r0
harfbuzz-3.0.0-r2
icu-libs-69.1-r1
lame-3.100-r0
leptonica-1.82.0-r0
libacl-2.2.53-r0
libass-0.15.2-r0
libattr-2.5.1-r1
libblkid-2.37.3-r0
libbsd-0.11.3-r1
libbz2-1.0.8-r1
libc-utils-0.7.2-r3
libcrypto1.1-1.1.1l-r8
libcurl-7.80.0-r0
libdav1d-0.9.2-r0
libdrm-2.4.109-r0
libffi-3.4.2-r1
libgcc-10.3.1_git20211027-r0
libgomp-10.3.1_git20211027-r0
libintl-0.21-r0
libjpeg-turbo-2.1.2-r0
libmd-1.0.3-r0
libmount-2.37.3-r0
libogg-1.3.5-r0
libpciaccess-0.16-r0
libpng-1.6.37-r1
libproc-3.3.17-r0
libretls-3.3.4-r2
libsrt-1.4.2-r1
libssh-0.9.6-r1
libssl1.1-1.1.1l-r8
libstdc++-10.3.1_git20211027-r0
libtasn1-4.18.0-r0
libtheora-1.1.1-r16
libunistring-0.9.10-r1
libuuid-2.37.3-r0
libva-2.13.0-r0
libvdpau-1.4-r0
libvorbis-1.3.7-r0
libvpx-1.10.0-r0
libwebp-1.2.2-r0
libx11-1.7.2-r0
libxau-1.0.9-r0
libxcb-1.14-r2
libxdmcp-1.1.3-r0
libxext-1.3.4-r0
libxfixes-6.0.0-r0
libxft-2.3.4-r0
libxrender-0.9.10-r3
linux-pam-1.5.2-r0
mpdecimal-2.5.1-r1
musl-1.2.2-r7
musl-utils-1.2.2-r7
ncurses-libs-6.3_p20211120-r0
ncurses-terminfo-base-6.3_p20211120-r0
nettle-3.7.3-r0
nghttp2-libs-1.46.0-r0
opus-1.3.1-r1
p11-kit-0.24.0-r1
p7zip-16.02-r4
pango-1.48.10-r0
pcre-8.45-r1
pixman-0.40.0-r3
procps-3.3.17-r0
py3-appdirs-1.4.4-r2
py3-cachecontrol-0.12.10-r0
py3-certifi-2020.12.5-r1
py3-charset-normalizer-2.0.7-r0
py3-colorama-0.4.4-r1
py3-contextlib2-21.6.0-r1
py3-distlib-0.3.3-r0
py3-distro-1.6.0-r0
py3-html5lib-1.1-r1
py3-idna-3.3-r0
py3-lockfile-0.12.2-r4
py3-msgpack-1.0.2-r1
py3-ordered-set-4.0.2-r2
py3-packaging-20.9-r1
py3-parsing-2.4.7-r2
py3-pep517-0.12.0-r0
py3-pip-20.3.4-r1
py3-progress-1.6-r0
py3-requests-2.26.0-r1
py3-retrying-1.3.3-r2
py3-setuptools-52.0.0-r4
py3-six-1.16.0-r0
py3-toml-0.10.2-r2
py3-tomli-1.2.2-r0
py3-urllib3-1.26.7-r0
py3-webencodings-0.5.1-r4
python3-3.9.7-r4
readline-8.1.1-r0
s6-ipcserver-2.11.0.0-r0
scanelf-1.3.3-r0
sdl2-2.0.16-r4
shadow-4.8.1-r1
skalibs-2.11.0.0-r0
soxr-0.1.3-r2
sqlite-3.36.0-r0
sqlite-libs-3.36.0-r0
ssl_client-1.34.1-r4
tesseract-ocr-4.1.3-r0
tiff-4.3.0-r0
tzdata-2021e-r0
utmps-0.1.0.3-r0
v4l-utils-libs-1.22.1-r1
vidstab-1.1.0-r1
vulkan-loader-1.2.196-r0
wayland-libs-client-1.19.0-r1
x264-libs-20210613-r0
x265-libs-3.5-r0
xvidcore-1.3.7-r1
xz-5.2.5-r0
xz-libs-5.2.5-r0
zlib-1.2.11-r3
zstd-libs-1.5.0-r0

View File

@ -17,7 +17,7 @@ available_architectures:
development_versions: true
development_versions_items:
- { tag: "latest", desc: "Stable releases from pyLoad Next" }
- { tag: "development", desc: "Releases from pyload Next development branch" }
- { tag: "develop", desc: "Releases from pyload Next develop branch" }
# container parameters
@ -34,9 +34,9 @@ param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"}
# optional params
opt_param_usage_include_ports: false
opt_param_usage_include_ports: true
opt_param_ports:
- { external_port: "7227", internal_port: "7227", port_desc: "pyLoad control port" }
- { external_port: "9666", internal_port: "9666", port_desc: "Click'n'Load port." }
# application setup block
@ -50,4 +50,6 @@ app_setup_block: |
# changelog
changelogs:
- { date: "02.02.22:", desc: "Add ffmpeg for the Youtube plugin." }
- { date: "24.01.22:", desc: "Replace unrar with p7zip." }
- { date: "24.01.22:", desc: "Initial release." }

1
root/donate.txt Normal file
View File

@ -0,0 +1 @@
pyLoad: https://PayPal.Me/nitzo2001/0usd