forked from Mirror/docker-audacity
switch to appimage and single arch
This commit is contained in:
parent
b0c6f0d2e0
commit
85fc4c6493
9 changed files with 33 additions and 236 deletions
7
.github/workflows/external_trigger.yml
vendored
7
.github/workflows/external_trigger.yml
vendored
|
@ -36,15 +36,10 @@ jobs:
|
|||
token=$(curl -sX GET \
|
||||
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Faudacity%3Apull" \
|
||||
| jq -r '.token')
|
||||
multidigest=$(curl -s \
|
||||
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
|
||||
--header "Authorization: Bearer ${token}" \
|
||||
"https://ghcr.io/v2/${image}/manifests/${tag}" \
|
||||
| jq -r 'first(.manifests[].digest)')
|
||||
digest=$(curl -s \
|
||||
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
|
||||
--header "Authorization: Bearer ${token}" \
|
||||
"https://ghcr.io/v2/${image}/manifests/${multidigest}" \
|
||||
"https://ghcr.io/v2/${image}/manifests/${tag}" \
|
||||
| jq -r '.config.digest')
|
||||
image_info=$(curl -sL \
|
||||
--header "Authorization: Bearer ${token}" \
|
||||
|
|
75
Dockerfile
75
Dockerfile
|
@ -1,78 +1,35 @@
|
|||
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:focal as buildstage
|
||||
|
||||
ARG AUDACITY_VERSION
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
gcc \
|
||||
git \
|
||||
libasound2-dev \
|
||||
libavformat-dev \
|
||||
libgtk2.0-dev \
|
||||
libjack-jackd2-dev && \
|
||||
echo "**** build audacity ****" && \
|
||||
if [ -z ${AUDACITY_VERSION+x} ]; then \
|
||||
AUDACITY_VERSION=$(curl -sX GET "https://api.github.com/repos/audacity/audacity/releases/latest" \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^Audacity-||'); \
|
||||
fi && \
|
||||
mkdir -p /app/audacity/build && \
|
||||
curl -o \
|
||||
/tmp/audacity.tar.xz -L \
|
||||
"https://github.com/audacity/audacity/releases/download/Audacity-${AUDACITY_VERSION}/audacity-minsrc-${AUDACITY_VERSION}.tar.xz" && \
|
||||
tar xf \
|
||||
/tmp/audacity.tar.xz -C \
|
||||
/app/audacity --strip-components=1 && \
|
||||
cd /app/audacity/build && \
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -Daudacity_use_wxwidgets=local -Daudacity_use_ffmpeg=loaded .. && \
|
||||
make -j2 && \
|
||||
make install && \
|
||||
echo "**** cleanup ****" && \
|
||||
apt-get purge --auto-remove -y \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
gcc \
|
||||
git \
|
||||
libasound2-dev \
|
||||
libavformat-dev \
|
||||
libgtk2.0-dev \
|
||||
libjack-jackd2-dev && \
|
||||
mv /app/audacity/build/bin/Release/locale /app/ && \
|
||||
rm -rf /app/audacity
|
||||
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:focal
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
ARG AUDACITY_VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="aptalca"
|
||||
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
echo "**** install build packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
libasound2 \
|
||||
libavformat58 \
|
||||
libgtk2.0-0 \
|
||||
libjack-jackd2-0 \
|
||||
python3-minimal && \
|
||||
libnss3 && \
|
||||
echo "**** install audacity ****" && \
|
||||
if [ -z ${AUDACITY_VERSION+x} ]; then \
|
||||
AUDACITY_VERSION=$(curl -sX GET "https://api.github.com/repos/audacity/audacity/releases/latest" \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^Audacity-||'); \
|
||||
fi && \
|
||||
mkdir -p /app/audacity/ && \
|
||||
curl -o \
|
||||
/app/audacity/audacity -L \
|
||||
"https://github.com/audacity/audacity/releases/download/Audacity-${AUDACITY_VERSION}/audacity-linux-${AUDACITY_VERSION}-x86_64.AppImage" && \
|
||||
chmod +x /app/audacity/audacity && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY /root /
|
||||
COPY --from=buildstage /usr/local/share/audacity /usr/local/share/audacity
|
||||
COPY --from=buildstage /usr/local/lib/audacity /usr/local/lib/audacity
|
||||
COPY --from=buildstage /usr/local/bin/audacity /usr/local/bin/audacity
|
||||
COPY --from=buildstage /app/locale /usr/local/share/locale
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 3000
|
||||
|
|
|
@ -1,79 +0,0 @@
|
|||
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:arm64v8-focal as buildstage
|
||||
|
||||
ARG AUDACITY_VERSION
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
gcc \
|
||||
git \
|
||||
libasound2-dev \
|
||||
libavformat-dev \
|
||||
libgtk2.0-dev \
|
||||
libjack-jackd2-dev && \
|
||||
echo "**** build audacity ****" && \
|
||||
if [ -z ${AUDACITY_VERSION+x} ]; then \
|
||||
AUDACITY_VERSION=$(curl -sX GET "https://api.github.com/repos/audacity/audacity/releases/latest" \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^Audacity-||'); \
|
||||
fi && \
|
||||
mkdir -p /app/audacity/build && \
|
||||
curl -o \
|
||||
/tmp/audacity.tar.xz -L \
|
||||
"https://github.com/audacity/audacity/releases/download/Audacity-${AUDACITY_VERSION}/audacity-minsrc-${AUDACITY_VERSION}.tar.xz" && \
|
||||
tar xf \
|
||||
/tmp/audacity.tar.xz -C \
|
||||
/app/audacity --strip-components=1 && \
|
||||
cd /app/audacity/build && \
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -Daudacity_use_wxwidgets=local -Daudacity_use_ffmpeg=loaded .. && \
|
||||
make -j2 && \
|
||||
make install && \
|
||||
echo "**** cleanup ****" && \
|
||||
apt-get purge --auto-remove -y \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
gcc \
|
||||
git \
|
||||
libasound2-dev \
|
||||
libavformat-dev \
|
||||
libgtk2.0-dev \
|
||||
libjack-jackd2-dev && \
|
||||
mv /app/audacity/build/bin/Release/locale /app/ && \
|
||||
rm -rf /app/audacity
|
||||
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:focal
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="aptalca"
|
||||
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
libasound2 \
|
||||
libavformat58 \
|
||||
libgtk2.0-0 \
|
||||
libjack-jackd2-0 \
|
||||
python3-minimal && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY /root /
|
||||
COPY --from=buildstage /usr/local/share/audacity /usr/local/share/audacity
|
||||
COPY --from=buildstage /usr/local/lib/audacity /usr/local/lib/audacity
|
||||
COPY --from=buildstage /usr/local/bin/audacity /usr/local/bin/audacity
|
||||
COPY --from=buildstage /app/locale /usr/local/share/locale
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 3000
|
||||
VOLUME /config
|
|
@ -1,79 +0,0 @@
|
|||
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:arm32v7-focal as buildstage
|
||||
|
||||
ARG AUDACITY_VERSION
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
gcc \
|
||||
git \
|
||||
libasound2-dev \
|
||||
libavformat-dev \
|
||||
libgtk2.0-dev \
|
||||
libjack-jackd2-dev && \
|
||||
echo "**** build audacity ****" && \
|
||||
if [ -z ${AUDACITY_VERSION+x} ]; then \
|
||||
AUDACITY_VERSION=$(curl -sX GET "https://api.github.com/repos/audacity/audacity/releases/latest" \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]' | sed 's|^Audacity-||'); \
|
||||
fi && \
|
||||
mkdir -p /app/audacity/build && \
|
||||
curl -o \
|
||||
/tmp/audacity.tar.xz -L \
|
||||
"https://github.com/audacity/audacity/releases/download/Audacity-${AUDACITY_VERSION}/audacity-minsrc-${AUDACITY_VERSION}.tar.xz" && \
|
||||
tar xf \
|
||||
/tmp/audacity.tar.xz -C \
|
||||
/app/audacity --strip-components=1 && \
|
||||
cd /app/audacity/build && \
|
||||
cmake -DCMAKE_BUILD_TYPE=Release -Daudacity_use_wxwidgets=local -Daudacity_use_ffmpeg=loaded .. && \
|
||||
make -j2 && \
|
||||
make install && \
|
||||
echo "**** cleanup ****" && \
|
||||
apt-get purge --auto-remove -y \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
gcc \
|
||||
git \
|
||||
libasound2-dev \
|
||||
libavformat-dev \
|
||||
libgtk2.0-dev \
|
||||
libjack-jackd2-dev && \
|
||||
mv /app/audacity/build/bin/Release/locale /app/ && \
|
||||
rm -rf /app/audacity
|
||||
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-rdesktop-web:focal
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="aptalca"
|
||||
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install -y \
|
||||
libasound2 \
|
||||
libavformat58 \
|
||||
libgtk2.0-0 \
|
||||
libjack-jackd2-0 \
|
||||
python3-minimal && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY /root /
|
||||
COPY --from=buildstage /usr/local/share/audacity /usr/local/share/audacity
|
||||
COPY --from=buildstage /usr/local/lib/audacity /usr/local/lib/audacity
|
||||
COPY --from=buildstage /usr/local/bin/audacity /usr/local/bin/audacity
|
||||
COPY --from=buildstage /app/locale /usr/local/share/locale
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 3000
|
||||
VOLUME /config
|
17
Jenkinsfile
vendored
17
Jenkinsfile
vendored
|
@ -24,7 +24,7 @@ pipeline {
|
|||
DEV_DOCKERHUB_IMAGE = 'lsiodev/audacity'
|
||||
PR_DOCKERHUB_IMAGE = 'lspipepr/audacity'
|
||||
DIST_IMAGE = 'ubuntu'
|
||||
MULTIARCH = 'true'
|
||||
MULTIARCH = 'false'
|
||||
CI = 'true'
|
||||
CI_WEB = 'true'
|
||||
CI_PORT = '3000'
|
||||
|
@ -375,7 +375,9 @@ pipeline {
|
|||
// Build Docker container for push to LS Repo
|
||||
stage('Build-Single') {
|
||||
when {
|
||||
environment name: 'MULTIARCH', value: 'false'
|
||||
expression {
|
||||
env.MULTIARCH == 'false' || params.PACKAGE_CHECK == 'true'
|
||||
}
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
steps {
|
||||
|
@ -400,7 +402,10 @@ pipeline {
|
|||
// Build MultiArch Docker containers for push to LS Repo
|
||||
stage('Build-Multi') {
|
||||
when {
|
||||
environment name: 'MULTIARCH', value: 'true'
|
||||
allOf {
|
||||
environment name: 'MULTIARCH', value: 'true'
|
||||
expression { params.PACKAGE_CHECK == 'false' }
|
||||
}
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
parallel {
|
||||
|
@ -505,7 +510,7 @@ pipeline {
|
|||
sh '''#! /bin/bash
|
||||
set -e
|
||||
TEMPDIR=$(mktemp -d)
|
||||
if [ "${MULTIARCH}" == "true" ]; then
|
||||
if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then
|
||||
LOCAL_CONTAINER=${IMAGE}:amd64-${META_TAG}
|
||||
else
|
||||
LOCAL_CONTAINER=${IMAGE}:${META_TAG}
|
||||
|
@ -566,7 +571,7 @@ pipeline {
|
|||
steps {
|
||||
sh '''#! /bin/bash
|
||||
echo "Packages were updated. Cleaning up the image and exiting."
|
||||
if [ "${MULTIARCH}" == "true" ]; then
|
||||
if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then
|
||||
docker rmi ${IMAGE}:amd64-${META_TAG}
|
||||
else
|
||||
docker rmi ${IMAGE}:${META_TAG}
|
||||
|
@ -590,7 +595,7 @@ pipeline {
|
|||
steps {
|
||||
sh '''#! /bin/bash
|
||||
echo "There are no package updates. Cleaning up the image and exiting."
|
||||
if [ "${MULTIARCH}" == "true" ]; then
|
||||
if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then
|
||||
docker rmi ${IMAGE}:amd64-${META_TAG}
|
||||
else
|
||||
docker rmi ${IMAGE}:${META_TAG}
|
||||
|
|
|
@ -44,7 +44,7 @@ Find us at:
|
|||
|
||||
## Supported Architectures
|
||||
|
||||
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
|
||||
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
|
||||
|
||||
Simply pulling `ghcr.io/linuxserver/audacity` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
||||
|
||||
|
@ -53,8 +53,6 @@ The architectures supported by this image are:
|
|||
| Architecture | Tag |
|
||||
| :----: | --- |
|
||||
| x86-64 | latest |
|
||||
| arm64 | arm64v8-latest |
|
||||
| armhf | arm32v7-latest |
|
||||
|
||||
## Application Setup
|
||||
|
||||
|
@ -225,4 +223,5 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||
|
||||
## Versions
|
||||
|
||||
* **14.09.21:** - Use the official appimage, switch to single arch (x86_64). Armhf and aarch64 users can remain on version 3.0.2 but there won't be further updates.
|
||||
* **07.04.21:** - Initial release.
|
||||
|
|
|
@ -16,7 +16,7 @@ repo_vars:
|
|||
- DEV_DOCKERHUB_IMAGE = 'lsiodev/audacity'
|
||||
- PR_DOCKERHUB_IMAGE = 'lspipepr/audacity'
|
||||
- DIST_IMAGE = 'ubuntu'
|
||||
- MULTIARCH = 'true'
|
||||
- MULTIARCH = 'false'
|
||||
- CI = 'true'
|
||||
- CI_WEB = 'true'
|
||||
- CI_PORT = '3000'
|
||||
|
|
|
@ -11,8 +11,6 @@ project_blurb_optional_extras_enabled: false
|
|||
# supported architectures
|
||||
available_architectures:
|
||||
- { arch: "{{ arch_x86_64 }}", tag: "latest"}
|
||||
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
|
||||
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
|
||||
|
||||
# development version
|
||||
development_versions: false
|
||||
|
@ -43,4 +41,5 @@ app_setup_block: |
|
|||
|
||||
# changelog
|
||||
changelogs:
|
||||
- { date: "14.09.21:", desc: "Use the official appimage, switch to single arch (x86_64). Armhf and aarch64 users can remain on version 3.0.2 but there won't be further updates." }
|
||||
- { date: "07.04.21:", desc: "Initial release." }
|
||||
|
|
|
@ -1 +1 @@
|
|||
LD_LIBRARY_PATH="/usr/local/lib/audacity" audacity
|
||||
/app/audacity/audacity --appimage-extract-and-run
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue