Compare commits

..

9 Commits

Author SHA1 Message Date
358dc5e15f v5.5.2
Some checks failed
Docker (tags) / security (push) Failing after 1s
Docker (tags) / test (push) Has been skipped
Docker (tags) / release (push) Has been skipped
Docker (tags) / metadata (push) Has been skipped
2026-02-07 10:55:50 +00:00
45246bde79 fix(): no changes detected — no release necessary 2026-02-07 10:55:50 +00:00
144883a59f v5.5.1
Some checks failed
Docker (tags) / security (push) Failing after 1s
Docker (tags) / test (push) Has been skipped
Docker (tags) / release (push) Has been skipped
Docker (tags) / metadata (push) Has been skipped
2026-02-07 10:54:17 +00:00
6fbe7f3f1c fix(docker): normalize NODE_PATH and harden Dockerfile installs; use curl -fsSL; consolidate Alpine apk installs; update .dockerignore; bump @git.zone/tsdocker devDependency 2026-02-07 10:54:17 +00:00
fdf7161e2a v5.5.0
Some checks failed
Docker (tags) / security (push) Failing after 1s
Docker (tags) / test (push) Has been skipped
Docker (tags) / release (push) Has been skipped
Docker (tags) / metadata (push) Has been skipped
2026-02-07 10:43:46 +00:00
cb0bf61a6b feat(docker): Rework Dockerfile into layered installs and add tooling (tini, chromium, MongoDB); simplify Alpine CI image Python/pip setup; add tsdocker devDependency; remove npmextra push flag; update README and registry links 2026-02-07 10:43:46 +00:00
6935d292b4 v5.4.0
Some checks failed
Docker (tags) / security (push) Failing after 1s
Docker (tags) / test (push) Has been skipped
Docker (tags) / release (push) Has been skipped
Docker (tags) / metadata (push) Has been skipped
2026-02-06 14:00:03 +00:00
3420824d7b feat(ci): replace npmci with szci across CI and images; add szci preinstalled images and make tini the PID 1 init in Docker images 2026-02-06 14:00:03 +00:00
f3c2510a24 v5.3.0 2026-02-06 10:06:40 +00:00
8 changed files with 26 additions and 180 deletions

View File

@@ -30,7 +30,6 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio
iputils-ping \ iputils-ping \
dnsutils \ dnsutils \
tini \ tini \
gcc-aarch64-linux-gnu \
&& apt-get clean && apt-get clean
# Layer 2: Chromium + Puppeteer/Playwright browser deps # Layer 2: Chromium + Puppeteer/Playwright browser deps
@@ -133,12 +132,6 @@ RUN curl -fsSL https://deno.land/install.sh | sh
ENV DENO_INSTALL="/root/.deno" ENV DENO_INSTALL="/root/.deno"
ENV PATH="$DENO_INSTALL/bin:$PATH" ENV PATH="$DENO_INSTALL/bin:$PATH"
# Install Rust
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y \
&& . /root/.cargo/env \
&& rustup target add aarch64-unknown-linux-gnu
ENV PATH="/root/.cargo/bin:$PATH"
# Set entrypoint to make nvm available in all runtime contexts # Set entrypoint to make nvm available in all runtime contexts
ENTRYPOINT ["/usr/bin/tini", "--", "/usr/local/bin/docker-entrypoint.sh"] ENTRYPOINT ["/usr/bin/tini", "--", "/usr/local/bin/docker-entrypoint.sh"]
CMD ["bash"] CMD ["bash"]

View File

@@ -1,68 +0,0 @@
FROM docker:latest
LABEL author="Task Venture Capital GmbH <hello@task.vc>"
WORKDIR /workspace
# Important environment variables
ENV NODE_VERSION_LTS="24.13.0" \
NVM_DIR="/usr/local/nvm" \
PNPM_HOME="/root/.local/share/pnpm" \
NVM_NODEJS_ORG_MIRROR="https://unofficial-builds.nodejs.org/download/release"
# System packages (single layer)
# docker:latest already includes docker-cli and docker-compose plugin
RUN apk add --no-cache \
bash curl git openssl ca-certificates wget unzip \
build-base python3 python3-dev py3-pip linux-headers \
libgcc libstdc++ libc6-compat gnupg \
libffi-dev openssl-dev libc-dev \
iputils bind-tools \
tini
# Install NVM
RUN mkdir -p $NVM_DIR && curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
# Make nvm available globally in all bash shells
RUN printf '%s\n%s\n%s\n' \
'export NVM_DIR="/usr/local/nvm"' \
'[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"' \
'[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"' \
> /etc/bash.bashrc
# Copy nvm wrapper scripts
COPY image_support_files/bash-with-nvm /usr/local/bin/bash-with-nvm
COPY image_support_files/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /usr/local/bin/bash-with-nvm /usr/local/bin/docker-entrypoint.sh
# Use wrapper for RUN commands to enable nvm
SHELL ["/usr/local/bin/bash-with-nvm"]
# Enable nvm for runtime bash commands
ENV BASH_ENV=/etc/bash.bashrc
# Prepare pnpm directory
RUN mkdir -p ${PNPM_HOME}
ENV PATH="$PNPM_HOME:$PATH"
# Install Node.js LTS via NVM and pnpm
# TARGETARCH fix: override nvm_get_arch for correct musl arch on arm64
ARG TARGETARCH
RUN NVM_MUSL_ARCH=$([ "$TARGETARCH" = "arm64" ] && echo "arm64-musl" || echo "x64-musl") \
&& nvm_get_arch() { echo "$NVM_MUSL_ARCH"; } \
&& nvm install $NODE_VERSION_LTS \
&& nvm alias default $NODE_VERSION_LTS \
&& nvm use default \
&& npm install -g pnpm \
&& pnpm -v \
&& pnpm config set unsafe-perm true \
&& pnpm install -g @ship.zone/szci
# Install Rust
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
ENV PATH="/root/.cargo/bin:$PATH"
ENV NODE_PATH=$NVM_DIR/versions/node/v$NODE_VERSION_LTS/lib/node_modules
ENV PATH=$NVM_DIR/versions/node/v$NODE_VERSION_LTS/bin:$PATH
ENTRYPOINT ["/sbin/tini", "--", "/usr/local/bin/docker-entrypoint.sh"]
CMD ["bash"]

View File

@@ -1,67 +0,0 @@
FROM docker:dind
LABEL author="Task Venture Capital GmbH <hello@task.vc>"
WORKDIR /workspace
# Important environment variables
ENV NODE_VERSION_LTS="24.13.0" \
NVM_DIR="/usr/local/nvm" \
PNPM_HOME="/root/.local/share/pnpm" \
NVM_NODEJS_ORG_MIRROR="https://unofficial-builds.nodejs.org/download/release"
# System packages
RUN apk add --no-cache \
bash curl git openssl ca-certificates wget unzip \
build-base python3 python3-dev py3-pip linux-headers \
libgcc libstdc++ libc6-compat gnupg \
libffi-dev openssl-dev libc-dev \
iputils bind-tools \
tini
# Install NVM
RUN mkdir -p $NVM_DIR && curl -fsSL https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
# Make nvm available globally in all bash shells
RUN printf '%s\n%s\n%s\n' \
'export NVM_DIR="/usr/local/nvm"' \
'[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"' \
'[ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion"' \
> /etc/bash.bashrc
# Copy nvm wrapper scripts
COPY image_support_files/bash-with-nvm /usr/local/bin/bash-with-nvm
COPY image_support_files/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /usr/local/bin/bash-with-nvm /usr/local/bin/docker-entrypoint.sh
# Use wrapper for RUN commands to enable nvm
SHELL ["/usr/local/bin/bash-with-nvm"]
# Enable nvm for runtime bash commands (docker exec shells)
ENV BASH_ENV=/etc/bash.bashrc
# Prepare pnpm directory
RUN mkdir -p ${PNPM_HOME}
ENV PATH="$PNPM_HOME:$PATH"
# Install Node.js LTS via NVM and pnpm
# TARGETARCH fix: override nvm_get_arch for correct musl arch on arm64
ARG TARGETARCH
RUN NVM_MUSL_ARCH=$([ "$TARGETARCH" = "arm64" ] && echo "arm64-musl" || echo "x64-musl") \
&& nvm_get_arch() { echo "$NVM_MUSL_ARCH"; } \
&& nvm install $NODE_VERSION_LTS \
&& nvm alias default $NODE_VERSION_LTS \
&& nvm use default \
&& npm install -g pnpm \
&& pnpm -v \
&& pnpm config set unsafe-perm true \
&& pnpm install -g @ship.zone/szci
# Install Rust
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
ENV PATH="/root/.cargo/bin:$PATH"
ENV NODE_PATH=$NVM_DIR/versions/node/v$NODE_VERSION_LTS/lib/node_modules
ENV PATH=$NVM_DIR/versions/node/v$NODE_VERSION_LTS/bin:$PATH
ENTRYPOINT ["/sbin/tini", "--", "/usr/local/bin/docker-entrypoint.sh"]
CMD ["bash"]

View File

@@ -1,7 +1,12 @@
FROM host.today/ht-docker-node:szci FROM host.today/ht-docker-node:szci
RUN pnpm install -g \ RUN npm install -g \
@git.zone/tsrun \ @git.zone/tsrun \
@git.zone/tstest \ @git.zone/tstest \
@git.zone/tsdocker \ @push.rocks/qenv \
@git.zone/tsbundle \ @push.rocks/smartfile \
@git.zone/tools @push.rocks/smartpath \
@push.rocks/smartshell \
@push.rocks/tapbundle \
axios \
@push.rocks/smartdelay \
@push.rocks/smartjson

View File

@@ -1,29 +1,5 @@
# Changelog # Changelog
## 2026-02-10 - 5.8.0 - feat(docker)
install Rust toolchain (rustup) and add aarch64 cross-compilation support to Docker images
- Install rustup and add /root/.cargo/bin to PATH in Dockerfile, Dockerfile_dbase, and Dockerfile_dbase_dind
- Add gcc-aarch64-linux-gnu package and run 'rustup target add aarch64-unknown-linux-gnu' in the main Dockerfile to enable cross-compilation
## 2026-02-07 - 5.7.0 - feat(docker)
install @ship.zone/szci in base images, add docker-entrypoint and use tini, remove deprecated Dockerfile_dbase_npmci, bump @git.zone/tsdocker devDependency to ^1.17.4
- Dockerfile_dbase: install @ship.zone/szci globally via pnpm
- Dockerfile_dbase_dind: add docker-entrypoint.sh and make it executable, consolidate chmod, set ENTRYPOINT to run tini with the new entrypoint and default CMD to ["bash"], and install @ship.zone/szci
- Remove Dockerfile_dbase_npmci (deleted)
- package.json: bump devDependency @git.zone/tsdocker from ^1.17.1 to ^1.17.4
## 2026-02-07 - 5.6.0 - feat(dockerfiles)
Add base Dockerfiles for dbase/dind, enable pnpm and stack-fix, update preinstalled image tooling and registries, and bump @git.zone/tsdocker devDependency
- Added Dockerfile_dbase: Alpine-based docker image with nodejs-current, pnpm installation, python/pip setup, compiles /lib/stack-fix.so and sets LD_PRELOAD, and enables pnpm unsafe-perm.
- Added Dockerfile_dbase_dind: multi-stage docker:dind build that installs same toolchain, compiles stack-fix.so in build stage, copies pnpm/python artifacts to final stage, and preserves LD_PRELOAD.
- Added Dockerfile_dbase_npmci: lightweight image FROM hosttoday/ht-docker-dbase:latest that installs @ship.zone/npmci globally via pnpm.
- Updated Dockerfile_fossglobal_preinstalled_##version##: switched from npm to pnpm and replaced several global packages (removed push.rocks/* and axios; added @git.zone/tsdocker, @git.zone/tsbundle, @git.zone/tools).
- Updated npmextra.json: cleared szci.dockerRegistries and simplified @git.zone/tsdocker registries/registryRepoMap to only use code.foss.global and preserved platforms/testDir.
- Bumped devDependency @git.zone/tsdocker from ^1.17.0 to ^1.17.1 (patch bump).
## 2026-02-07 - 5.5.2 - fix() ## 2026-02-07 - 5.5.2 - fix()
no changes detected — no release necessary no changes detected — no release necessary

View File

@@ -23,14 +23,21 @@
} }
}, },
"szci": { "szci": {
"dockerRegistries": [] "dockerRegistries": [
"docker.io",
"registry.gitlab.com"
]
}, },
"@git.zone/tsdocker": { "@git.zone/tsdocker": {
"registries": [ "registries": [
"code.foss.global" "code.foss.global",
"registry.gitlab.com",
"docker.io"
], ],
"registryRepoMap": { "registryRepoMap": {
"code.foss.global": "host.today/ht-docker-node" "code.foss.global": "host.today/ht-docker-node",
"registry.gitlab.com": "hosttoday/ht-docker-node",
"docker.io": "hosttoday/ht-docker-node"
}, },
"platforms": ["linux/amd64", "linux/arm64"], "platforms": ["linux/amd64", "linux/arm64"],
"testDir": "./test" "testDir": "./test"

View File

@@ -1,6 +1,6 @@
{ {
"name": "ht-docker-node", "name": "ht-docker-node",
"version": "5.8.0", "version": "5.5.2",
"description": "A Docker image that integrates Node.js with shipzone.io support.", "description": "A Docker image that integrates Node.js with shipzone.io support.",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
@@ -35,6 +35,6 @@
"typescript" "typescript"
], ],
"devDependencies": { "devDependencies": {
"@git.zone/tsdocker": "^1.17.4" "@git.zone/tsdocker": "^1.16.0"
} }
} }

10
pnpm-lock.yaml generated
View File

@@ -9,8 +9,8 @@ importers:
.: .:
devDependencies: devDependencies:
'@git.zone/tsdocker': '@git.zone/tsdocker':
specifier: ^1.17.4 specifier: ^1.16.0
version: 1.17.4 version: 1.16.0
packages: packages:
@@ -45,8 +45,8 @@ packages:
'@design.estate/dees-element@2.1.6': '@design.estate/dees-element@2.1.6':
resolution: {integrity: sha512-7zyHkUjB8UEQgT9VbB2IJtc/yuPt9CI5JGel3b6BxA1kecY64ceIjFvof1uIkc0QP8q2fMLLY45r1c+9zDTjzg==} resolution: {integrity: sha512-7zyHkUjB8UEQgT9VbB2IJtc/yuPt9CI5JGel3b6BxA1kecY64ceIjFvof1uIkc0QP8q2fMLLY45r1c+9zDTjzg==}
'@git.zone/tsdocker@1.17.4': '@git.zone/tsdocker@1.16.0':
resolution: {integrity: sha512-yuA7DfCLztkoPs0XetEP0gL7x/eh0g/e/tdTXJW7AciOBqgFvqoJ8iJCCIRgjT60NsctyEFUo9j1cgL/QxUr/w==} resolution: {integrity: sha512-e4rYrCS5oPG3bvbmCA6PvSuZFtDBnQYJMA9o2hr/Myq4PkO1l+uHy8APaciQV0qC9cEcJZmd6fb4QUND3fBDEw==}
hasBin: true hasBin: true
'@inquirer/checkbox@3.0.1': '@inquirer/checkbox@3.0.1':
@@ -1412,7 +1412,7 @@ snapshots:
- supports-color - supports-color
- vue - vue
'@git.zone/tsdocker@1.17.4': '@git.zone/tsdocker@1.16.0':
dependencies: dependencies:
'@push.rocks/lik': 6.2.2 '@push.rocks/lik': 6.2.2
'@push.rocks/npmextra': 5.3.3 '@push.rocks/npmextra': 5.3.3