Rebase to 3.17, migrate to s6v3
This commit is contained in:
parent
597755de12
commit
2d27dff44e
18 changed files with 174 additions and 178 deletions
82
Dockerfile
82
Dockerfile
|
@ -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
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
ARG HEADPHONES_COMMIT
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="aptalca"
|
||||
# hard set UTC in case the user does not define it
|
||||
|
@ -12,41 +15,48 @@ ENV TZ="Etc/UTC"
|
|||
COPY patches/ /tmp/patches/
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache --virtual=build-dependencies \
|
||||
g++ \
|
||||
gcc \
|
||||
make && \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache \
|
||||
ffmpeg \
|
||||
flac \
|
||||
git \
|
||||
mc \
|
||||
python3 && \
|
||||
echo "**** compile shntool *** *" && \
|
||||
mkdir -p \
|
||||
/tmp/shntool && \
|
||||
tar xf /tmp/patches/shntool-3.0.10.tar.gz -C \
|
||||
/tmp/shntool --strip-components=1 && \
|
||||
cp /tmp/patches/config.* /tmp/shntool && \
|
||||
cd /tmp/shntool && \
|
||||
./configure \
|
||||
--infodir=/usr/share/info \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/share/man \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc && \
|
||||
make && \
|
||||
make install && \
|
||||
echo "**** install app ****" && \
|
||||
git clone --depth 1 https://github.com/rembo10/headphones.git /app/headphones && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/usr/lib/*.la
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache --virtual=build-dependencies \
|
||||
build-base && \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache \
|
||||
ffmpeg \
|
||||
flac \
|
||||
mc \
|
||||
python3 && \
|
||||
echo "**** compile shntool *** *" && \
|
||||
mkdir -p \
|
||||
/tmp/shntool && \
|
||||
tar xf /tmp/patches/shntool-3.0.10.tar.gz -C \
|
||||
/tmp/shntool --strip-components=1 && \
|
||||
cp /tmp/patches/config.* /tmp/shntool && \
|
||||
cd /tmp/shntool && \
|
||||
./configure \
|
||||
--infodir=/usr/share/info \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/share/man \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc && \
|
||||
make && \
|
||||
make install && \
|
||||
echo "**** install headphones ****" && \
|
||||
mkdir -p /app/headphones && \
|
||||
if [ -z ${HEADPHONES_COMMIT+x} ] ; then \
|
||||
HEADPHONES_COMMIT=$(curl -sX GET "https://api.github.com/repos/rembo10/headphones/commits/master" \
|
||||
| jq -r .sha); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/headphones.tar.gz -sL \
|
||||
"https://github.com/rembo10/headphones/archive/${HEADPHONES_COMMIT}.tar.gz" && \
|
||||
tar xf \
|
||||
/tmp/headphones.tar.gz -C \
|
||||
/app/headphones --strip-components=1 && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/usr/lib/*.la
|
||||
|
||||
# add local files
|
||||
COPY root/ /
|
||||
|
|
|
@ -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
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
ARG HEADPHONES_COMMIT
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="aptalca"
|
||||
# hard set UTC in case the user does not define it
|
||||
|
@ -12,41 +15,48 @@ ENV TZ="Etc/UTC"
|
|||
COPY patches/ /tmp/patches/
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache --virtual=build-dependencies \
|
||||
g++ \
|
||||
gcc \
|
||||
make && \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache \
|
||||
ffmpeg \
|
||||
flac \
|
||||
git \
|
||||
mc \
|
||||
python3 && \
|
||||
echo "**** compile shntool *** *" && \
|
||||
mkdir -p \
|
||||
/tmp/shntool && \
|
||||
tar xf /tmp/patches/shntool-3.0.10.tar.gz -C \
|
||||
/tmp/shntool --strip-components=1 && \
|
||||
cp /tmp/patches/config.* /tmp/shntool && \
|
||||
cd /tmp/shntool && \
|
||||
./configure \
|
||||
--infodir=/usr/share/info \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/share/man \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc && \
|
||||
make && \
|
||||
make install && \
|
||||
echo "**** install app ****" && \
|
||||
git clone --depth 1 https://github.com/rembo10/headphones.git /app/headphones && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/usr/lib/*.la
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache --virtual=build-dependencies \
|
||||
build-base && \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache \
|
||||
ffmpeg \
|
||||
flac \
|
||||
mc \
|
||||
python3 && \
|
||||
echo "**** compile shntool *** *" && \
|
||||
mkdir -p \
|
||||
/tmp/shntool && \
|
||||
tar xf /tmp/patches/shntool-3.0.10.tar.gz -C \
|
||||
/tmp/shntool --strip-components=1 && \
|
||||
cp /tmp/patches/config.* /tmp/shntool && \
|
||||
cd /tmp/shntool && \
|
||||
./configure \
|
||||
--infodir=/usr/share/info \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/share/man \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc && \
|
||||
make && \
|
||||
make install && \
|
||||
echo "**** install headphones ****" && \
|
||||
mkdir -p /app/headphones && \
|
||||
if [ -z ${HEADPHONES_COMMIT+x} ] ; then \
|
||||
HEADPHONES_COMMIT=$(curl -sX GET "https://api.github.com/repos/rembo10/headphones/commits/master" \
|
||||
| jq -r .sha); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/headphones.tar.gz -sL \
|
||||
"https://github.com/rembo10/headphones/archive/${HEADPHONES_COMMIT}.tar.gz" && \
|
||||
tar xf \
|
||||
/tmp/headphones.tar.gz -C \
|
||||
/app/headphones --strip-components=1 && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/usr/lib/*.la
|
||||
|
||||
# add local files
|
||||
COPY root/ /
|
||||
|
|
|
@ -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
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
ARG HEADPHONES_COMMIT
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="aptalca"
|
||||
# hard set UTC in case the user does not define it
|
||||
|
@ -12,41 +15,48 @@ ENV TZ="Etc/UTC"
|
|||
COPY patches/ /tmp/patches/
|
||||
|
||||
RUN \
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache --virtual=build-dependencies \
|
||||
g++ \
|
||||
gcc \
|
||||
make && \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache \
|
||||
ffmpeg \
|
||||
flac \
|
||||
git \
|
||||
mc \
|
||||
python3 && \
|
||||
echo "**** compile shntool *** *" && \
|
||||
mkdir -p \
|
||||
/tmp/shntool && \
|
||||
tar xf /tmp/patches/shntool-3.0.10.tar.gz -C \
|
||||
/tmp/shntool --strip-components=1 && \
|
||||
cp /tmp/patches/config.* /tmp/shntool && \
|
||||
cd /tmp/shntool && \
|
||||
./configure \
|
||||
--infodir=/usr/share/info \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/share/man \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc && \
|
||||
make && \
|
||||
make install && \
|
||||
echo "**** install app ****" && \
|
||||
git clone --depth 1 https://github.com/rembo10/headphones.git /app/headphones && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/usr/lib/*.la
|
||||
echo "**** install build packages ****" && \
|
||||
apk add --no-cache --virtual=build-dependencies \
|
||||
build-base && \
|
||||
echo "**** install runtime packages ****" && \
|
||||
apk add --no-cache \
|
||||
ffmpeg \
|
||||
flac \
|
||||
mc \
|
||||
python3 && \
|
||||
echo "**** compile shntool *** *" && \
|
||||
mkdir -p \
|
||||
/tmp/shntool && \
|
||||
tar xf /tmp/patches/shntool-3.0.10.tar.gz -C \
|
||||
/tmp/shntool --strip-components=1 && \
|
||||
cp /tmp/patches/config.* /tmp/shntool && \
|
||||
cd /tmp/shntool && \
|
||||
./configure \
|
||||
--infodir=/usr/share/info \
|
||||
--localstatedir=/var \
|
||||
--mandir=/usr/share/man \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc && \
|
||||
make && \
|
||||
make install && \
|
||||
echo "**** install headphones ****" && \
|
||||
mkdir -p /app/headphones && \
|
||||
if [ -z ${HEADPHONES_COMMIT+x} ] ; then \
|
||||
HEADPHONES_COMMIT=$(curl -sX GET "https://api.github.com/repos/rembo10/headphones/commits/master" \
|
||||
| jq -r .sha); \
|
||||
fi && \
|
||||
curl -o \
|
||||
/tmp/headphones.tar.gz -sL \
|
||||
"https://github.com/rembo10/headphones/archive/${HEADPHONES_COMMIT}.tar.gz" && \
|
||||
tar xf \
|
||||
/tmp/headphones.tar.gz -C \
|
||||
/app/headphones --strip-components=1 && \
|
||||
echo "**** cleanup ****" && \
|
||||
apk del --purge \
|
||||
build-dependencies && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/usr/lib/*.la
|
||||
|
||||
# add local files
|
||||
COPY root/ /
|
||||
|
|
13
README.md
13
README.md
|
@ -76,9 +76,9 @@ services:
|
|||
- PGID=1000
|
||||
- TZ=Etc/UTC
|
||||
volumes:
|
||||
- </path/to/appdata/config>:/config
|
||||
- </path/to/downloads>:/downloads
|
||||
- </path/to/music>:/music
|
||||
- /path/to/appdata/config:/config
|
||||
- /path/to/downloads:/downloads
|
||||
- /path/to/music:/music
|
||||
ports:
|
||||
- 8181:8181
|
||||
restart: unless-stopped
|
||||
|
@ -93,9 +93,9 @@ docker run -d \
|
|||
-e PGID=1000 \
|
||||
-e TZ=Etc/UTC \
|
||||
-p 8181:8181 \
|
||||
-v </path/to/appdata/config>:/config \
|
||||
-v </path/to/downloads>:/downloads \
|
||||
-v </path/to/music>:/music \
|
||||
-v /path/to/appdata/config:/config \
|
||||
-v /path/to/downloads:/downloads \
|
||||
-v /path/to/music:/music \
|
||||
--restart unless-stopped \
|
||||
lscr.io/linuxserver/headphones:latest
|
||||
|
||||
|
@ -224,6 +224,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||
|
||||
## Versions
|
||||
|
||||
* **23.02.23:** - Rebase to Alpine 3.17, migrate to s6v3.
|
||||
* **02.02.22:** - Rebasing to alpine 3.15. Updating to Python 3.
|
||||
* **19.12.19:** - Rebasing to alpine 3.11.
|
||||
* **28.06.19:** - Rebasing to alpine 3.10.
|
||||
|
|
|
@ -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_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
|
||||
|
||||
project_blurb_optional_extras_enabled: false
|
||||
project_blurb_optional_extras: []
|
||||
|
||||
# supported architectures
|
||||
available_architectures:
|
||||
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
|
||||
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-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
|
||||
common_param_env_vars_enabled: true #PGID, PUID, etc, you can set it to 'optional'
|
||||
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_env_vars:
|
||||
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
|
||||
param_usage_include_vols: true
|
||||
param_volumes:
|
||||
- { 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: "/music", vol_host_path: "</path/to/music>", desc: "Your music directory." }
|
||||
- { 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: "/music", vol_host_path: "/path/to/music", desc: "Your music directory." }
|
||||
param_usage_include_ports: true
|
||||
param_ports:
|
||||
- { 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
|
||||
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: "19.12.19:", desc: "Rebasing to alpine 3.11." }
|
||||
- { date: "28.06.19:", desc: "Rebasing to alpine 3.10." }
|
||||
|
|
|
@ -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
|
11
root/etc/s6-overlay/s6-rc.d/init-headphones-config/run
Executable file
11
root/etc/s6-overlay/s6-rc.d/init-headphones-config/run
Executable 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
|
1
root/etc/s6-overlay/s6-rc.d/init-headphones-config/type
Normal file
1
root/etc/s6-overlay/s6-rc.d/init-headphones-config/type
Normal file
|
@ -0,0 +1 @@
|
|||
oneshot
|
1
root/etc/s6-overlay/s6-rc.d/init-headphones-config/up
Normal file
1
root/etc/s6-overlay/s6-rc.d/init-headphones-config/up
Normal file
|
@ -0,0 +1 @@
|
|||
/etc/s6-overlay/s6-rc.d/init-headphones-config/run
|
|
@ -0,0 +1 @@
|
|||
3
|
9
root/etc/s6-overlay/s6-rc.d/svc-headphones/run
Executable file
9
root/etc/s6-overlay/s6-rc.d/svc-headphones/run
Executable 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
|
1
root/etc/s6-overlay/s6-rc.d/svc-headphones/type
Normal file
1
root/etc/s6-overlay/s6-rc.d/svc-headphones/type
Normal file
|
@ -0,0 +1 @@
|
|||
longrun
|
|
@ -1,5 +0,0 @@
|
|||
#!/usr/bin/with-contenv bash
|
||||
|
||||
exec \
|
||||
s6-setuidgid abc python3 /app/headphones/Headphones.py \
|
||||
--datadir=/config
|
Loading…
Add table
Reference in a new issue