Skip to content

Commit

Permalink
Add LABELS and fix debian 12 packages
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolaasuni committed Feb 6, 2025
1 parent a1522b7 commit f87af74
Show file tree
Hide file tree
Showing 11 changed files with 158 additions and 119 deletions.
2 changes: 1 addition & 1 deletion LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2016-2024 Nicola Asuni - Tecnick.com LTD
Copyright (c) 2016-2025 Nicola Asuni - Tecnick.com LTD

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
17 changes: 15 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# @since 2016-09-23
# @category Docker
# @author Nicola Asuni <info@tecnick.com>
# @copyright 2015-2024 Nicola Asuni - Tecnick.com LTD
# @copyright 2015-2025 Nicola Asuni - Tecnick.com LTD
# @license MIT (see LICENSE)
# @link https://github.com/tecnickcom/alldev
#
Expand Down Expand Up @@ -34,6 +34,9 @@ DOCKER_REGISTRY=
# Docker repository
DOCKER_REPOSITORY=${DOCKER_REGISTRY}${VENDOR}

# Current date-time
DATETIME=$(shell date --rfc-3339=seconds)

# --- MAKE TARGETS ---

# Display general help about this command
Expand All @@ -55,7 +58,17 @@ all: help
# Build the specified Docker image
.PHONY: build
build:
docker build --compress --no-cache --tag ${DOCKER_REPOSITORY}/${DIMG}:latest --file ./src/${DIMG}.Dockerfile ./src/
docker build \
--compress \
--no-cache \
--tag ${DOCKER_REPOSITORY}/${DIMG}:latest \
--label="com.tecnick.alldev.version=${VERSION}" \
--label="com.tecnick.alldev.release=${RELEASE}" \
--label="org.opencontainers.image.created=${DATETIME}" \
--label="org.opencontainers.image.version=${VERSION}" \
--label="org.opencontainers.image.revision=${RELEASE}" \
--file ./src/${DIMG}.Dockerfile \
./src/
docker tag ${DOCKER_REPOSITORY}/${DIMG}:latest ${DOCKER_REPOSITORY}/${DIMG}:${VERSION}-${RELEASE}

# Upload the specified docker image
Expand Down
65 changes: 27 additions & 38 deletions src/alldev.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Dockerfile
#
# Development environment based on phusion/baseimage (Ubuntu)
# Development environment
#
# @author Nicola Asuni <info@tecnick.com>
# @copyright 2016-2025 Nicola Asuni - Tecnick.com LTD
Expand All @@ -14,7 +14,6 @@ ARG HUGO_VERSION="0.143.1"
ARG KOTLIN_VERSION="2.1.10"
ARG NOMAD_VERSION="1.9.5"
ARG VENOM_VERSION="v1.2.0"
LABEL com.tecnick.vendor="Tecnick.com"
ENV DEBIAN_FRONTEND noninteractive
ENV TERM linux
ENV HOME /root
Expand Down Expand Up @@ -43,17 +42,15 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio
&& echo " name = gocd" >> /home/go/.gitconfig \
# Add repositories and update
&& apt update && apt -y dist-upgrade \
&& apt install -y sudo curl apt-utils software-properties-common \
&& apt-add-repository universe \
&& apt-add-repository multiverse \
&& curl -fsSL https://pgp.mongodb.com/server-6.0.asc | apt-key add - \
&& echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-6.0.list \
&& apt install -y sudo curl locales apt-utils software-properties-common \
&& curl -fsSL https://apt.corretto.aws/corretto.key | gpg --dearmor -o /usr/share/keyrings/corretto-keyring.gpg \
&& echo "deb [signed-by=/usr/share/keyrings/corretto-keyring.gpg] https://apt.corretto.aws stable main" | tee /etc/apt/sources.list.d/corretto.list \
&& curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg --dearmor \
&& echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] http://repo.mongodb.org/apt/debian bookworm/mongodb-org/8.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list \
&& apt update \
# Set Locale
&& apt install -y language-pack-en-base \
&& locale-gen en_US en_US.UTF-8 \
&& dpkg-reconfigure locales \
&& curl -sL https://deb.nodesource.com/setup_18.x | bash - \
&& curl -sL https://deb.nodesource.com/setup_22.x | bash - \
# install development packages and debugging tools
&& apt install -y \
alien \
Expand Down Expand Up @@ -99,6 +96,10 @@ gtk-sharp2 \
htop \
imagemagick \
intltool \
java-1.8.0-amazon-corretto-jdk \
java-11-amazon-corretto-jdk \
java-17-amazon-corretto-jdk \
java-21-amazon-corretto-jdk \
jq \
lcov \
libboost-all-dev \
Expand All @@ -123,6 +124,7 @@ liblzma-dev \
libncurses5-dev \
libpng-dev \
libssl-dev \
libtidy5deb1 \
libtiff5-dev \
libtool \
libxml2 \
Expand All @@ -136,27 +138,19 @@ libxslt1.1 \
llvm \
lsof \
make \
mariadb-client \
mariadb-server \
mawk \
memcached \
mingw-w64 \
mingw-w64-i686-dev \
mingw-w64-tools \
mingw-w64-x86-64-dev \
mongodb-org \
mysql-client \
mysql-server \
nano \
nodejs \
nsis \
nsis-pluginapi \
openjdk-11-jdk \
openjdk-11-jre \
openjdk-17-jdk \
openjdk-17-jre \
openjdk-21-jdk \
openjdk-21-jre \
openjdk-8-jdk \
openjdk-8-jre \
openssh-client \
openssh-server \
openssl \
Expand Down Expand Up @@ -197,8 +191,8 @@ pkg-config \
postgresql \
postgresql-contrib \
pylint \
python-all-dev \
python3-all-dev \
python3-novaclient \
python3-pip \
python3-venv \
r-base \
Expand All @@ -212,10 +206,9 @@ ssh \
strace \
swig \
texlive-base \
tidy \
time \
tree \
ubuntu-restricted-addons \
ubuntu-restricted-extras \
uidmap \
unzip \
valgrind \
Expand All @@ -229,16 +222,10 @@ zbar-tools \
zip \
zlib1g \
zlib1g-dev \
&& apt install -y \
libwine-development \
wine64 \
wine64-development-tools \
winetricks \
&& update-java-alternatives -s java-1.11.0-openjdk-amd64 \
&& java -version \
# Install extra Python dependencies
&& pip3 install --ignore-installed --upgrade pip \
&& pip3 install --upgrade \
&& pip3 install --ignore-installed --break-system-packages --upgrade pip \
&& pip3 install --break-system-packages --upgrade \
ansible \
autopep8 \
cffi \
Expand All @@ -256,7 +243,6 @@ pypandoc \
pytest \
pytest-benchmark \
pytest-cov \
python-novaclient \
pyyaml \
schemathesis \
setuptools \
Expand Down Expand Up @@ -286,12 +272,6 @@ js-beautify \
uglify-js \
# Install R packages
&& Rscript -e "install.packages(c('Rcpp', 'base', 'devtools', 'inline', 'pryr', 'renv', 'ragg', 'roxygen2', 'testthat', 'pkgdown', 'libgfortran-ng'), repos = 'http://cran.us.r-project.org')" \
# HTML Tidy
&& cd /tmp \
&& wget http://launchpadlibrarian.net/413419656/libtidy5deb1_5.6.0-10_amd64.deb \
&& wget http://launchpadlibrarian.net/413419657/tidy_5.6.0-10_amd64.deb \
&& dpkg -i libtidy5deb1_5.6.0-10_amd64.deb tidy_5.6.0-10_amd64.deb \
&& rm -f libtidy5deb1_5.6.0-10_amd64.deb tidy_5.6.0-10_amd64.deb \
# Composer
&& cd /tmp \
&& curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer \
Expand Down Expand Up @@ -340,3 +320,12 @@ wget https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${FLYWAY_VER
&& chown -R root:root /entrypoint-docker.sh \
&& chmod -R g=u /entrypoint-docker.sh
ENTRYPOINT ["/entrypoint-docker.sh"]
LABEL "org.opencontainers.image.authors"="info@tecnick.com"
LABEL "org.opencontainers.image.url"="https://github.com/tecnickcom/alldev"
LABEL "org.opencontainers.image.documentation"="https://github.com/tecnickcom/alldev/blob/main/README.md"
LABEL "org.opencontainers.image.source"="https://github.com/tecnickcom/alldev/blob/main/src/alldev.Dockerfile"
LABEL "org.opencontainers.image.vendor"="tecnickcom"
LABEL "org.opencontainers.image.licenses"="MIT"
LABEL "org.opencontainers.image.title"="alldev"
LABEL "org.opencontainers.image.description"="Linux-based development environment with support for multiple programming languages"
LABEL "org.opencontainers.image.base.name"="debian:12"
9 changes: 9 additions & 0 deletions src/dood.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,12 @@ sudo \
&& chown -R root:root /entrypoint-docker.sh \
&& chmod -R g=u /entrypoint-docker.sh
ENTRYPOINT ["/entrypoint-docker.sh"]
LABEL "org.opencontainers.image.authors"="info@tecnick.com"
LABEL "org.opencontainers.image.url"="https://github.com/tecnickcom/alldev"
LABEL "org.opencontainers.image.documentation"="https://github.com/tecnickcom/alldev/blob/main/README.md"
LABEL "org.opencontainers.image.source"="https://github.com/tecnickcom/alldev/blob/main/src/dood.Dockerfile"
LABEL "org.opencontainers.image.vendor"="tecnickcom"
LABEL "org.opencontainers.image.licenses"="MIT"
LABEL "org.opencontainers.image.title"="dood"
LABEL "org.opencontainers.image.description"="Docker-on-Docker"
LABEL "org.opencontainers.image.base.name"="debian:12"
12 changes: 10 additions & 2 deletions src/gocd-agent-dood.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Dockerfile
#
# GoCD elastic agent based on Ubuntu 18.04 (Bionic)
# GoCD elastic agent
#
# @author Nicola Asuni <info@tecnick.com>
# @copyright 2016-2025 Nicola Asuni - Tecnick.com LTD
Expand All @@ -10,7 +10,6 @@
ARG DEBIAN_VERSION="12"
ARG GOCD_VERSION="v25.1.0"
FROM gocd/gocd-agent-debian-${DEBIAN_VERSION}:${GOCD_VERSION}
LABEL com.tecnick.vendor="Tecnick.com"
USER root
ENV DEBIAN_FRONTEND noninteractive
ENV TERM linux
Expand Down Expand Up @@ -42,3 +41,12 @@ sudo \
&& chmod -R g=u /entrypoint-docker.sh
ENTRYPOINT ["/entrypoint-docker.sh"]
USER go
LABEL "org.opencontainers.image.authors"="info@tecnick.com"
LABEL "org.opencontainers.image.url"="https://github.com/tecnickcom/alldev"
LABEL "org.opencontainers.image.documentation"="https://github.com/tecnickcom/alldev/blob/main/README.md"
LABEL "org.opencontainers.image.source"="https://github.com/tecnickcom/alldev/blob/main/src/gocd-agent-dood.Dockerfile"
LABEL "org.opencontainers.image.vendor"="tecnickcom"
LABEL "org.opencontainers.image.licenses"="MIT"
LABEL "org.opencontainers.image.title"="gocd-agent-dood"
LABEL "org.opencontainers.image.description"="GoCD agent with Docker on Docker"
LABEL "org.opencontainers.image.base.name"="gocd/gocd-agent-debian-${DEBIAN_VERSION}:${GOCD_VERSION}"
21 changes: 13 additions & 8 deletions src/gocd-agent-golang.Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Dockerfile
#
# GoCD elastic agent based on Ubuntu 18.04 (Bionic)
# GoCD elastic agent
#
# @author Nicola Asuni <info@tecnick.com>
# @copyright 2016-2025 Nicola Asuni - Tecnick.com LTD
Expand All @@ -14,7 +14,6 @@ ARG FLYWAY_VERSIONS="11.3.1,10.22.0,7.15.0,9.22.3"
ARG GO_VERSION="1.23.6"
ARG NOMAD_VERSION="1.9.5"
ARG VENOM_VERSION="v1.2.0"
LABEL com.tecnick.vendor="Tecnick.com"
USER root
ENV DEBIAN_FRONTEND noninteractive
ENV TERM linux
Expand Down Expand Up @@ -44,10 +43,7 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio
# Add repositories and update
&& apt update && apt -y dist-upgrade \
&& apt install -y gnupg apt-utils software-properties-common \
&& apt-add-repository universe \
&& apt-add-repository multiverse \
&& apt update \
&& apt install -y language-pack-en-base \
&& locale-gen en_US en_US.UTF-8 \
&& dpkg-reconfigure locales \
# install development packages and debugging tools
Expand All @@ -69,7 +65,7 @@ libffi-dev \
libssl-dev \
libxml2-utils \
make \
mysql-client \
mariadb-client \
openssl \
parallel \
perl \
Expand All @@ -90,8 +86,8 @@ xmldiff \
xmlindent \
zip \
# Install extra Python dependencies
&& pip3 install --ignore-installed --upgrade pip \
&& pip3 install --upgrade \
&& pip3 install --ignore-installed --break-system-packages --upgrade pip \
&& pip3 install --break-system-packages --upgrade \
check-jsonschema \
httpx \
jsonschema \
Expand Down Expand Up @@ -145,3 +141,12 @@ wget https://repo1.maven.org/maven2/org/flywaydb/flyway-commandline/${FLYWAY_VER
&& chmod -R g=u /entrypoint-docker.sh
ENTRYPOINT ["/entrypoint-docker.sh"]
USER go
LABEL "org.opencontainers.image.authors"="info@tecnick.com"
LABEL "org.opencontainers.image.url"="https://github.com/tecnickcom/alldev"
LABEL "org.opencontainers.image.documentation"="https://github.com/tecnickcom/alldev/blob/main/README.md"
LABEL "org.opencontainers.image.source"="https://github.com/tecnickcom/alldev/blob/main/src/gocd-agent-golang.Dockerfile"
LABEL "org.opencontainers.image.vendor"="tecnickcom"
LABEL "org.opencontainers.image.licenses"="MIT"
LABEL "org.opencontainers.image.title"="gocd-agent-golang"
LABEL "org.opencontainers.image.description"="GoCD agent with Go (golang)"
LABEL "org.opencontainers.image.base.name"="gocd/gocd-agent-debian-${DEBIAN_VERSION}:${GOCD_VERSION}"
Loading

0 comments on commit f87af74

Please sign in to comment.