Dateien nach "/" hochladen
This commit is contained in:
parent
feab765cc0
commit
61c0eb55c6
35
base.dockerfile
Normal file
35
base.dockerfile
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
FROM ubuntu:noble-20241015
|
||||||
|
|
||||||
|
LABEL title="Bußmann IT Development Image"
|
||||||
|
LABEL description="DEV Container for Bußmann IT"
|
||||||
|
LABEL authors="manuel.bussmann@it-bussmann.de"
|
||||||
|
LABEL vendor="IT Bußmann"
|
||||||
|
LABEL version="0.1"
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
SHELL ["/bin/bash", "-c"]
|
||||||
|
# Install Essentials
|
||||||
|
RUN apt update && apt install -y --no-install-recommends \
|
||||||
|
libprotobuf32 \
|
||||||
|
openssl \
|
||||||
|
nodejs \
|
||||||
|
zstd \
|
||||||
|
systemd \
|
||||||
|
gperf \
|
||||||
|
postgresql-common \
|
||||||
|
mesa-va-drivers \
|
||||||
|
intel-media-va-driver \
|
||||||
|
libxcb-cursor0 \
|
||||||
|
libxcb-keysyms1 \
|
||||||
|
libxcb-icccm4 \
|
||||||
|
libpcre2-16-0 \
|
||||||
|
curl \
|
||||||
|
ca-certificates \
|
||||||
|
gnupg
|
||||||
|
|
||||||
|
# Add NanoMQ repository and Install
|
||||||
|
RUN curl -fsSL "https://packages.emqx.com/emqx/nanomq/gpgkey" | gpg --dearmor -o /usr/share/keyrings/emqx_nanomq-archive-keyring.gpg && curl -sSf "https://assets.emqx.com/scripts/emqx_nanomq.list" > /etc/apt/sources.list.d/emqx_nanomq.list
|
||||||
|
RUN apt-get update && apt-get install -y nanomq && apt-get remove -y curl
|
||||||
|
|
||||||
|
# Set system language
|
||||||
|
ENV LANG=C.UTF-8
|
||||||
180
dev.dockerfile
Normal file
180
dev.dockerfile
Normal file
@ -0,0 +1,180 @@
|
|||||||
|
FROM git.bussmann-os.de/Software-Entwicklung/docker_images/base:latest
|
||||||
|
#FROM gen3-base
|
||||||
|
LABEL title="Bußmann IT Development Image"
|
||||||
|
LABEL description="DEV Container for Bußmann IT"
|
||||||
|
LABEL authors="manuel.bussmann@it-bussmann.de"
|
||||||
|
LABEL vendor="IT Bußmann"
|
||||||
|
LABEL version="0.1"
|
||||||
|
|
||||||
|
SHELL ["/bin/bash", "-c"]
|
||||||
|
|
||||||
|
# Set Language
|
||||||
|
ENV LANG=C.UTF-8
|
||||||
|
|
||||||
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
# Install Essentials
|
||||||
|
RUN apt update && apt install -y \
|
||||||
|
build-essential \
|
||||||
|
gdb \
|
||||||
|
rsync \
|
||||||
|
doxygen \
|
||||||
|
graphviz \
|
||||||
|
doxyqml \
|
||||||
|
cmake \
|
||||||
|
ninja-build \
|
||||||
|
curl \
|
||||||
|
zip \
|
||||||
|
python3 \
|
||||||
|
python3-html5lib \
|
||||||
|
python3-jinja2 \
|
||||||
|
python3-git \
|
||||||
|
openssl \
|
||||||
|
libssl-dev \
|
||||||
|
git \
|
||||||
|
ssh \
|
||||||
|
sudo \
|
||||||
|
dos2unix \
|
||||||
|
perl \
|
||||||
|
libcups2-dev \
|
||||||
|
libboost-all-dev \
|
||||||
|
libgmock-dev \
|
||||||
|
libgtest-dev \
|
||||||
|
libgl1-mesa-dev \
|
||||||
|
libvulkan-dev \
|
||||||
|
libxkbcommon-dev \
|
||||||
|
libglib2.0-dev \
|
||||||
|
libwayland-dev \
|
||||||
|
protobuf-compiler \
|
||||||
|
libprotoc-dev \
|
||||||
|
libpq-dev \
|
||||||
|
wget \
|
||||||
|
nano \
|
||||||
|
vim \
|
||||||
|
# Install libs for Qt modules
|
||||||
|
libdrm-dev \
|
||||||
|
libinput-dev \
|
||||||
|
libpulse-dev \
|
||||||
|
bison \
|
||||||
|
flex \
|
||||||
|
libnss3-dev \
|
||||||
|
libdbus-1-dev \
|
||||||
|
libgbm-dev \
|
||||||
|
libwebp-dev \
|
||||||
|
libjpeg-dev \
|
||||||
|
libicu-dev \
|
||||||
|
libhunspell-dev \
|
||||||
|
libva-dev \
|
||||||
|
libavcodec-dev \
|
||||||
|
libavformat-dev \
|
||||||
|
libzstd-dev \
|
||||||
|
libsystemd-dev \
|
||||||
|
libxrandr-dev \
|
||||||
|
# Install x11-libs
|
||||||
|
libfontconfig1-dev \
|
||||||
|
libfreetype6-dev \
|
||||||
|
libx11-dev \
|
||||||
|
libx11-xcb-dev \
|
||||||
|
libxext-dev \
|
||||||
|
libxfixes-dev \
|
||||||
|
libxi-dev \
|
||||||
|
libxrender-dev \
|
||||||
|
libxcb1-dev \
|
||||||
|
libxcb-cursor-dev \
|
||||||
|
libxcb-glx0-dev \
|
||||||
|
libxcb-keysyms1-dev \
|
||||||
|
libxcb-image0-dev \
|
||||||
|
libxcb-shm0-dev \
|
||||||
|
libxcb-icccm4-dev \
|
||||||
|
libxcb-sync-dev \
|
||||||
|
libxcb-xfixes0-dev \
|
||||||
|
libxcb-shape0-dev \
|
||||||
|
libxcb-randr0-dev \
|
||||||
|
libxcb-render-util0-dev \
|
||||||
|
libxcb-util-dev \
|
||||||
|
libxcb-xinerama0-dev \
|
||||||
|
libxcb-xkb-dev \
|
||||||
|
libxkbcommon-dev \
|
||||||
|
libxkbcommon-x11-dev \
|
||||||
|
libxcb-xinput-dev \
|
||||||
|
libxcomposite-dev \
|
||||||
|
libxcursor-dev \
|
||||||
|
libxshmfence-dev \
|
||||||
|
libxtst-dev \
|
||||||
|
libxkbfile-dev \
|
||||||
|
# Install useful analysis tools
|
||||||
|
shellcheck \
|
||||||
|
valgrind \
|
||||||
|
# Utils
|
||||||
|
gcovr \
|
||||||
|
graphviz \
|
||||||
|
plantuml \
|
||||||
|
clang-tidy-18 \
|
||||||
|
clang-format-18 \
|
||||||
|
clang-tools-18 \
|
||||||
|
clangd-18 \
|
||||||
|
llvm-18-dev \
|
||||||
|
lld-18 \
|
||||||
|
lldb-18 \
|
||||||
|
llvm-18-tools \
|
||||||
|
libomp-18-dev \
|
||||||
|
libc++-18-dev \
|
||||||
|
libc++abi-18-dev \
|
||||||
|
libclang-common-18-dev \
|
||||||
|
libclang-18-dev \
|
||||||
|
libclang-cpp18-dev \
|
||||||
|
libunwind-18-dev \
|
||||||
|
zsh
|
||||||
|
|
||||||
|
# Create the user
|
||||||
|
RUN usermod -l dev ubuntu \
|
||||||
|
&& usermod -d /home/dev -s /bin/bash -m dev \
|
||||||
|
&& groupmod -n dev ubuntu \
|
||||||
|
&& echo dev ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/dev \
|
||||||
|
&& chmod 0440 /etc/sudoers.d/dev
|
||||||
|
|
||||||
|
# Create aliases for ls
|
||||||
|
RUN echo "alias ll='ls -l'" >> /home/dev/.bashrc \
|
||||||
|
&& echo "alias la='ls -A'" >> /home/dev/.bashrc \
|
||||||
|
&& echo "alias l='ls -CF'" >> /home/dev/.bashrc
|
||||||
|
|
||||||
|
# Install Mireo Async MQTT5 header
|
||||||
|
RUN cd /root \
|
||||||
|
&& git clone https://github.com/mireo/async-mqtt5.git \
|
||||||
|
&& mv /root/async-mqtt5/include/* /usr/include/ \
|
||||||
|
&& rm -rf async-mqtt5/
|
||||||
|
|
||||||
|
# Install oh-my-zsh and copy all zsh configuration files to the user's home directory
|
||||||
|
RUN sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended && \
|
||||||
|
cp -r /root/.oh-my-zsh /home/dev/ && \
|
||||||
|
cp /root/.zshrc /home/dev/ && \
|
||||||
|
chown -R dev:dev /home/dev/.oh-my-zsh /home/dev/.zshrc
|
||||||
|
|
||||||
|
# Enable the following plugins in the .zshrc: git, ubuntu, compleat, aliases, colored-man-pages, cp, dirhistory, fzf, git-extras, brew, dotnet, sudo, zsh-interactive-cd, command-not-found, vscode, ssh
|
||||||
|
# Disable update checks in the .zshrc
|
||||||
|
# Modify .zshrc to use "tjkirch" as the default theme
|
||||||
|
# Install and enable the zsh-motd plugin
|
||||||
|
RUN sed -i 's/plugins=(git)/plugins=(git ubuntu compleat aliases colored-man-pages cp dirhistory fzf git-extras brew dotnet sudo zsh-interactive-cd command-not-found vscode ssh zsh-motd)/' /home/dev/.zshrc \
|
||||||
|
|
||||||
|
&& sed -i 's/# DISABLE_AUTO_UPDATE="true"/DISABLE_AUTO_UPDATE="true"/' /home/dev/.zshrc \
|
||||||
|
&& sed -i 's/ZSH_THEME="robbyrussell"/ZSH_THEME="tjkirch"/' /home/dev/.zshrc \
|
||||||
|
&& zsh -c "git clone https://github.com/Kallahan23/zsh-motd /home/dev/.oh-my-zsh/custom/plugins/zsh-motd"
|
||||||
|
|
||||||
|
|
||||||
|
# Use Clang to compile Qt
|
||||||
|
ENV CXX=/usr/bin/clang++-18
|
||||||
|
ENV CC=/usr/bin/clang-18
|
||||||
|
|
||||||
|
RUN ln -s /usr/bin/clang++-18 /usr/bin/clang++ \
|
||||||
|
&& ln -s /usr/bin/clang-18 /usr/bin/clang \
|
||||||
|
&& ln -s /usr/bin/clang-cpp-18 /usr/bin/clang-cpp \
|
||||||
|
&& ln -s /usr/bin/clangd-18 /usr/bin/clangd \
|
||||||
|
&& ln -s /usr/bin/clang-format-18 /usr/bin/clang-format \
|
||||||
|
&& ln -s /usr/bin/llvm-config-18 /usr/bin/llvm-config
|
||||||
|
|
||||||
|
ADD docker/make_llvm_pkgconfig.sh /root/make_llvm_pkgconfig.sh
|
||||||
|
RUN /root/make_llvm_pkgconfig.sh > /usr/lib/x86_64-linux-gnu/pkgconfig/libunwind.pc \
|
||||||
|
&& rm -rf /root/make_llvm_pkgconfig.sh
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
24
environment.dockerfile
Normal file
24
environment.dockerfile
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
FROM git.bussmann-os.de/Software-Entwicklung/docker_images/dev:latest as dev
|
||||||
|
#FROM gen3-dev as dev
|
||||||
|
SHELL ["/bin/bash", "-c"]
|
||||||
|
LABEL title="Bußmann IT Development Image"
|
||||||
|
LABEL description="DEV Container for Bußmann IT"
|
||||||
|
LABEL authors="manuel.bussmann@it-bussmann.de"
|
||||||
|
LABEL vendor="IT Bußmann"
|
||||||
|
LABEL version="0.1"
|
||||||
|
|
||||||
|
# Get Qt6 from qt.dockerfile
|
||||||
|
COPY --from=qt /opt/qt6/ /opt/qt6/
|
||||||
|
|
||||||
|
# Change to CCI user for vcpkg ownage
|
||||||
|
USER cci
|
||||||
|
|
||||||
|
# Add Clang-Format to image
|
||||||
|
ADD utils/clang/.clang-format /home/dev/.clang-format
|
||||||
|
|
||||||
|
# Set system language and compiler variables
|
||||||
|
ENV LANG=C.UTF-8
|
||||||
|
ENV CXX=/usr/bin/clang++-18
|
||||||
|
ENV CC=/usr/bin/clang-18
|
||||||
|
ENV CLANG=/usr/bin/clang
|
||||||
|
ENV CLANGXX=/usr/bin/clang++
|
||||||
Loading…
Reference in New Issue
Block a user