mirror of
https://github.com/linuxserver/docker-pairdrop.git
synced 2026-02-19 16:56:18 +08:00
Rebase to 3.20
This commit is contained in:
parent
04348680eb
commit
29bcecbbae
@ -1,6 +1,6 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.19
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:3.20
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@ -32,6 +32,7 @@ RUN \
|
||||
cd /app/pairdrop && \
|
||||
chown -R abc:abc ./ && \
|
||||
su -s /bin/sh abc -c 'HOME=/tmp NODE_ENV=production npm ci' && \
|
||||
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
$HOME/.cache \
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.19
|
||||
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.20
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@ -32,6 +32,7 @@ RUN \
|
||||
cd /app/pairdrop && \
|
||||
chown -R abc:abc ./ && \
|
||||
su -s /bin/sh abc -c 'HOME=/tmp NODE_ENV=production npm ci' && \
|
||||
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
$HOME/.cache \
|
||||
|
||||
41
Jenkinsfile
vendored
41
Jenkinsfile
vendored
@ -298,7 +298,7 @@ pipeline {
|
||||
echo "Jenkinsfile is up to date."
|
||||
fi
|
||||
echo "Starting Stage 2 - Delete old templates"
|
||||
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml Dockerfile.armhf"
|
||||
OLD_TEMPLATES=".github/ISSUE_TEMPLATE.md .github/ISSUE_TEMPLATE/issue.bug.md .github/ISSUE_TEMPLATE/issue.feature.md .github/workflows/call_invalid_helper.yml .github/workflows/stale.yml"
|
||||
for i in ${OLD_TEMPLATES}; do
|
||||
if [[ -f "${i}" ]]; then
|
||||
TEMPLATES_TO_DELETE="${i} ${TEMPLATES_TO_DELETE}"
|
||||
@ -528,6 +528,7 @@ pipeline {
|
||||
--label \"org.opencontainers.image.title=Pairdrop\" \
|
||||
--label \"org.opencontainers.image.description=[PairDrop](https://github.com/schlagmichdoch/PairDrop) is a sublime alternative to AirDrop that works on all platforms. Send images, documents or text via peer to peer connection to devices in the same local network/Wi-Fi or to paired devices.\" \
|
||||
--no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \
|
||||
--provenance=false --sbom=false \
|
||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||
}
|
||||
}
|
||||
@ -559,6 +560,7 @@ pipeline {
|
||||
--label \"org.opencontainers.image.title=Pairdrop\" \
|
||||
--label \"org.opencontainers.image.description=[PairDrop](https://github.com/schlagmichdoch/PairDrop) is a sublime alternative to AirDrop that works on all platforms. Send images, documents or text via peer to peer connection to devices in the same local network/Wi-Fi or to paired devices.\" \
|
||||
--no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \
|
||||
--provenance=false --sbom=false \
|
||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||
}
|
||||
}
|
||||
@ -587,6 +589,7 @@ pipeline {
|
||||
--label \"org.opencontainers.image.title=Pairdrop\" \
|
||||
--label \"org.opencontainers.image.description=[PairDrop](https://github.com/schlagmichdoch/PairDrop) is a sublime alternative to AirDrop that works on all platforms. Send images, documents or text via peer to peer connection to devices in the same local network/Wi-Fi or to paired devices.\" \
|
||||
--no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \
|
||||
--provenance=false --sbom=false \
|
||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}"
|
||||
retry(5) {
|
||||
@ -710,7 +713,7 @@ pipeline {
|
||||
--shm-size=1gb \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
-e IMAGE=\"${IMAGE}\" \
|
||||
-e DELAY_START=\"${CI_DELAY}\" \
|
||||
-e DOCKER_LOGS_TIMEOUT=\"${CI_DELAY}\" \
|
||||
-e TAGS=\"${CI_TAGS}\" \
|
||||
-e META_TAG=\"${META_TAG}\" \
|
||||
-e PORT=\"${CI_PORT}\" \
|
||||
@ -818,35 +821,13 @@ pipeline {
|
||||
docker push ${MANIFESTIMAGE}:amd64-${SEMVER}
|
||||
docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
||||
fi
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
|
||||
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
|
||||
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
|
||||
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || :
|
||||
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
|
||||
done
|
||||
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||
if [ -n "${SEMVER}" ]; then
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || :
|
||||
docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
||||
docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8
|
||||
fi
|
||||
token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token')
|
||||
digest=$(curl -s \
|
||||
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
|
||||
--header "Authorization: Bearer ${token}" \
|
||||
"https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-latest")
|
||||
if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest || :
|
||||
docker manifest create ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:amd64-latest
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest
|
||||
fi
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:latest
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
|
||||
if [ -n "${SEMVER}" ]; then
|
||||
docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER}
|
||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
|
||||
fi
|
||||
done
|
||||
'''
|
||||
|
||||
@ -28,7 +28,7 @@ Find us at:
|
||||
|
||||
# [linuxserver/pairdrop](https://github.com/linuxserver/docker-pairdrop)
|
||||
|
||||
[](https://scarf.sh/gateway/linuxserver-ci/docker/linuxserver%2Fpairdrop)
|
||||
[](https://scarf.sh)
|
||||
[](https://github.com/linuxserver/docker-pairdrop)
|
||||
[](https://github.com/linuxserver/docker-pairdrop/releases)
|
||||
[](https://github.com/linuxserver/docker-pairdrop/packages)
|
||||
@ -75,7 +75,7 @@ Enabling WS_FALLBACK provides a fallback if the peer to peer WebRTC connection i
|
||||
|
||||
This is especially useful if you connect to your instance via a VPN as most VPN services block WebRTC completely in order to hide your real IP address.
|
||||
|
||||
*Warning*: All traffic sent between devices using this fallback is routed through the server and therefor not peer to peer! Traffic routed via this fallback is readable by the server and uses the server's bandwidth.
|
||||
*Warning*: All traffic sent between devices using this fallback is routed through the server and therefore not peer to peer! Traffic routed via this fallback is readable by the server and uses the server's bandwidth.
|
||||
|
||||
## Usage
|
||||
|
||||
@ -295,6 +295,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||
|
||||
## Versions
|
||||
|
||||
* **24.05.24:** - Rebase to Alpine 3.20.
|
||||
* **31.01.24:** - Rebase to Alpine 3.19.
|
||||
* **30.05.23:** - Rebase to Alpine 3.18.
|
||||
* **06.03.23:** - Run npm install as non-root user.
|
||||
|
||||
@ -17,16 +17,11 @@ available_architectures:
|
||||
|
||||
# development version
|
||||
development_versions: false
|
||||
development_versions_items:
|
||||
|
||||
# container parameters
|
||||
common_param_env_vars_enabled: true
|
||||
param_container_name: "{{ project_name }}"
|
||||
|
||||
param_usage_include_net: false
|
||||
|
||||
param_usage_include_env: false
|
||||
|
||||
opt_param_usage_include_env: true
|
||||
opt_param_env_vars:
|
||||
- { env_var: "RATE_LIMIT", env_value: "false", desc: "Set to `true` to limit clients to 100 requests per 5 min" }
|
||||
@ -34,8 +29,6 @@ opt_param_env_vars:
|
||||
- { env_var: "RTC_CONFIG", env_value: "", desc: "Path to a json file containing custom STUN/TURN config (see App Setup notes)" }
|
||||
- { env_var: "DEBUG_MODE", env_value: "false", desc: "Set to `true` to debug the http server configuration by logging clients IP addresses used by PairDrop to STDOUT. [See here for more info](https://github.com/schlagmichdoch/PairDrop/blob/master/docs/host-your-own.md#debug-mode). Do not use in production!" }
|
||||
|
||||
param_usage_include_vols: false
|
||||
|
||||
param_usage_include_ports: true
|
||||
param_ports:
|
||||
- { external_port: "3000", internal_port: "3000", port_desc: "http gui" }
|
||||
@ -59,10 +52,11 @@ app_setup_block: |
|
||||
|
||||
This is especially useful if you connect to your instance via a VPN as most VPN services block WebRTC completely in order to hide your real IP address.
|
||||
|
||||
*Warning*: All traffic sent between devices using this fallback is routed through the server and therefor not peer to peer! Traffic routed via this fallback is readable by the server and uses the server's bandwidth.
|
||||
*Warning*: All traffic sent between devices using this fallback is routed through the server and therefore not peer to peer! Traffic routed via this fallback is readable by the server and uses the server's bandwidth.
|
||||
|
||||
# changelog
|
||||
changelogs:
|
||||
- { date: "24.05.24:", desc: "Rebase to Alpine 3.20." }
|
||||
- { date: "31.01.24:", desc: "Rebase to Alpine 3.19." }
|
||||
- { date: "30.05.23:", desc: "Rebase to Alpine 3.18." }
|
||||
- { date: "06.03.23:", desc: "Run npm install as non-root user." }
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user