2025-01-22 20:27:34 +01:00

74 lines
2.3 KiB
Docker

FROM mcr.microsoft.com/devcontainers/base:ubuntu-24.04
ARG USERNAME=vscode
# Workaround for bug: https://github.com/devcontainers/images/issues/1056
RUN userdel -r ubuntu; usermod -u 1000 $USERNAME; groupmod -g 1000 $USERNAME
RUN apt-get -y update \
&& apt-get install -y \
# Build tools and dependencies for OwnTone
autoconf \
automake \
autotools-dev \
bison \
build-essential \
flex \
gawk \
gettext \
git \
gperf \
libasound2-dev \
libavahi-client-dev \
libavcodec-dev \
libavfilter-dev \
libavformat-dev \
libavutil-dev \
libconfuse-dev \
libcurl4-openssl-dev \
libevent-dev \
libgcrypt20-dev \
libjson-c-dev \
libmxml-dev \
libplist-dev \
libprotobuf-c-dev \
libsodium-dev \
libsqlite3-dev \
libswscale-dev \
libtool \
libunistring-dev \
libwebsockets-dev \
libxml2-dev \
zlib1g-dev \
# Build tools for mmkdocs (OwnTone documentation)
python3-pip \
# Additional runtime dependencies for dev container
avahi-daemon \
# Additional debug and devtools for dev container
clang \
clang-format \
clang-tools \
gdb \
valgrind \
# Additional terminal utility applications
pipx \
# bat - replacement for cat
bat \
# eza (https://eza.rocks/) - replacement for ls
eza \
# fuzzy search
fzf \
# Create folders and set ownership for folders that might be mounted as volumes
&& mkdir -p /home/$USERNAME/.local/share \
&& chown -R $USERNAME /home/$USERNAME/.local \
&& mkdir /commandhistory \
&& touch /commandhistory/.bash_history \
&& chown -R $USERNAME /commandhistory \
&& echo "export PROMPT_COMMAND='history -a' && export HISTFILE=/commandhistory/.bash_history" >> "/home/$USERNAME/.bashrc" \
&& echo '[[ -f /scripts/init-devcontainer-cli.sh ]] && source /scripts/init-devcontainer-cli.sh' >> "/home/$USERNAME/.bashrc" \
# Create folders for owntone-server data
&& mkdir -p /data/logs /data/music /data/cache /data/conf \
&& chown -R $USERNAME /data \
# Clean up
&& apt-get clean -y && rm -rf /var/lib/apt/lists/*