-
Notifications
You must be signed in to change notification settings - Fork 173
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update container build for Debian and Ubuntu
- Loading branch information
Showing
4 changed files
with
155 additions
and
77 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,56 +1,95 @@ | ||
# Build with: | ||
# docker build --pull -t svxlink-debian-build . | ||
# | ||
# Run with: | ||
# docker run -it --rm --hostname debian-build svxlink-debian-build | ||
# Build container image with: | ||
# podman build --pull -t svxlink-debian-build . | ||
# | ||
# Optional build arguments: | ||
# --build-arg=FROM=<base image> | ||
# --build-arg=SOUNDS_VER=<sound pack version> | ||
# --build-arg=SOUNDS_LANG=<sound pack language> | ||
# --build-arg=SOUNDS_VOICE=<sound pack voice> | ||
# --build-arg=SOUNDS_RATE=<sound pack sample rate> | ||
# --build-arg=SOUNDS_URL=<sound pack url> | ||
# --build-arg=GIT_URL_DEFAULT=<git repo> | ||
# --build-arg=GIT_SSL_NO_VERIFY_DEFAULT=<true/false> | ||
# --build-arg=GIT_BRANCH_DEFAULT=<git branch> | ||
# --build-arg=NUM_CORES_DEFAULT=<build with # cores> | ||
# | ||
# Run container with: | ||
# podman run -it --rm --hostname debian-build --userns=keep-id svxlink-debian-build | ||
# | ||
# For using sound inside the docker container add: | ||
# --privileged -v /dev/snd:/dev/snd | ||
# -e HOSTAUDIO_GID=$(stat -c "%g" /dev/snd/timer) | ||
# --privileged -v /dev/snd:/dev/snd | ||
# | ||
# To import your git config add (mileage may vary): | ||
# -v ${HOME}/.gitconfig:/home/svxlink/.gitconfig:ro | ||
# To import your git config add: | ||
# -v ${HOME}/.gitconfig:/home/svxlink/.gitconfig:ro | ||
# | ||
# To use a specific git repositoty instead of the default one: | ||
# -e GIT_URL=username@your.repo:/path/to/svxlink.git | ||
# To use a specific git repository instead of the default one: | ||
# -e GIT_URL=username@your.repo.srv:/path/to/svxlink.git | ||
# -e GIT_URL=https://your.repo.srv/path/to/svxlink.git | ||
# -e GIT_SSL_NO_VERIFY=true | ||
# | ||
# To build another branch than master: | ||
# -e GIT_BRANCH=the_branch | ||
# -e GIT_BRANCH=the_branch | ||
# | ||
# To use the local workingcopy rather then cloning the repo in the container: | ||
# -v $(pwd)/../..:/home/svxlink/svxlink:ro | ||
# | ||
# To use more than one CPU core when compiling: | ||
# -e NUM_CORES=8 | ||
# -e NUM_CORES=8 | ||
# | ||
# Build software with: | ||
# ./build-svxlink.sh | ||
# | ||
# Run software with: | ||
# svxlink | ||
|
||
FROM debian | ||
ARG FROM=debian:latest | ||
|
||
FROM ${FROM} | ||
MAINTAINER Tobias Blomberg <sm0svx@ssa.se> | ||
|
||
# Install required packages and set up the svxlink user | ||
RUN apt-get update && \ | ||
apt-get -y install git cmake g++ make libsigc++-2.0-dev libgsm1-dev \ | ||
libpopt-dev tcl8.6-dev libgcrypt20-dev libspeex-dev \ | ||
libasound2-dev alsa-utils vorbis-tools libqt4-dev \ | ||
libopus-dev librtlsdr-dev libcurl4-openssl-dev curl sudo | ||
libasound2-dev alsa-utils vorbis-tools qtbase5-dev \ | ||
qttools5-dev qttools5-dev-tools libopus-dev \ | ||
librtlsdr-dev libjsoncpp-dev libcurl4-openssl-dev \ | ||
libgpiod-dev libogg-dev curl sudo | ||
#RUN apt-get -y install groff doxygen | ||
|
||
ARG SOUNDS_VER="19.09.99.3" | ||
ARG SOUNDS_LANG="en_US" | ||
ARG SOUNDS_VOICE="heather" | ||
ARG SOUNDS_RATE="16k" | ||
ARG SOUNDS_URL="https://github.com/sm0svx/svxlink-sounds-${SOUNDS_LANG}-${SOUNDS_VOICE}/releases/download/${SOUNDS_VER}/svxlink-sounds-${SOUNDS_LANG}-${SOUNDS_VOICE}-${SOUNDS_RATE}-${SOUNDS_VER}.tar.bz2" | ||
|
||
# Install svxlink audio files | ||
RUN mkdir -p /usr/share/svxlink/sounds && \ | ||
cd /usr/share/svxlink/sounds && \ | ||
curl -LO https://github.com/sm0svx/svxlink-sounds-en_US-heather/releases/download/14.08/svxlink-sounds-en_US-heather-16k-13.12.tar.bz2 && \ | ||
curl -LO ${SOUNDS_URL} && \ | ||
tar xvaf svxlink-sounds-* && \ | ||
ln -s en_US-heather-16k en_US && \ | ||
ln -s ${SOUNDS_LANG}-${SOUNDS_VOICE}-${SOUNDS_RATE} ${SOUNDS_LANG} && \ | ||
rm svxlink-sounds-* | ||
|
||
# Set up password less sudo for user svxlink | ||
# Set up password-less sudo for user svxlink | ||
ADD sudoers-svxlink /etc/sudoers.d/svxlink | ||
RUN chmod 0440 /etc/sudoers.d/svxlink | ||
|
||
ENV GIT_URL=https://github.com/sm0svx/svxlink.git \ | ||
GIT_BRANCH=master \ | ||
NUM_CORES=1 | ||
ARG GIT_URL_DEFAULT="https://github.com/sm0svx/svxlink.git" | ||
ARG GIT_SSL_NO_VERIFY_DEFAULT="false" | ||
ARG GIT_BRANCH_DEFAULT="master" | ||
ARG NUM_CORES_DEFAULT="1" | ||
|
||
ENV GIT_URL=${GIT_URL_DEFAULT} \ | ||
GIT_SSL_NO_VERIFY=${GIT_SSL_NO_VERIFY_DEFAULT} \ | ||
GIT_BRANCH=${GIT_BRANCH_DEFAULT} \ | ||
NUM_CORES=${NUM_CORES_DEFAULT} | ||
|
||
RUN useradd -s /bin/bash svxlink | ||
ADD build-svxlink.sh /home/svxlink/ | ||
RUN chown -R svxlink.svxlink /home/svxlink | ||
RUN chown -R svxlink:svxlink /home/svxlink | ||
|
||
ADD entrypoint.sh / | ||
ENTRYPOINT ["/entrypoint.sh"] | ||
WORKDIR /home/svxlink | ||
USER svxlink:svxlink | ||
ENTRYPOINT ["/bin/bash"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,59 +1,96 @@ | ||
# Build with: | ||
# docker build --pull -t svxlink-ubuntu-build . | ||
# | ||
# Run with: | ||
# docker run -it --rm --hostname ubuntu-build svxlink-ubuntu-build | ||
# Build container image with: | ||
# podman build --pull -t svxlink-ubuntu-build . | ||
# | ||
# Optional build arguments: | ||
# --build-arg=FROM=<base image> | ||
# --build-arg=SOUNDS_VER=<sound pack version> | ||
# --build-arg=SOUNDS_LANG=<sound pack language> | ||
# --build-arg=SOUNDS_VOICE=<sound pack voice> | ||
# --build-arg=SOUNDS_RATE=<sound pack sample rate> | ||
# --build-arg=SOUNDS_URL=<sound pack url> | ||
# --build-arg=GIT_URL_DEFAULT=<git repo> | ||
# --build-arg=GIT_SSL_NO_VERIFY_DEFAULT=<true/false> | ||
# --build-arg=GIT_BRANCH_DEFAULT=<git branch> | ||
# --build-arg=NUM_CORES_DEFAULT=<build with # cores> | ||
# | ||
# Run container with: | ||
# podman run -it --rm --hostname ubuntu-build --userns=keep-id svxlink-ubuntu-build | ||
# | ||
# For using sound inside the docker container add: | ||
# --privileged -v /dev/snd:/dev/snd | ||
# -e HOSTAUDIO_GID=$(stat -c "%g" /dev/snd/timer) | ||
# --privileged -v /dev/snd:/dev/snd | ||
# | ||
# To import your git config add (your mileage may vary): | ||
# -v ${HOME}/.gitconfig:/home/svxlink/.gitconfig:ro | ||
# To import your git config add: | ||
# -v ${HOME}/.gitconfig:/home/svxlink/.gitconfig:ro | ||
# | ||
# To use a specific git repositoty instead of the default one: | ||
# -e GIT_URL=username@your.repo:/path/to/svxlink.git | ||
# To use a specific git repository instead of the default one: | ||
# -e GIT_URL=username@your.repo.srv:/path/to/svxlink.git | ||
# -e GIT_URL=https://your.repo.srv/path/to/svxlink.git | ||
# -e GIT_SSL_NO_VERIFY=true | ||
# | ||
# To build another branch than master: | ||
# -e GIT_BRANCH=the_branch | ||
# -e GIT_BRANCH=the_branch | ||
# | ||
# To use the local workingcopy rather then cloning the repo in the container: | ||
# -v $(pwd)/../..:/home/svxlink/svxlink:ro | ||
# | ||
# To use more than one CPU core when compiling: | ||
# -e NUM_CORES=8 | ||
# -e NUM_CORES=8 | ||
# | ||
# Build software with: | ||
# ./build-svxlink.sh | ||
# | ||
# Run software with: | ||
# svxlink | ||
|
||
FROM ubuntu | ||
MAINTAINER Tobias Blomberg <sm0svx@svxlink.org> | ||
ARG FROM=ubuntu:latest | ||
|
||
FROM ${FROM} | ||
MAINTAINER Tobias Blomberg <sm0svx@ssa.se> | ||
|
||
# Install required packages and set up the svxlink user | ||
RUN apt update && \ | ||
RUN apt-get update && \ | ||
export DEBIAN_FRONTEND=noninteractive && \ | ||
apt -y install git cmake g++ make libsigc++-2.0-dev libgsm1-dev \ | ||
libpopt-dev tcl-dev libgcrypt20-dev libspeex-dev \ | ||
libasound2-dev alsa-utils vorbis-tools qtbase5-dev \ | ||
qttools5-dev qttools5-dev-tools libopus-dev \ | ||
librtlsdr-dev libjsoncpp-dev libcurl4-openssl-dev \ | ||
curl sudo | ||
#RUN apt -y install groff doxygen | ||
apt-get -y install git cmake g++ make libsigc++-2.0-dev libgsm1-dev \ | ||
libpopt-dev tcl8.6-dev libgcrypt20-dev libspeex-dev \ | ||
libasound2-dev alsa-utils vorbis-tools qtbase5-dev \ | ||
qttools5-dev qttools5-dev-tools libopus-dev \ | ||
librtlsdr-dev libjsoncpp-dev libcurl4-openssl-dev \ | ||
libgpiod-dev libogg-dev curl sudo | ||
#RUN apt-get -y install groff doxygen | ||
|
||
ARG SOUNDS_VER="19.09.99.3" | ||
ARG SOUNDS_LANG="en_US" | ||
ARG SOUNDS_VOICE="heather" | ||
ARG SOUNDS_RATE="16k" | ||
ARG SOUNDS_URL="https://github.com/sm0svx/svxlink-sounds-${SOUNDS_LANG}-${SOUNDS_VOICE}/releases/download/${SOUNDS_VER}/svxlink-sounds-${SOUNDS_LANG}-${SOUNDS_VOICE}-${SOUNDS_RATE}-${SOUNDS_VER}.tar.bz2" | ||
|
||
# Install svxlink audio files | ||
RUN mkdir -p /usr/share/svxlink/sounds && \ | ||
cd /usr/share/svxlink/sounds && \ | ||
curl -LO https://github.com/sm0svx/svxlink-sounds-en_US-heather/releases/download/19.09.99.1/svxlink-sounds-en_US-heather-16k-19.09.99.1.tar.bz2 && \ | ||
curl -LO ${SOUNDS_URL} && \ | ||
tar xvaf svxlink-sounds-* && \ | ||
ln -s en_US-heather-16k en_US && \ | ||
ln -s ${SOUNDS_LANG}-${SOUNDS_VOICE}-${SOUNDS_RATE} ${SOUNDS_LANG} && \ | ||
rm svxlink-sounds-* | ||
|
||
# Set up password less sudo for user svxlink | ||
# Set up password-less sudo for user svxlink | ||
ADD sudoers-svxlink /etc/sudoers.d/svxlink | ||
RUN chmod 0440 /etc/sudoers.d/svxlink | ||
|
||
ENV GIT_URL=https://github.com/sm0svx/svxlink.git \ | ||
GIT_BRANCH=master \ | ||
NUM_CORES=1 | ||
ARG GIT_URL_DEFAULT="https://github.com/sm0svx/svxlink.git" | ||
ARG GIT_SSL_NO_VERIFY_DEFAULT="false" | ||
ARG GIT_BRANCH_DEFAULT="master" | ||
ARG NUM_CORES_DEFAULT="1" | ||
|
||
ENV GIT_URL=${GIT_URL_DEFAULT} \ | ||
GIT_SSL_NO_VERIFY=${GIT_SSL_NO_VERIFY_DEFAULT} \ | ||
GIT_BRANCH=${GIT_BRANCH_DEFAULT} \ | ||
NUM_CORES=${NUM_CORES_DEFAULT} | ||
|
||
RUN useradd -s /bin/bash svxlink | ||
ADD build-svxlink.sh /home/svxlink/ | ||
RUN chown -R svxlink.svxlink /home/svxlink | ||
RUN chown -R svxlink:svxlink /home/svxlink | ||
|
||
ADD entrypoint.sh / | ||
ENTRYPOINT ["/entrypoint.sh"] | ||
WORKDIR /home/svxlink | ||
USER svxlink:svxlink | ||
ENTRYPOINT ["/bin/bash"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters