Skip to content

Commit 5a97560

Browse files
authored
Merge pull request #29 from linuxserver/main-arm
Add arm builds for latest tag
2 parents ac4ab15 + a43bfda commit 5a97560

File tree

6 files changed

+59
-9
lines changed

6 files changed

+59
-9
lines changed

.github/ISSUE_TEMPLATE/issue.bug.yml

+1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ body:
5252
label: CPU architecture
5353
options:
5454
- x86-64
55+
- arm64
5556
validations:
5657
required: true
5758
- type: textarea

Dockerfile.aarch64

+48
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# syntax=docker/dockerfile:1
2+
3+
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-noble
4+
5+
# set version label
6+
ARG BUILD_DATE
7+
ARG VERSION
8+
ARG WHISPER_VERSION
9+
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
10+
LABEL maintainer="thespad"
11+
12+
ENV HOME=/config \
13+
DEBIAN_FRONTEND="noninteractive" \
14+
TMPDIR="/run/whisper-temp"
15+
16+
RUN \
17+
echo "**** install packages ****" && \
18+
apt-get update && \
19+
apt-get install -y --no-install-recommends \
20+
build-essential \
21+
git \
22+
python3-dev \
23+
python3-venv && \
24+
if [ -z ${WHISPER_VERSION+x} ]; then \
25+
WHISPER_VERSION=$(curl -sX GET "https://api.github.com/repos/rhasspy/wyoming-faster-whisper/releases/latest" \
26+
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
27+
fi && \
28+
python3 -m venv /lsiopy && \
29+
pip install -U --no-cache-dir \
30+
pip \
31+
wheel && \
32+
pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/ubuntu/ \
33+
git+https://github.com/rhasspy/wyoming-faster-whisper@${WHISPER_VERSION} && \
34+
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
35+
echo "**** cleanup ****" && \
36+
apt-get purge -y --auto-remove \
37+
build-essential \
38+
git \
39+
python3-dev && \
40+
rm -rf \
41+
/var/lib/apt/lists/* \
42+
/tmp/*
43+
44+
COPY root/ /
45+
46+
VOLUME /config
47+
48+
EXPOSE 10300

Jenkinsfile

+1-1
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ pipeline {
3030
DEV_DOCKERHUB_IMAGE = 'lsiodev/faster-whisper'
3131
PR_DOCKERHUB_IMAGE = 'lspipepr/faster-whisper'
3232
DIST_IMAGE = 'ubuntu'
33-
MULTIARCH='false'
33+
MULTIARCH='true'
3434
CI='true'
3535
CI_WEB='false'
3636
CI_DELAY='120'

README.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ The architectures supported by this image are:
5454
| Architecture | Available | Tag |
5555
| :----: | :----: | ---- |
5656
| x86-64 || amd64-\<version tag\> |
57-
| arm64 | | |
57+
| arm64 | | arm64v8-\<version tag\> |
5858
| armhf || |
5959

6060
## Version Tags
@@ -64,7 +64,7 @@ This image provides various versions that are available via tags. Please read th
6464
| Tag | Available | Description |
6565
| :----: | :----: |--- |
6666
| latest || Stable releases |
67-
| gpu || Releases with Nvidia GPU support |
67+
| gpu || Releases with Nvidia GPU support (amd64 only) |
6868

6969
## Application Setup
7070

@@ -134,7 +134,7 @@ Containers are configured using parameters passed at runtime (such as those abov
134134
| `-e PUID=1000` | for UserID - see below for explanation |
135135
| `-e PGID=1000` | for GroupID - see below for explanation |
136136
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
137-
| `-e WHISPER_MODEL=tiny-int8` | Whisper model that will be used for transcription. From `tiny`, `base`, `small` and `medium`, all with `-int8` compressed variants |
137+
| `-e WHISPER_MODEL=tiny-int8` | Whisper model that will be used for transcription. From [here](https://github.com/SYSTRAN/faster-whisper/blob/master/faster_whisper/utils.py#L12-L31), all with `-int8` compressed variants |
138138
| `-e WHISPER_BEAM=1` | Number of candidates to consider simultaneously during transcription. |
139139
| `-e WHISPER_LANG=en` | Language that you will speak to the add-on. |
140140
| `-v /config` | Local path for Whisper config files. |
@@ -302,6 +302,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
302302

303303
## Versions
304304

305+
* **30.12.24:** - Add arm64 support for non-GPU builds.
305306
* **05.12.24:** - Build from Github releases rather than Pypi.
306307
* **18.07.24:** - Rebase to Ubuntu Noble.
307308
* **19.05.24:** - Bump CUDA to 12 on GPU branch.

jenkins-vars.yml

+1-3
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ external_type: github_stable
66
release_type: stable
77
release_tag: latest
88
ls_branch: main
9-
image_sbom: true
10-
image_provenance: true
119
repo_vars:
1210
- EXT_GIT_BRANCH = 'master'
1311
- EXT_USER = 'rhasspy'
@@ -20,7 +18,7 @@ repo_vars:
2018
- DEV_DOCKERHUB_IMAGE = 'lsiodev/faster-whisper'
2119
- PR_DOCKERHUB_IMAGE = 'lspipepr/faster-whisper'
2220
- DIST_IMAGE = 'ubuntu'
23-
- MULTIARCH='false'
21+
- MULTIARCH='true'
2422
- CI='true'
2523
- CI_WEB='false'
2624
- CI_DELAY='120'

readme-vars.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,18 @@ project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_
99
# supported architectures
1010
available_architectures:
1111
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
12+
- {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
1213
# development version
1314
development_versions: true
1415
development_versions_items:
1516
- {tag: "latest", desc: "Stable releases"}
16-
- {tag: "gpu", desc: "Releases with Nvidia GPU support"}
17+
- {tag: "gpu", desc: "Releases with Nvidia GPU support (amd64 only)"}
1718
# container parameters
1819
common_param_env_vars_enabled: true
1920
param_container_name: "{{ project_name }}"
2021
param_usage_include_env: true
2122
param_env_vars:
22-
- {env_var: "WHISPER_MODEL", env_value: "tiny-int8", desc: "Whisper model that will be used for transcription. From `tiny`, `base`, `small` and `medium`, all with `-int8` compressed variants", env_options: ["tiny-int8", "tiny", "base-int8", "base", "small-int8", "small", "medium-int8"]}
23+
- {env_var: "WHISPER_MODEL", env_value: "tiny-int8", desc: "Whisper model that will be used for transcription. From [here](https://github.com/SYSTRAN/faster-whisper/blob/master/faster_whisper/utils.py#L12-L31), all with `-int8` compressed variants"}
2324
param_usage_include_vols: true
2425
param_volumes:
2526
- {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/data", desc: "Local path for Whisper config files."}
@@ -81,6 +82,7 @@ init_diagram: |
8182
"faster-whisper:latest" <- Base Images
8283
# changelog
8384
changelogs:
85+
- {date: "30.12.24:", desc: "Add arm64 support for non-GPU builds."}
8486
- {date: "05.12.24:", desc: "Build from Github releases rather than Pypi."}
8587
- {date: "18.07.24:", desc: "Rebase to Ubuntu Noble."}
8688
- {date: "19.05.24:", desc: "Bump CUDA to 12 on GPU branch."}

0 commit comments

Comments
 (0)