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