Merge pull request #57 from linuxserver/3.17

This commit is contained in:
Adam 2023-02-25 15:55:41 +00:00 committed by GitHub
commit 4239b5d33d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 177 additions and 178 deletions

View file

@ -1,8 +1,11 @@
FROM ghcr.io/linuxserver/baseimage-alpine:3.15 # syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine:3.17
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
ARG VERSION ARG VERSION
ARG HEADPHONES_COMMIT
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="aptalca" LABEL maintainer="aptalca"
# hard set UTC in case the user does not define it # hard set UTC in case the user does not define it
@ -12,41 +15,49 @@ ENV TZ="Etc/UTC"
COPY patches/ /tmp/patches/ COPY patches/ /tmp/patches/
RUN \ RUN \
echo "**** install build packages ****" && \ echo "**** install build packages ****" && \
apk add --no-cache --virtual=build-dependencies \ apk add --no-cache --virtual=build-dependencies \
g++ \ build-base && \
gcc \ echo "**** install runtime packages ****" && \
make && \ apk add --no-cache \
echo "**** install runtime packages ****" && \ ffmpeg \
apk add --no-cache \ flac \
ffmpeg \ mc \
flac \ python3 && \
git \ echo "**** compile shntool *** *" && \
mc \ mkdir -p \
python3 && \ /tmp/shntool && \
echo "**** compile shntool *** *" && \ tar xf /tmp/patches/shntool-3.0.10.tar.gz -C \
mkdir -p \ /tmp/shntool --strip-components=1 && \
/tmp/shntool && \ cp /tmp/patches/config.* /tmp/shntool && \
tar xf /tmp/patches/shntool-3.0.10.tar.gz -C \ cd /tmp/shntool && \
/tmp/shntool --strip-components=1 && \ ./configure \
cp /tmp/patches/config.* /tmp/shntool && \ --infodir=/usr/share/info \
cd /tmp/shntool && \ --localstatedir=/var \
./configure \ --mandir=/usr/share/man \
--infodir=/usr/share/info \ --prefix=/usr \
--localstatedir=/var \ --sysconfdir=/etc && \
--mandir=/usr/share/man \ make && \
--prefix=/usr \ make install && \
--sysconfdir=/etc && \ echo "**** install headphones ****" && \
make && \ mkdir -p /app/headphones && \
make install && \ if [ -z ${HEADPHONES_COMMIT+x} ] ; then \
echo "**** install app ****" && \ HEADPHONES_COMMIT=$(curl -sX GET "https://api.github.com/repos/rembo10/headphones/commits/master" \
git clone --depth 1 https://github.com/rembo10/headphones.git /app/headphones && \ | jq -r .sha); \
echo "**** cleanup ****" && \ fi && \
apk del --purge \ curl -o \
build-dependencies && \ /tmp/headphones.tar.gz -sL \
rm -rf \ "https://github.com/rembo10/headphones/archive/${HEADPHONES_COMMIT}.tar.gz" && \
/tmp/* \ tar xf \
/usr/lib/*.la /tmp/headphones.tar.gz -C \
/app/headphones --strip-components=1 && \
echo ${HEADPHONES_COMMIT} > /app/headphones/version.txt && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/tmp/* \
/usr/lib/*.la
# add local files # add local files
COPY root/ / COPY root/ /

View file

@ -1,8 +1,11 @@
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.15 # syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.17
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
ARG VERSION ARG VERSION
ARG HEADPHONES_COMMIT
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="aptalca" LABEL maintainer="aptalca"
# hard set UTC in case the user does not define it # hard set UTC in case the user does not define it
@ -12,41 +15,49 @@ ENV TZ="Etc/UTC"
COPY patches/ /tmp/patches/ COPY patches/ /tmp/patches/
RUN \ RUN \
echo "**** install build packages ****" && \ echo "**** install build packages ****" && \
apk add --no-cache --virtual=build-dependencies \ apk add --no-cache --virtual=build-dependencies \
g++ \ build-base && \
gcc \ echo "**** install runtime packages ****" && \
make && \ apk add --no-cache \
echo "**** install runtime packages ****" && \ ffmpeg \
apk add --no-cache \ flac \
ffmpeg \ mc \
flac \ python3 && \
git \ echo "**** compile shntool *** *" && \
mc \ mkdir -p \
python3 && \ /tmp/shntool && \
echo "**** compile shntool *** *" && \ tar xf /tmp/patches/shntool-3.0.10.tar.gz -C \
mkdir -p \ /tmp/shntool --strip-components=1 && \
/tmp/shntool && \ cp /tmp/patches/config.* /tmp/shntool && \
tar xf /tmp/patches/shntool-3.0.10.tar.gz -C \ cd /tmp/shntool && \
/tmp/shntool --strip-components=1 && \ ./configure \
cp /tmp/patches/config.* /tmp/shntool && \ --infodir=/usr/share/info \
cd /tmp/shntool && \ --localstatedir=/var \
./configure \ --mandir=/usr/share/man \
--infodir=/usr/share/info \ --prefix=/usr \
--localstatedir=/var \ --sysconfdir=/etc && \
--mandir=/usr/share/man \ make && \
--prefix=/usr \ make install && \
--sysconfdir=/etc && \ echo "**** install headphones ****" && \
make && \ mkdir -p /app/headphones && \
make install && \ if [ -z ${HEADPHONES_COMMIT+x} ] ; then \
echo "**** install app ****" && \ HEADPHONES_COMMIT=$(curl -sX GET "https://api.github.com/repos/rembo10/headphones/commits/master" \
git clone --depth 1 https://github.com/rembo10/headphones.git /app/headphones && \ | jq -r .sha); \
echo "**** cleanup ****" && \ fi && \
apk del --purge \ curl -o \
build-dependencies && \ /tmp/headphones.tar.gz -sL \
rm -rf \ "https://github.com/rembo10/headphones/archive/${HEADPHONES_COMMIT}.tar.gz" && \
/tmp/* \ tar xf \
/usr/lib/*.la /tmp/headphones.tar.gz -C \
/app/headphones --strip-components=1 && \
echo ${HEADPHONES_COMMIT} > /app/headphones/version.txt && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/tmp/* \
/usr/lib/*.la
# add local files # add local files
COPY root/ / COPY root/ /

View file

@ -1,8 +1,11 @@
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.15 # syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine:arm32v7-3.17
# set version label # set version label
ARG BUILD_DATE ARG BUILD_DATE
ARG VERSION ARG VERSION
ARG HEADPHONES_COMMIT
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
LABEL maintainer="aptalca" LABEL maintainer="aptalca"
# hard set UTC in case the user does not define it # hard set UTC in case the user does not define it
@ -12,41 +15,49 @@ ENV TZ="Etc/UTC"
COPY patches/ /tmp/patches/ COPY patches/ /tmp/patches/
RUN \ RUN \
echo "**** install build packages ****" && \ echo "**** install build packages ****" && \
apk add --no-cache --virtual=build-dependencies \ apk add --no-cache --virtual=build-dependencies \
g++ \ build-base && \
gcc \ echo "**** install runtime packages ****" && \
make && \ apk add --no-cache \
echo "**** install runtime packages ****" && \ ffmpeg \
apk add --no-cache \ flac \
ffmpeg \ mc \
flac \ python3 && \
git \ echo "**** compile shntool *** *" && \
mc \ mkdir -p \
python3 && \ /tmp/shntool && \
echo "**** compile shntool *** *" && \ tar xf /tmp/patches/shntool-3.0.10.tar.gz -C \
mkdir -p \ /tmp/shntool --strip-components=1 && \
/tmp/shntool && \ cp /tmp/patches/config.* /tmp/shntool && \
tar xf /tmp/patches/shntool-3.0.10.tar.gz -C \ cd /tmp/shntool && \
/tmp/shntool --strip-components=1 && \ ./configure \
cp /tmp/patches/config.* /tmp/shntool && \ --infodir=/usr/share/info \
cd /tmp/shntool && \ --localstatedir=/var \
./configure \ --mandir=/usr/share/man \
--infodir=/usr/share/info \ --prefix=/usr \
--localstatedir=/var \ --sysconfdir=/etc && \
--mandir=/usr/share/man \ make && \
--prefix=/usr \ make install && \
--sysconfdir=/etc && \ echo "**** install headphones ****" && \
make && \ mkdir -p /app/headphones && \
make install && \ if [ -z ${HEADPHONES_COMMIT+x} ] ; then \
echo "**** install app ****" && \ HEADPHONES_COMMIT=$(curl -sX GET "https://api.github.com/repos/rembo10/headphones/commits/master" \
git clone --depth 1 https://github.com/rembo10/headphones.git /app/headphones && \ | jq -r .sha); \
echo "**** cleanup ****" && \ fi && \
apk del --purge \ curl -o \
build-dependencies && \ /tmp/headphones.tar.gz -sL \
rm -rf \ "https://github.com/rembo10/headphones/archive/${HEADPHONES_COMMIT}.tar.gz" && \
/tmp/* \ tar xf \
/usr/lib/*.la /tmp/headphones.tar.gz -C \
/app/headphones --strip-components=1 && \
echo ${HEADPHONES_COMMIT} > /app/headphones/version.txt && \
echo "**** cleanup ****" && \
apk del --purge \
build-dependencies && \
rm -rf \
/tmp/* \
/usr/lib/*.la
# add local files # add local files
COPY root/ / COPY root/ /

View file

@ -76,9 +76,9 @@ services:
- PGID=1000 - PGID=1000
- TZ=Etc/UTC - TZ=Etc/UTC
volumes: volumes:
- </path/to/appdata/config>:/config - /path/to/appdata/config:/config
- </path/to/downloads>:/downloads - /path/to/downloads:/downloads
- </path/to/music>:/music - /path/to/music:/music
ports: ports:
- 8181:8181 - 8181:8181
restart: unless-stopped restart: unless-stopped
@ -93,9 +93,9 @@ docker run -d \
-e PGID=1000 \ -e PGID=1000 \
-e TZ=Etc/UTC \ -e TZ=Etc/UTC \
-p 8181:8181 \ -p 8181:8181 \
-v </path/to/appdata/config>:/config \ -v /path/to/appdata/config:/config \
-v </path/to/downloads>:/downloads \ -v /path/to/downloads:/downloads \
-v </path/to/music>:/music \ -v /path/to/music:/music \
--restart unless-stopped \ --restart unless-stopped \
lscr.io/linuxserver/headphones:latest lscr.io/linuxserver/headphones:latest
@ -224,6 +224,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions ## Versions
* **23.02.23:** - Rebase to Alpine 3.17, migrate to s6v3.
* **02.02.22:** - Rebasing to alpine 3.15. Updating to Python 3. * **02.02.22:** - Rebasing to alpine 3.15. Updating to Python 3.
* **19.12.19:** - Rebasing to alpine 3.11. * **19.12.19:** - Rebasing to alpine 3.11.
* **28.06.19:** - Rebasing to alpine 3.10. * **28.06.19:** - Rebasing to alpine 3.10.

View file

@ -7,75 +7,31 @@ project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/ma
project_blurb: "[{{ project_name|capitalize }}]({{ project_url }}) is an automated music downloader for NZB and Torrent, written in Python. It supports SABnzbd, NZBget, Transmission, µTorrent and Blackhole." project_blurb: "[{{ project_name|capitalize }}]({{ project_url }}) is an automated music downloader for NZB and Torrent, written in Python. It supports SABnzbd, NZBget, Transmission, µTorrent and Blackhole."
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}" project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
project_blurb_optional_extras_enabled: false
project_blurb_optional_extras: []
# supported architectures # supported architectures
available_architectures: available_architectures:
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"} - { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"} - { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"} - { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
# development version
development_versions: false
development_versions_items:
- { tag: "latest", desc: "Stable Ombi releases" }
- { tag: "development", desc: "Releases from the `develop` branch of Ombi" }
# container parameters # container parameters
common_param_env_vars_enabled: true #PGID, PUID, etc, you can set it to 'optional' common_param_env_vars_enabled: true #PGID, PUID, etc, you can set it to 'optional'
param_container_name: "{{ project_name }}" param_container_name: "{{ project_name }}"
param_usage_include_net: false #you can set it to 'optional'
param_net: "host"
param_net_desc: "Shares host networking with container."
param_usage_include_env: true param_usage_include_env: true
param_env_vars: param_env_vars:
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." } - { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
param_usage_include_vols: true param_usage_include_vols: true
param_volumes: param_volumes:
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Configuration files." } - { vol_path: "/config", vol_host_path: "/path/to/appdata/config", desc: "Configuration files." }
- { vol_path: "/downloads", vol_host_path: "</path/to/downloads>", desc: "ISOs." } - { vol_path: "/downloads", vol_host_path: "/path/to/downloads", desc: "ISOs." }
- { vol_path: "/music", vol_host_path: "</path/to/music>", desc: "Your music directory." } - { vol_path: "/music", vol_host_path: "/path/to/music", desc: "Your music directory." }
param_usage_include_ports: true param_usage_include_ports: true
param_ports: param_ports:
- { external_port: "8181", internal_port: "8181", port_desc: "Application WebUI" } - { external_port: "8181", internal_port: "8181", port_desc: "Application WebUI" }
param_device_map: false
param_devices:
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding" }
cap_add_param: false
cap_add_param_vars:
- { cap_add_var: "NET_ADMIN" }
# optional container parameters
opt_param_usage_include_env: false
opt_param_env_vars:
- { env_var: "VERSION", env_value: "latest", desc: "Supported values are LATEST, PLEXPASS or a specific version number." }
opt_param_usage_include_vols: false
opt_param_volumes:
- { vol_path: "/config", vol_host_path: "</path/to/appdata/config>", desc: "Configuration files." }
opt_param_usage_include_ports: false
opt_param_ports:
- { external_port: "80", internal_port: "80", port_desc: "Application WebUI" }
opt_param_device_map: false
opt_param_devices:
- { device_path: "/dev/dri", device_host_path: "/dev/dri", desc: "For hardware transcoding" }
opt_cap_add_param: false
opt_cap_add_param_vars:
- { cap_add_var: "NET_ADMIN" }
optional_block_1: false
optional_block_1_items:
- "```"
- "include optional stuff"
- "```"
# application setup block
app_setup_block_enabled: false
app_setup_block: ""
# changelog # changelog
changelogs: changelogs:
- { date: "23.02.23:", desc: "Rebase to Alpine 3.17, migrate to s6v3." }
- { date: "02.02.22:", desc: "Rebasing to alpine 3.15. Updating to Python 3." } - { date: "02.02.22:", desc: "Rebasing to alpine 3.15. Updating to Python 3." }
- { date: "19.12.19:", desc: "Rebasing to alpine 3.11." } - { date: "19.12.19:", desc: "Rebasing to alpine 3.11." }
- { date: "28.06.19:", desc: "Rebasing to alpine 3.10." } - { date: "28.06.19:", desc: "Rebasing to alpine 3.10." }

View file

@ -1,10 +0,0 @@
#!/usr/bin/with-contenv bash
# copy config
[[ ! -e /config/config.ini ]] && \
cp /defaults/config.ini /config/config.ini
# permissions
chown -R abc:abc \
/app \
/config

View file

@ -0,0 +1,11 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
# copy config
if [[ ! -f /config/config.ini ]]; then
cp /defaults/config.ini /config/config.ini
fi
# permissions
lsiown -R abc:abc \
/config

View file

@ -0,0 +1 @@
oneshot

View file

@ -0,0 +1 @@
/etc/s6-overlay/s6-rc.d/init-headphones-config/run

View file

@ -0,0 +1 @@
3

View file

@ -0,0 +1,9 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
PORT=$(grep "http_port" '/config/config.ini' | awk -F '=' '{print $2}' | tr -d ' ')
exec \
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost ${PORT}" \
s6-setuidgid abc python3 /app/headphones/Headphones.py \
--datadir=/config

View file

@ -0,0 +1 @@
longrun

View file

@ -1,5 +0,0 @@
#!/usr/bin/with-contenv bash
exec \
s6-setuidgid abc python3 /app/headphones/Headphones.py \
--datadir=/config