Compare commits
2 commits
422c27eedb
...
be96349cb2
Author | SHA1 | Date | |
---|---|---|---|
be96349cb2 | |||
5153adfe20 |
7 changed files with 215 additions and 58 deletions
|
@ -1,10 +1,102 @@
|
||||||
FROM debian:bullseye-slim
|
FROM debian:bookworm-slim as builder
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
RUN set -e; \
|
WORKDIR /build
|
||||||
|
|
||||||
|
RUN --mount=type=cache,target=/var/cache/apt,id=builder-apt \
|
||||||
|
set -e; \
|
||||||
apt-get update; \
|
apt-get update; \
|
||||||
apt-get install -y --no-install-recommends \
|
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 \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
cmake \
|
cmake \
|
||||||
curl \
|
curl \
|
||||||
|
@ -13,64 +105,20 @@ RUN set -e; \
|
||||||
libc-dev \
|
libc-dev \
|
||||||
libreadline-dev \
|
libreadline-dev \
|
||||||
make \
|
make \
|
||||||
stow \
|
|
||||||
sudo \
|
sudo \
|
||||||
unzip \
|
unzip \
|
||||||
wget \
|
wget; \
|
||||||
xz-utils; \
|
apt-get remove --auto-remove vim; \
|
||||||
rm -rf /var/cache/apt/*
|
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/*
|
||||||
|
|
||||||
WORKDIR /build
|
COPY --from=builder /usr/local /usr/local
|
||||||
|
|
||||||
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 /
|
WORKDIR /
|
||||||
|
|
||||||
|
|
33
node-script/Dockerfile
Normal file
33
node-script/Dockerfile
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
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
|
34
python-script/Dockerfile
Normal file
34
python-script/Dockerfile
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
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
|
26
ruby-script/Dockerfile
Normal file
26
ruby-script/Dockerfile
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
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
|
1
rust-linux/Dockerfile
Normal file
1
rust-linux/Dockerfile
Normal file
|
@ -0,0 +1 @@
|
||||||
|
FROM rust:slim
|
13
rust-windows/Dockerfile
Normal file
13
rust-windows/Dockerfile
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
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
|
2
rust-windows/config.toml
Normal file
2
rust-windows/config.toml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
[build]
|
||||||
|
target = "x86_64-pc-windows-gnu"
|
Loading…
Add table
Add a link
Reference in a new issue