diff --git a/lua-clib/Dockerfile b/lua-clib/Dockerfile index af788cb..de33f68 100644 --- a/lua-clib/Dockerfile +++ b/lua-clib/Dockerfile @@ -1,102 +1,10 @@ -FROM debian:bookworm-slim as builder +FROM debian:bullseye-slim ENV DEBIAN_FRONTEND=noninteractive -WORKDIR /build - -RUN --mount=type=cache,target=/var/cache/apt,id=builder-apt \ - set -e; \ +RUN set -e; \ apt-get update; \ - apt-get install -y --no-install-recommends --no-install-suggests \ - ca-certificates \ - cmake \ - gcc \ - g++ \ - libc-dev \ - libreadline-dev \ - make \ - stow \ - unzip \ - wget \ - xz-utils; - -ARG LUA_5_1_VERSION=5.1.5 -ADD http://www.lua.org/ftp/lua-${LUA_5_1_VERSION}.tar.gz /build/lua-5.1.tar.gz - -RUN set -e; \ - tar -xzf /build/lua-5.1.tar.gz; \ - cd lua-${LUA_5_1_VERSION}/src; \ - make -j $(nproc) all MYCFLAGS="-DLUA_USE_LINUX -fPIC" MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"; \ - cd ..; \ - make INSTALL_TOP=/usr/local/stow/lua5.1 install - -ARG LUA_5_2_VERSION=5.2.4 -ADD http://www.lua.org/ftp/lua-${LUA_5_2_VERSION}.tar.gz /build/lua-5.2.tar.gz - -RUN set -e; \ - tar -xzf /build/lua-5.2.tar.gz; \ - cd lua-${LUA_5_2_VERSION}/src; \ - make -j $(nproc) linux MYCFLAGS="-fPIC"; \ - cd ..; \ - make INSTALL_TOP=/usr/local/stow/lua5.2 install - -ARG LUA_5_3_VERSION=5.3.6 -ADD http://www.lua.org/ftp/lua-${LUA_5_3_VERSION}.tar.gz /build/lua-5.3.tar.gz - -RUN set -e; \ - tar -xzf /build/lua-5.3.tar.gz; \ - cd lua-${LUA_5_3_VERSION}/src; \ - make -j $(nproc) linux MYCFLAGS="-fPIC"; \ - cd ..; \ - make INSTALL_TOP=/usr/local/stow/lua5.3 install - -ARG LUA_5_4_VERSION=5.4.4 -ADD http://www.lua.org/ftp/lua-${LUA_5_4_VERSION}.tar.gz /build/lua-5.4.tar.gz - -RUN set -e; \ - tar -xzf /build/lua-5.4.tar.gz; \ - cd lua-${LUA_5_4_VERSION}/src; \ - make -j $(nproc) linux MYCFLAGS="-fPIC"; \ - cd ..; \ - make INSTALL_TOP=/usr/local/stow/lua5.4 install - -ARG LUAROCKS_VERSION=3.10.0 -ADD https://luarocks.org/releases/luarocks-${LUAROCKS_VERSION}.tar.gz /build/luarocks.tar.gz - -RUN set -e; \ - tar -xzf /build/luarocks.tar.gz; \ - cd luarocks-${LUAROCKS_VERSION}; \ - ./configure --prefix=/usr --with-lua=/usr/local/stow/lua5.4; \ - make -j $(nproc); \ - make install - -ARG DART_SASS_VERSION=1.71.1 -ADD https://github.com/sass/dart-sass/releases/download/${DART_SASS_VERSION}/dart-sass-${DART_SASS_VERSION}-linux-x64.tar.gz /build/sass.tar.gz - -RUN tar -xzf /build/sass.tar.gz -C /usr/local/bin --strip-components=1 dart-sass/sass - -ARG NODE_VERSION=20.11.1 -ADD https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-x64.tar.xz /build/node.tar.xz - -RUN set -e; \ - mkdir -p /usr/local/stow/node; \ - tar -xJf /build/node.tar.xz -C /usr/local/stow/node --strip-components=1 \ - --wildcards --no-wildcards-match-slash '*/bin/' '*/include/' '*/lib/'; \ - stow -d /usr/local/stow -t /usr/local -S node - -RUN --mount=type=cache,target=/var/cache/luarocks \ - set -e; \ - luarocks install ldoc; \ - luarocks install lua-discount - -FROM debian:bookworm-slim - -ENV DEBIAN_FRONTEND=noninteractive - -RUN --mount=type=cache,target=/var/cache/apt,id=apt \ - set -e; \ - apt-get update; \ - apt-get install -y --no-install-recommends --no-install-suggests \ + apt-get install -y --no-install-recommends \ ca-certificates \ cmake \ curl \ @@ -105,20 +13,64 @@ RUN --mount=type=cache,target=/var/cache/apt,id=apt \ libc-dev \ libreadline-dev \ make \ + stow \ sudo \ unzip \ - wget; \ - apt-get remove --auto-remove vim; \ - rm -rf \ - /usr/share/cmake-*/Help \ - /var/lib/apt/lists/* \ - /var/log/* \ - /usr/local/share/doc/* \ - /usr/local/share/man/* \ - /usr/share/doc/* \ - /usr/share/man/* + wget \ + xz-utils; \ + rm -rf /var/cache/apt/* -COPY --from=builder /usr/local /usr/local +WORKDIR /build + +RUN set -e; \ + wget https://nodejs.org/dist/v16.17.0/node-v16.17.0-linux-x64.tar.xz; \ + mkdir -p /usr/local/stow/node; \ + tar -xJf node-v16.17.0-linux-x64.tar.xz -C /usr/local/stow/node --strip-components=1; \ + stow -d /usr/local/stow -t /usr/local -S node; \ + wget http://www.lua.org/ftp/lua-5.1.5.tar.gz; \ + tar -xzf lua-5.1.5.tar.gz; \ + cd lua-5.1.5/src; \ + make -j $(nproc) all MYCFLAGS="-DLUA_USE_LINUX -fPIC" MYLIBS="-Wl,-E -ldl -lreadline -lhistory -lncurses"; \ + cd ..; \ + make INSTALL_TOP=/usr/local/stow/lua5.1 install; \ + cd /build; \ + wget http://www.lua.org/ftp/lua-5.2.4.tar.gz; \ + tar -xzf lua-5.2.4.tar.gz; \ + cd lua-5.2.4/src; \ + make -j $(nproc) linux MYCFLAGS="-fPIC"; \ + cd ..; \ + make INSTALL_TOP=/usr/local/stow/lua5.2 install; \ + cd /build; \ + wget http://www.lua.org/ftp/lua-5.3.6.tar.gz; \ + tar -xzf lua-5.3.6.tar.gz; \ + cd lua-5.3.6/src; \ + make -j $(nproc) linux MYCFLAGS="-fPIC"; \ + cd ..; \ + make INSTALL_TOP=/usr/local/stow/lua5.3 install; \ + cd /build; \ + wget http://www.lua.org/ftp/lua-5.4.4.tar.gz; \ + tar -xzf lua-5.4.4.tar.gz; \ + cd lua-5.4.4/src; \ + make -j $(nproc) linux MYCFLAGS="-fPIC"; \ + cd ..; \ + make INSTALL_TOP=/usr/local/stow/lua5.4 install; \ + cd /build; \ + wget https://luarocks.org/releases/luarocks-3.9.1.tar.gz; \ + tar -xzf luarocks-3.9.1.tar.gz; \ + cd luarocks-3.9.1; \ + ./configure --prefix=/usr --with-lua=/usr/local/stow/lua5.4; \ + make -j $(nproc); \ + make install; \ + cd /build; \ + wget https://github.com/sass/dart-sass/releases/download/1.54.4/dart-sass-1.54.4-linux-x64.tar.gz; \ + tar -xzf dart-sass-1.54.4-linux-x64.tar.gz; \ + mv dart-sass/sass /usr/bin/sass; \ + cd /; \ + rm -r /build + +RUN set -e; \ + luarocks install ldoc; \ + luarocks install lua-discount WORKDIR / diff --git a/node-script/Dockerfile b/node-script/Dockerfile deleted file mode 100644 index 6a8a80f..0000000 --- a/node-script/Dockerfile +++ /dev/null @@ -1,33 +0,0 @@ -FROM node:lts-slim - -LABEL version=1.0.0 - -RUN rm -r \ - /var/log/* \ - /usr/local/share/doc/* \ - /usr/local/share/man/* \ - /usr/share/doc/* \ - /usr/share/man/* \ - /tmp/* - -# No need for root access for a script runner -RUN useradd -m -d /home/runner -s /bin/bash runner -WORKDIR /home/runner -USER runner - -ENV NODE_ENV=production -ENV NPM_CONFIG_PREFIX=/home/runner/.npm-global -ENV PATH=/home/runner/.npm-global/bin:$PATH - -RUN set -e; \ - npm install --global --audit=false \ - npm@10.5.0 \ - bluebird \ - lodash \ - moment \ - shelljs \ - js-yaml \ - got; \ - rm -r \ - /home/runner/.npm/_cacache \ - /home/runner/.npm/_logs diff --git a/python-script/Dockerfile b/python-script/Dockerfile deleted file mode 100644 index db810a7..0000000 --- a/python-script/Dockerfile +++ /dev/null @@ -1,34 +0,0 @@ -FROM python:3-slim-bookworm - -LABEL version=1.1.0 - -RUN set -e; \ - apt-get update -q; \ - apt-get install -qy --no-install-recommends --no-install-suggests \ - bc \ - curl \ - dash \ - gettext \ - git \ - jq; \ - apt-get clean; \ - rm -rf \ - /var/cache/apt/* \ - /var/lib/apt/lists/* \ - /var/log/* \ - /usr/local/share/doc/* \ - /usr/local/share/man/* \ - /usr/share/doc/* \ - /usr/share/man/* - -# No need for root access for a script runner -RUN useradd -m -d /home/runner -s /bin/bash runner -WORKDIR /home/runner -USER runner - -ENV PATH=/home/runner/.local/bin:$PATH - -RUN set -e; \ - pip install --upgrade pip; \ - pip install --user numpy httpie giteapy docker xq yp spotify requests; \ - rm -r /home/runner/.cache diff --git a/ruby-script/Dockerfile b/ruby-script/Dockerfile deleted file mode 100644 index 078eb82..0000000 --- a/ruby-script/Dockerfile +++ /dev/null @@ -1,26 +0,0 @@ -FROM ruby:3.1-slim-bookworm - -LABEL version=1.1.0 - -ENV DEBIAN_FRONTEND=noninteractive -RUN --mount=type=cache,target=/var/cache/apt,id=apt \ - set -e; \ - apt-get update; \ - apt-get install -y --no-install-recommends --no-install-suggests \ - gcc \ - make; \ - apt-get clean; \ - rm -rf \ - /var/lib/apt/lists/* \ - /var/log/* \ - /usr/share/doc/* \ - /usr/share/man/* - -# No need for root access for a script runner -RUN useradd -m -d /home/runner -s /bin/bash runner -WORKDIR /home/runner -USER runner - -ENV PATH=/home/runner/.local/share/gem/ruby/3.1.0/bin:$PATH - -RUN gem install --user_install json docker-api diff --git a/rust-linux/Dockerfile b/rust-linux/Dockerfile deleted file mode 100644 index 2e9265f..0000000 --- a/rust-linux/Dockerfile +++ /dev/null @@ -1 +0,0 @@ -FROM rust:slim diff --git a/rust-windows/Dockerfile b/rust-windows/Dockerfile deleted file mode 100644 index 0507946..0000000 --- a/rust-windows/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM rust-linux - -RUN set -e; \ - apt-get update; \ - apt-get install -y --no-install-recommends g++-mingw-w64-x86-64; \ - apt-get clean; \ - rm -rf /var/lib/apt/lists/* /var/cache/apt/* - -RUN set -e; \ - rustup target add x86_64-pc-windows-gnu; \ - rustup toolchain install --force-non-host stable-x86_64-pc-windows-gnu - -COPY config.toml $CARGO_HOME/config.toml diff --git a/rust-windows/config.toml b/rust-windows/config.toml deleted file mode 100644 index ba54493..0000000 --- a/rust-windows/config.toml +++ /dev/null @@ -1,2 +0,0 @@ -[build] -target = "x86_64-pc-windows-gnu"