diff --git a/.github/workflows/epicmorg.base.images.debian.11.yml b/.github/workflows/epicmorg.base.images.debian.11.yml index caaa16044..119f42494 100644 --- a/.github/workflows/epicmorg.base.images.debian.11.yml +++ b/.github/workflows/epicmorg.base.images.debian.11.yml @@ -118,6 +118,7 @@ jobs: - {version: '21', path: 'nodejs/node21'} - {version: '22', path: 'nodejs/node22'} - {version: '23', path: 'nodejs/node23'} + - {version: '24', path: 'nodejs/node24'} steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/epicmorg.base.images.debian.12.yml b/.github/workflows/epicmorg.base.images.debian.12.yml index fa2bf3d94..deeb43f53 100644 --- a/.github/workflows/epicmorg.base.images.debian.12.yml +++ b/.github/workflows/epicmorg.base.images.debian.12.yml @@ -119,6 +119,7 @@ jobs: - {version: '21', path: 'nodejs/node21'} - {version: '22', path: 'nodejs/node22'} - {version: '23', path: 'nodejs/node23'} + - {version: '24', path: 'nodejs/node24'} steps: - uses: actions/checkout@v4 with: diff --git a/.github/workflows/epicmorg.base.images.debian.13.yml b/.github/workflows/epicmorg.base.images.debian.13.yml index 822551a3a..b8e14b0de 100644 --- a/.github/workflows/epicmorg.base.images.debian.13.yml +++ b/.github/workflows/epicmorg.base.images.debian.13.yml @@ -121,6 +121,7 @@ jobs: - {version: '21', path: 'nodejs/node21'} - {version: '22', path: 'nodejs/node22'} - {version: '23', path: 'nodejs/node23'} + - {version: '24', path: 'nodejs/node24'} steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/epicmorg.base.images.debian.sid.yml b/.github/workflows/epicmorg.base.images.debian.sid.yml index 2f3bb1804..a9e86ab75 100644 --- a/.github/workflows/epicmorg.base.images.debian.sid.yml +++ b/.github/workflows/epicmorg.base.images.debian.sid.yml @@ -121,6 +121,7 @@ jobs: - {version: '21', path: 'nodejs/node21'} - {version: '22', path: 'nodejs/node22'} - {version: '23', path: 'nodejs/node23'} + - {version: '24', path: 'nodejs/node24'} steps: - uses: actions/checkout@v4 diff --git a/linux/ecosystem/epicmorg/debian/10-buster/nodejs/node20/Dockerfile b/linux/ecosystem/epicmorg/debian/10-buster/nodejs/node20/Dockerfile index 6064724eb..de3ae1567 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/nodejs/node20/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/10-buster/nodejs/node20/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=20 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.4 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/10-buster/nodejs/node20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/10-buster/nodejs/node20/Dockerfile.develop index 8ac2762f1..9f4bebf09 100644 --- a/linux/ecosystem/epicmorg/debian/10-buster/nodejs/node20/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/10-buster/nodejs/node20/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=20 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.4 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Dockerfile index e32ed23a8..a21202073 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Dockerfile.develop index 139507831..7ca4711f8 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Dockerfile index 8cd106a4b..82689037e 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=22 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.14.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.17.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Dockerfile.develop index 9d0d09733..aaed434ba 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=22 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.14.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.17.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Dockerfile index dc36c8bf2..99c9daf80 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=20 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.4 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Dockerfile.develop index 26c01dc51..a40080b1c 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=20 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.4 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node23/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node23/Dockerfile index e32ed23a8..a21202073 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node23/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node23/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node23/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node23/Dockerfile.develop index 139507831..7ca4711f8 100644 --- a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node23/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node23/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node24/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node24/Dockerfile new file mode 100644 index 000000000..6b4e21c59 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node24/Dockerfile @@ -0,0 +1,45 @@ +FROM epicmorg/debian:bullseye +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=24 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.4.1 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 24.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node24/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node24/Dockerfile.develop new file mode 100644 index 000000000..41aca0269 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node24/Dockerfile.develop @@ -0,0 +1,45 @@ +FROM epicmorg/debian:bullseye-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=24 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.4.1 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 24.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node24/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node24/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node24/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node24/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node24/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node24/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/teamcity-agent](https://hub.docker.com/r/jetbrains/teamcity-agent/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/teamcity-agent/) diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node24/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node24/docker-compose.yml new file mode 100644 index 000000000..64a82da5b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node24/docker-compose.yml @@ -0,0 +1,10 @@ +services: + app: + image: "epicmorg/debian:bullseye-nodejs24" + build: + context: . + app-develop: + image: "epicmorg/debian:bullseye-develop-nodejs24" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/current/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/current/Dockerfile index cd5a172ba..5376d9bde 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/current/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/current/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/current/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/current/Dockerfile.develop index 0c02c4edb..69d058438 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/current/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/current/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/lts/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/lts/Dockerfile index 65180f8df..b09efdb9d 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/lts/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/lts/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=22 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.14.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.17.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/lts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/lts/Dockerfile.develop index 91d4c3929..29e9db48c 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/lts/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/lts/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=22 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.14.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.17.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node20/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node20/Dockerfile index d78a577f6..ddddad977 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node20/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node20/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=20 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.4 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node20/Dockerfile.develop index 06314b758..f6717b88c 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node20/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node20/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=20 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.4 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node22/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node22/Dockerfile index 405ed2faa..8ec906079 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node22/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node22/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=22 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.14.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.17.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node22/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node22/Dockerfile.develop index 28ecabc4d..3b2599e6b 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node22/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node22/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=22 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.14.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.17.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node23/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node23/Dockerfile index cd5a172ba..5376d9bde 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node23/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node23/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node23/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node23/Dockerfile.develop index 0c02c4edb..69d058438 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node23/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node23/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node24/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node24/Dockerfile new file mode 100644 index 000000000..fcce26bec --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node24/Dockerfile @@ -0,0 +1,45 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=24 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.4.1 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 24.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node24/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node24/Dockerfile.develop new file mode 100644 index 000000000..1e225981d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node24/Dockerfile.develop @@ -0,0 +1,45 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=24 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.4.1 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 24.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node24/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node24/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node24/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node24/README.md b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node24/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node24/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/teamcity-agent](https://hub.docker.com/r/jetbrains/teamcity-agent/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/teamcity-agent/) diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node24/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node24/docker-compose.yml new file mode 100644 index 000000000..0b8ced1e0 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node24/docker-compose.yml @@ -0,0 +1,10 @@ +services: + app: + image: "epicmorg/debian:bookworm-nodejs24" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs24" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Dockerfile index 2874c93ba..13709890b 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Dockerfile.develop index d5344cfa0..56bb03a74 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Dockerfile index b3bd682ba..1561cec58 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=20 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.4 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Dockerfile.develop index a7dc13f36..b2851ccc7 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=20 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.4 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Dockerfile index b3bd682ba..1561cec58 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=20 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.4 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Dockerfile.develop index a7dc13f36..b2851ccc7 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=20 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.4 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node23/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node23/Dockerfile index 2874c93ba..13709890b 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node23/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node23/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node23/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node23/Dockerfile.develop index d5344cfa0..56bb03a74 100644 --- a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node23/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node23/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node24/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node24/Dockerfile new file mode 100644 index 000000000..4eb43684a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node24/Dockerfile @@ -0,0 +1,45 @@ +FROM epicmorg/debian:trixie +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=24 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.4.1 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 24.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node24/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node24/Dockerfile.develop new file mode 100644 index 000000000..858a4f795 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node24/Dockerfile.develop @@ -0,0 +1,45 @@ +FROM epicmorg/debian:trixie-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=24 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.4.1 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 24.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node24/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node24/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node24/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node24/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node24/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node24/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/teamcity-agent](https://hub.docker.com/r/jetbrains/teamcity-agent/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/teamcity-agent/) diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node24/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node24/docker-compose.yml new file mode 100644 index 000000000..3b1a6d510 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node24/docker-compose.yml @@ -0,0 +1,10 @@ +services: + app: + image: "epicmorg/debian:trixie-nodejs24" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs24" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/current/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/current/Dockerfile index 406cdf5ba..e10366166 100644 --- a/linux/ecosystem/epicmorg/debian/sid/nodejs/current/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/current/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/current/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/current/Dockerfile.develop index c88afc00c..fa583bad2 100644 --- a/linux/ecosystem/epicmorg/debian/sid/nodejs/current/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/current/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Dockerfile index 87b87aa1f..22e0972a9 100644 --- a/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=20 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.4 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Dockerfile.develop index a382ee1f9..43acdfaf0 100644 --- a/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=20 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.4 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Dockerfile index 87b87aa1f..22e0972a9 100644 --- a/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=20 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.4 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Dockerfile.develop index a382ee1f9..43acdfaf0 100644 --- a/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=20 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.19.4 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node23/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node23/Dockerfile index 406cdf5ba..e10366166 100644 --- a/linux/ecosystem/epicmorg/debian/sid/nodejs/node23/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node23/Dockerfile @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node23/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node23/Dockerfile.develop index c88afc00c..fa583bad2 100644 --- a/linux/ecosystem/epicmorg/debian/sid/nodejs/node23/Dockerfile.develop +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node23/Dockerfile.develop @@ -4,7 +4,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node24/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node24/Dockerfile new file mode 100644 index 000000000..0f9fa2155 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node24/Dockerfile @@ -0,0 +1,45 @@ +FROM epicmorg/debian:sid +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=24 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.4.1 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 24.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node24/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node24/Dockerfile.develop new file mode 100644 index 000000000..1ca110a6f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node24/Dockerfile.develop @@ -0,0 +1,45 @@ +FROM epicmorg/debian:sid-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=24 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.4.1 +ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz +ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz + +################################################################## +# Node.js 24.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +ADD ${K_NODE_URL} /tmp +ADD ${K_NODE_HEADERS_URL} /tmp + +RUN tar -xzf /tmp/node-v${K_NODE_VERSION}-linux-x64.tar.gz --strip-components=1 --directory /usr/local && \ + tar -xzf /tmp/node-v${K_NODE_VERSION}-headers.tar.gz --strip-components=1 --directory /usr/local && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN npm install -g pnpm yarn + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo node $(node --version) && \ + echo npm $(npm --version) && \ + echo yarn $(yarn --version) && \ + echo pnpm $(pnpm --version) && \ + echo "=============================================" + +################################################################## +# Cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb && \ + rm -rfv /root/tmp/* && \ + rm -rfv /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node24/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node24/Makefile new file mode 100644 index 000000000..1e4371492 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node24/Makefile @@ -0,0 +1,44 @@ +all: app + +app: + make pip + make build + make deploy + make clean + +build: + make build-buildah + +deploy: + make deploy-buildah + +build-buildah: + buildah-wrapper --build + +deploy-buildah: + buildah-wrapper --deploy + +build-kaniko: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run + +deploy-kaniko: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy-compose: + docker-compose push + +clean: + docker container prune -f + docker image prune -f + docker network prune -f + docker volume prune -f + docker system prune -af + buildah rm -a + buildah rmi -a + +pip: + pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper + pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper \ No newline at end of file diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node24/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node24/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node24/README.md @@ -0,0 +1,93 @@ +## TeamCity Minimal Build Agent + +[](https://confluence.jetbrains.com/display/ALL/JetBrains+on+GitHub) + +This is an official [JetBrains TeamCity](https://www.jetbrains.com/teamcity/) minimal build agent image. + + More details about tags and components are [here](https://github.com/JetBrains/teamcity-docker-images/blob/master/generated/teamcity-minimal-agent.md). + +The [TeamCity build agent](https://www.jetbrains.com/help/teamcity/build-agent.html) connects to the TeamCity server and spawns the actual build processes. +You can use the ```jetbrains/teamcity-server``` image to run a TeamCity server. + +This minimal image adds just a TeamCity agent without any tools like VCS clients, etc. It is suitable for simple builds and can serve as a base for your custom images. For Java or .NET development we recommend using the default build agent image [jetbrains/teamcity-agent](https://hub.docker.com/r/jetbrains/teamcity-agent/). + +## How to Use This Image + +Pull the TeamCity minimal image from the Docker Hub Repository: + +``` +jetbrains/teamcity-minimal-agent +``` +  +and use the following command to start a container with TeamCity agent running inside +a Linux container: + +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + jetbrains/teamcity-minimal-agent +``` +  +or a Windows container: +``` +docker run -it -e SERVER_URL="" + -v :C:/BuildAgent/conf + jetbrains/teamcity-minimal-agent +``` +where `` is the full URL for TeamCity server, accessible by the agent. Note that `localhost` will not generally not work as it will refer to the `localhost` inside the container. +`` is the host machine directory to serve as the TeamCity agent config directory. We recommend providing this binding in order to persist the agent configuration, e.g. authorization on the server. Note that you should map a different folder for every new agent you create. + +Since version 2020.1, TeamCity agent Docker images __run under a non-root user__. Refer to our [upgrade notes](https://www.jetbrains.com/help/teamcity/upgrade-notes.html#UpgradeNotes-AgentDockerimagesrunundernon-rootuser) for information on possible affected use cases. + +When you run the agent for the first time, you should authorize it via the TeamCity server UI: go to the **Unauthorized Agents** page in your browser. See [more details](https://www.jetbrains.com/help/teamcity/build-agent.html). + +All information about agent authorization is stored in agent's configuration folder. If you stop the container with the agent and then start a new one with the same config folder, the agent's name and authorization state will be preserved. + +TeamCity agent does not need manual upgrade: it will upgrade itself automatically on connecting to an upgraded server. + +### Agent Image Environment Variables + +- **SERVER_URL** - URL of the TeamCity server agent will connect to +- **AGENT_NAME** - (optional) Name of the agent in TeamCity UI, autogenerated if omitted +- **AGENT_TOKEN** - (optional) Agent authorization token, if unset, the agent should be [authorized](https://www.jetbrains.com/help/teamcity/build-agent.html#BuildAgent-BuildAgentStatus) via TeamCity UI. +- **OWN_ADDRESS** - (optional, linux only) IP address build agent binds to, autodetected +- **OWN_PORT** - (optional, linux only) Port build agent binds to, 9090 by default + +### Windows Containers Limitations + +The details on the known problems in Windows containers are available in the [TeamCity documentation](https://www.jetbrains.com/help/teamcity/known-issues.html#KnownIssues-WindowsDockerContainers). + +## Customization + +You can customize the image via the usual Docker procedure: + +1. Run the image +``` +docker run -it -e SERVER_URL="" \ + -v :/data/teamcity_agent/conf \ + --name="my-customized-agent" \ + jetbrains/teamcity-minimal-agent \ +``` +2. Enter the container +``` +docker exec -it my-customized-agent bash +``` + +3. Change whatever you need +4. Exit and [create a new image](https://docs.docker.com/engine/reference/commandline/commit/) from the container +``` +docker commit my-customized-agent +``` + +## License + +The image is available under the [TeamCity license](https://www.jetbrains.com/teamcity/buy/license.html). +TeamCity is free for perpetual use with the limitation of 100 build configurations (jobs) and 3 agents. [Licensing details](https://www.jetbrains.com/help/teamcity/licensing-policy.html). + +## Feedback + +Report issues of suggestions to the official TeamCity [issue tracker](https://youtrack.jetbrains.com/issues/TW). + +## Other TeamCity Images +* [TeamCity Server](https://hub.docker.com/r/jetbrains/teamcity-server/) +* [Build Agent](https://hub.docker.com/r/jetbrains/teamcity-agent/) diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node24/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node24/docker-compose.yml new file mode 100644 index 000000000..a78c7c634 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node24/docker-compose.yml @@ -0,0 +1,10 @@ +services: + app: + image: "epicmorg/debian:sid-nodejs24" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs24" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/github/runner/node23/Dockerfile b/linux/ecosystem/github/runner/node23/Dockerfile index 0898ecdad..adbc863f8 100644 --- a/linux/ecosystem/github/runner/node23/Dockerfile +++ b/linux/ecosystem/github/runner/node23/Dockerfile @@ -3,7 +3,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/gitlab/runner/node23/Dockerfile b/linux/ecosystem/gitlab/runner/node23/Dockerfile index eaaac2929..13c1a59cf 100644 --- a/linux/ecosystem/gitlab/runner/node23/Dockerfile +++ b/linux/ecosystem/gitlab/runner/node23/Dockerfile @@ -3,7 +3,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/teamcity/agent/node22/Dockerfile b/linux/ecosystem/teamcity/agent/node22/Dockerfile index 153b4eea9..581812c18 100644 --- a/linux/ecosystem/teamcity/agent/node22/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node22/Dockerfile @@ -3,7 +3,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=22 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.14.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.17.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz diff --git a/linux/ecosystem/teamcity/agent/node23/Dockerfile b/linux/ecosystem/teamcity/agent/node23/Dockerfile index c4cdea5a2..f8fc58250 100644 --- a/linux/ecosystem/teamcity/agent/node23/Dockerfile +++ b/linux/ecosystem/teamcity/agent/node23/Dockerfile @@ -3,7 +3,7 @@ LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" ARG DEBIAN_FRONTEND=noninteractive ARG K_NODE_MAJOR_VERSION=23 -ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.1 ARG K_NODE_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-linux-x64.tar.gz ARG K_NODE_HEADERS_URL=https://nodejs.org/dist/v${K_NODE_VERSION}/node-v${K_NODE_VERSION}-headers.tar.gz