From 6c869209c2c512e0c6659d3c3b863c51e09c8d7a Mon Sep 17 00:00:00 2001 From: STAM Date: Mon, 19 Aug 2024 16:31:13 +0300 Subject: [PATCH] Debian 11 LTS rework --- .../epicmorg.advanced.python.yml.txt} | 0 .../epicmorg.base.images.debian.11.yml | 134 ++++++++++++++++-- Makefile | 126 +++++++++++----- README.md | 4 +- .../python/develop/2.7/Dockerfile | 0 .../python/develop/2.7/Makefile | 0 .../python/develop/2.7/docker-compose.yml | 0 .../python/develop/3.10/Dockerfile | 0 .../python/develop/3.10/Makefile | 0 .../python/develop/3.10/docker-compose.yml | 0 .../python/develop/3.11/Dockerfile | 0 .../python/develop/3.11/Makefile | 0 .../python/develop/3.11/docker-compose.yml | 0 .../python/develop/3.12/Dockerfile | 0 .../python/develop/3.12/Makefile | 0 .../python/develop/3.12/docker-compose.yml | 0 .../python/develop/3.13/Dockerfile | 0 .../python/develop/3.13/Makefile | 0 .../python/develop/3.13/docker-compose.yml | 0 .../python/develop/3.6/Dockerfile | 0 .../python/develop/3.6/Makefile | 0 .../python/develop/3.6/docker-compose.yml | 0 .../python/develop/3.7/Dockerfile | 0 .../python/develop/3.7/Makefile | 0 .../python/develop/3.7/docker-compose.yml | 0 .../python/develop/3.8/Dockerfile | 0 .../python/develop/3.8/Makefile | 0 .../python/develop/3.8/docker-compose.yml | 0 .../python/develop/3.9/Dockerfile | 0 .../python/develop/3.9/Makefile | 0 .../python/develop/3.9/docker-compose.yml | 0 .../python/main/2.7/.env | 0 .../python/main/2.7/Dockerfile | 0 .../python/main/2.7/Makefile | 0 .../python/main/2.7/docker-compose.yml | 0 .../2.7/etc/apt/apt.conf.d/96-apt-retries | 0 .../2.7/etc/apt/apt.conf.d/97-allow-cert-exp | 0 .../apt/apt.conf.d/98-allow-unauthenticated | 0 .../apt/apt.conf.d/99-no-check-valid-until | 0 .../python/main/2.7/etc/apt/sources.list | 0 .../apt/sources.list.d/github_git-lfs.list | 0 .../launchpad_git-mainline.list | 0 .../sources.list.d/launchpad_git-stable.list | 0 .../python/main/2.7/etc/locale.gen | 0 .../python/main/2.7/etc/locale.gen.full | 0 .../python/main/3.10/.env | 0 .../python/main/3.10/Dockerfile | 0 .../python/main/3.10/Makefile | 0 .../python/main/3.10/docker-compose.yml | 0 .../3.10/etc/apt/apt.conf.d/96-apt-retries | 0 .../3.10/etc/apt/apt.conf.d/97-allow-cert-exp | 0 .../apt/apt.conf.d/98-allow-unauthenticated | 0 .../apt/apt.conf.d/99-no-check-valid-until | 0 .../python/main/3.10/etc/apt/sources.list | 0 .../apt/sources.list.d/github_git-lfs.list | 0 .../launchpad_git-mainline.list | 0 .../sources.list.d/launchpad_git-stable.list | 0 .../python/main/3.10/etc/locale.gen | 0 .../python/main/3.10/etc/locale.gen.full | 0 .../python/main/3.11/.env | 0 .../python/main/3.11/Dockerfile | 0 .../python/main/3.11/Makefile | 0 .../python/main/3.11/docker-compose.yml | 0 .../3.11/etc/apt/apt.conf.d/96-apt-retries | 0 .../3.11/etc/apt/apt.conf.d/97-allow-cert-exp | 0 .../apt/apt.conf.d/98-allow-unauthenticated | 0 .../apt/apt.conf.d/99-no-check-valid-until | 0 .../python/main/3.11/etc/apt/sources.list | 0 .../apt/sources.list.d/github_git-lfs.list | 0 .../launchpad_git-mainline.list | 0 .../sources.list.d/launchpad_git-stable.list | 0 .../python/main/3.11/etc/locale.gen | 0 .../python/main/3.11/etc/locale.gen.full | 0 .../python/main/3.12/.env | 0 .../python/main/3.12/Dockerfile | 0 .../python/main/3.12/Makefile | 0 .../python/main/3.12/docker-compose.yml | 0 .../3.12/etc/apt/apt.conf.d/96-apt-retries | 0 .../3.12/etc/apt/apt.conf.d/97-allow-cert-exp | 0 .../apt/apt.conf.d/98-allow-unauthenticated | 0 .../apt/apt.conf.d/99-no-check-valid-until | 0 .../python/main/3.12/etc/apt/sources.list | 0 .../apt/sources.list.d/github_git-lfs.list | 0 .../launchpad_git-mainline.list | 0 .../sources.list.d/launchpad_git-stable.list | 0 .../trusted.gpg.d/deb-multimedia-keyring.gpg | Bin .../githubcli-archive-keyring.gpg | Bin .../python/main/3.12/etc/locale.gen | 0 .../python/main/3.12/etc/locale.gen.full | 0 .../python/main/3.13/.env | 0 .../python/main/3.13/Dockerfile | 0 .../python/main/3.13/Makefile | 0 .../python/main/3.13/docker-compose.yml | 0 .../3.13/etc/apt/apt.conf.d/96-apt-retries | 0 .../3.13/etc/apt/apt.conf.d/97-allow-cert-exp | 0 .../apt/apt.conf.d/98-allow-unauthenticated | 0 .../apt/apt.conf.d/99-no-check-valid-until | 0 .../python/main/3.13/etc/apt/sources.list | 0 .../apt/sources.list.d/github_git-lfs.list | 0 .../launchpad_git-mainline.list | 0 .../sources.list.d/launchpad_git-stable.list | 0 .../python/main/3.13/etc/locale.gen | 0 .../python/main/3.13/etc/locale.gen.full | 0 .../python/main/3.6/.env | 0 .../python/main/3.6/Dockerfile | 0 .../python/main/3.6/Makefile | 0 .../python/main/3.6/docker-compose.yml | 0 .../3.6/etc/apt/apt.conf.d/96-apt-retries | 0 .../3.6/etc/apt/apt.conf.d/97-allow-cert-exp | 0 .../apt/apt.conf.d/98-allow-unauthenticated | 0 .../apt/apt.conf.d/99-no-check-valid-until | 0 .../python/main/3.6/etc/apt/sources.list | 0 .../apt/sources.list.d/github_git-lfs.list | 0 .../launchpad_git-mainline.list | 0 .../sources.list.d/launchpad_git-stable.list | 0 .../python/main/3.6/etc/locale.gen | 0 .../python/main/3.6/etc/locale.gen.full | 0 .../python/main/3.7/.env | 0 .../python/main/3.7/Dockerfile | 0 .../python/main/3.7/Makefile | 0 .../python/main/3.7/docker-compose.yml | 0 .../3.7/etc/apt/apt.conf.d/96-apt-retries | 0 .../3.7/etc/apt/apt.conf.d/97-allow-cert-exp | 0 .../apt/apt.conf.d/98-allow-unauthenticated | 0 .../apt/apt.conf.d/99-no-check-valid-until | 0 .../python/main/3.7/etc/apt/sources.list | 0 .../apt/sources.list.d/github_git-lfs.list | 0 .../launchpad_git-mainline.list | 0 .../sources.list.d/launchpad_git-stable.list | 0 .../python/main/3.7/etc/locale.gen | 0 .../python/main/3.7/etc/locale.gen.full | 0 .../python/main/3.8/.env | 0 .../python/main/3.8/Dockerfile | 0 .../python/main/3.8/Makefile | 0 .../python/main/3.8/docker-compose.yml | 0 .../3.8/etc/apt/apt.conf.d/96-apt-retries | 0 .../3.8/etc/apt/apt.conf.d/97-allow-cert-exp | 0 .../apt/apt.conf.d/98-allow-unauthenticated | 0 .../apt/apt.conf.d/99-no-check-valid-until | 0 .../python/main/3.8/etc/apt/sources.list | 0 .../apt/sources.list.d/github_git-lfs.list | 0 .../launchpad_git-mainline.list | 0 .../sources.list.d/launchpad_git-stable.list | 0 .../python/main/3.8/etc/locale.gen | 0 .../python/main/3.8/etc/locale.gen.full | 0 .../python/main/3.9/.env | 0 .../python/main/3.9/Dockerfile | 0 .../python/main/3.9/Makefile | 0 .../python/main/3.9/docker-compose.yml | 0 .../3.9/etc/apt/apt.conf.d/96-apt-retries | 0 .../3.9/etc/apt/apt.conf.d/97-allow-cert-exp | 0 .../apt/apt.conf.d/98-allow-unauthenticated | 0 .../apt/apt.conf.d/99-no-check-valid-until | 0 .../python/main/3.9/etc/apt/sources.list | 0 .../apt/sources.list.d/github_git-lfs.list | 0 .../launchpad_git-mainline.list | 0 .../sources.list.d/launchpad_git-stable.list | 0 .../python/main/3.9/etc/locale.gen | 0 .../python/main/3.9/etc/locale.gen.full | 0 .../11-bullseye/dotnet/dotnet5/Dockerfile | 54 +++++++ .../dotnet/dotnet5/Dockerfile.develop | 53 +++++++ .../{jdk11 => dotnet/dotnet5}/Makefile | 0 .../dotnet/dotnet5/docker-compose.yml | 11 ++ .../11-bullseye/dotnet/dotnet6/Dockerfile | 54 +++++++ .../dotnet/dotnet6/Dockerfile.develop | 53 +++++++ .../{jdk16 => dotnet/dotnet6}/Makefile | 0 .../dotnet/dotnet6/docker-compose.yml | 11 ++ .../11-bullseye/dotnet/dotnet7/Dockerfile | 54 +++++++ .../dotnet/dotnet7/Dockerfile.develop | 53 +++++++ .../{jdk17 => dotnet/dotnet7}/Makefile | 0 .../dotnet/dotnet7/docker-compose.yml | 11 ++ .../11-bullseye/dotnet/dotnet8/Dockerfile | 54 +++++++ .../dotnet/dotnet8/Dockerfile.develop | 53 +++++++ .../{jdk18 => dotnet/dotnet8}/Makefile | 0 .../dotnet/dotnet8/docker-compose.yml | 11 ++ .../11-bullseye/dotnet/dotnet9/Dockerfile | 54 +++++++ .../dotnet/dotnet9/Dockerfile.develop | 53 +++++++ .../{jdk19 => dotnet/dotnet9}/Makefile | 0 .../dotnet/dotnet9/docker-compose.yml | 11 ++ .../debian/11-bullseye/dotnet/lts/Dockerfile | 54 +++++++ .../11-bullseye/dotnet/lts/Dockerfile.develop | 53 +++++++ .../{jdk20 => dotnet/lts}/Makefile | 0 .../11-bullseye/dotnet/lts/docker-compose.yml | 11 ++ .../debian/11-bullseye/dotnet/sts/Dockerfile | 54 +++++++ .../11-bullseye/dotnet/sts/Dockerfile.develop | 53 +++++++ .../{jdk21 => dotnet/sts}/Makefile | 0 .../11-bullseye/dotnet/sts/docker-compose.yml | 11 ++ .../11-bullseye/{ => jdk}/jdk11/Dockerfile | 0 .../{ => jdk}/jdk11/Dockerfile.develop | 0 .../11-bullseye/{jdk22 => jdk/jdk11}/Makefile | 0 .../{ => jdk}/jdk11/docker-compose.yml | 0 .../11-bullseye/{ => jdk}/jdk16/Dockerfile | 0 .../{ => jdk}/jdk16/Dockerfile.develop | 0 .../11-bullseye/{jdk6 => jdk/jdk16}/Makefile | 0 .../{ => jdk}/jdk16/docker-compose.yml | 0 .../11-bullseye/{ => jdk}/jdk17/Dockerfile | 0 .../{ => jdk}/jdk17/Dockerfile.develop | 0 .../11-bullseye/{jdk7 => jdk/jdk17}/Makefile | 0 .../{ => jdk}/jdk17/docker-compose.yml | 0 .../11-bullseye/{ => jdk}/jdk18/Dockerfile | 0 .../{ => jdk}/jdk18/Dockerfile.develop | 0 .../11-bullseye/{jdk8 => jdk/jdk18}/Makefile | 0 .../{ => jdk}/jdk18/docker-compose.yml | 0 .../11-bullseye/{ => jdk}/jdk19/Dockerfile | 0 .../{ => jdk}/jdk19/Dockerfile.develop | 0 .../debian/11-bullseye/jdk/jdk19/Makefile | 36 +++++ .../{ => jdk}/jdk19/docker-compose.yml | 0 .../11-bullseye/{ => jdk}/jdk20/Dockerfile | 0 .../{ => jdk}/jdk20/Dockerfile.develop | 0 .../debian/11-bullseye/jdk/jdk20/Makefile | 36 +++++ .../{ => jdk}/jdk20/docker-compose.yml | 0 .../11-bullseye/{ => jdk}/jdk21/Dockerfile | 0 .../{ => jdk}/jdk21/Dockerfile.develop | 0 .../debian/11-bullseye/jdk/jdk21/Makefile | 36 +++++ .../{ => jdk}/jdk21/docker-compose.yml | 0 .../11-bullseye/{ => jdk}/jdk22/Dockerfile | 0 .../{ => jdk}/jdk22/Dockerfile.develop | 0 .../debian/11-bullseye/jdk/jdk22/Makefile | 36 +++++ .../{ => jdk}/jdk22/docker-compose.yml | 0 .../11-bullseye/{ => jdk}/jdk6/Dockerfile | 0 .../{ => jdk}/jdk6/Dockerfile.develop | 0 .../debian/11-bullseye/jdk/jdk6/Makefile | 36 +++++ .../{ => jdk}/jdk6/docker-compose.yml | 0 .../11-bullseye/{ => jdk}/jdk7/Dockerfile | 0 .../{ => jdk}/jdk7/Dockerfile.develop | 0 .../debian/11-bullseye/jdk/jdk7/Makefile | 36 +++++ .../{ => jdk}/jdk7/docker-compose.yml | 0 .../11-bullseye/{ => jdk}/jdk8/Dockerfile | 0 .../{ => jdk}/jdk8/Dockerfile.develop | 0 .../debian/11-bullseye/jdk/jdk8/Makefile | 36 +++++ .../{ => jdk}/jdk8/docker-compose.yml | 0 .../11-bullseye/nodejs/current/Dockerfile | 46 ++++++ .../nodejs/current/Dockerfile.develop | 46 ++++++ .../11-bullseye/nodejs/current/Makefile | 36 +++++ .../11-bullseye/nodejs/current/README.md | 93 ++++++++++++ .../nodejs/current/docker-compose.yml | 11 ++ .../debian/11-bullseye/nodejs/lts/Dockerfile | 46 ++++++ .../11-bullseye/nodejs/lts/Dockerfile.develop | 46 ++++++ .../debian/11-bullseye/nodejs/lts/Makefile | 36 +++++ .../debian/11-bullseye/nodejs/lts/README.md | 93 ++++++++++++ .../11-bullseye/nodejs/lts/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node0.12/Dockerfile | 46 ++++++ .../nodejs/node0.12/Dockerfile.develop | 46 ++++++ .../11-bullseye/nodejs/node0.12/Makefile | 36 +++++ .../11-bullseye/nodejs/node0.12/README.md | 93 ++++++++++++ .../nodejs/node0.12/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node10/Dockerfile | 46 ++++++ .../nodejs/node10/Dockerfile.develop | 46 ++++++ .../debian/11-bullseye/nodejs/node10/Makefile | 36 +++++ .../11-bullseye/nodejs/node10/README.md | 93 ++++++++++++ .../nodejs/node10/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node11/Dockerfile | 46 ++++++ .../nodejs/node11/Dockerfile.develop | 46 ++++++ .../debian/11-bullseye/nodejs/node11/Makefile | 36 +++++ .../11-bullseye/nodejs/node11/README.md | 93 ++++++++++++ .../nodejs/node11/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node12/Dockerfile | 46 ++++++ .../nodejs/node12/Dockerfile.develop | 46 ++++++ .../debian/11-bullseye/nodejs/node12/Makefile | 36 +++++ .../11-bullseye/nodejs/node12/README.md | 93 ++++++++++++ .../nodejs/node12/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node13/Dockerfile | 46 ++++++ .../nodejs/node13/Dockerfile.develop | 46 ++++++ .../debian/11-bullseye/nodejs/node13/Makefile | 36 +++++ .../11-bullseye/nodejs/node13/README.md | 93 ++++++++++++ .../nodejs/node13/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node14/Dockerfile | 46 ++++++ .../nodejs/node14/Dockerfile.develop | 46 ++++++ .../debian/11-bullseye/nodejs/node14/Makefile | 36 +++++ .../11-bullseye/nodejs/node14/README.md | 93 ++++++++++++ .../nodejs/node14/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node15/Dockerfile | 47 ++++++ .../nodejs/node15/Dockerfile.develop | 47 ++++++ .../debian/11-bullseye/nodejs/node15/Makefile | 36 +++++ .../11-bullseye/nodejs/node15/README.md | 93 ++++++++++++ .../nodejs/node15/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node16/Dockerfile | 47 ++++++ .../nodejs/node16/Dockerfile.develop | 47 ++++++ .../debian/11-bullseye/nodejs/node16/Makefile | 36 +++++ .../11-bullseye/nodejs/node16/README.md | 93 ++++++++++++ .../nodejs/node16/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node17/Dockerfile | 47 ++++++ .../nodejs/node17/Dockerfile.develop | 47 ++++++ .../debian/11-bullseye/nodejs/node17/Makefile | 36 +++++ .../11-bullseye/nodejs/node17/README.md | 93 ++++++++++++ .../nodejs/node17/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node18/Dockerfile | 46 ++++++ .../nodejs/node18/Dockerfile.develop | 46 ++++++ .../debian/11-bullseye/nodejs/node18/Makefile | 36 +++++ .../11-bullseye/nodejs/node18/README.md | 93 ++++++++++++ .../nodejs/node18/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node19/Dockerfile | 46 ++++++ .../nodejs/node19/Dockerfile.develop | 46 ++++++ .../debian/11-bullseye/nodejs/node19/Makefile | 36 +++++ .../11-bullseye/nodejs/node19/README.md | 93 ++++++++++++ .../nodejs/node19/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node20/Dockerfile | 46 ++++++ .../nodejs/node20/Dockerfile.develop | 46 ++++++ .../debian/11-bullseye/nodejs/node20/Makefile | 36 +++++ .../11-bullseye/nodejs/node20/README.md | 93 ++++++++++++ .../nodejs/node20/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node21/Dockerfile | 46 ++++++ .../nodejs/node21/Dockerfile.develop | 46 ++++++ .../debian/11-bullseye/nodejs/node21/Makefile | 36 +++++ .../11-bullseye/nodejs/node21/README.md | 93 ++++++++++++ .../nodejs/node21/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node22/Dockerfile | 46 ++++++ .../nodejs/node22/Dockerfile.develop | 46 ++++++ .../debian/11-bullseye/nodejs/node22/Makefile | 36 +++++ .../11-bullseye/nodejs/node22/README.md | 93 ++++++++++++ .../nodejs/node22/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node4/Dockerfile | 47 ++++++ .../nodejs/node4/Dockerfile.develop | 47 ++++++ .../debian/11-bullseye/nodejs/node4/Makefile | 36 +++++ .../debian/11-bullseye/nodejs/node4/README.md | 93 ++++++++++++ .../nodejs/node4/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node5/Dockerfile | 47 ++++++ .../nodejs/node5/Dockerfile.develop | 47 ++++++ .../debian/11-bullseye/nodejs/node5/Makefile | 36 +++++ .../debian/11-bullseye/nodejs/node5/README.md | 93 ++++++++++++ .../nodejs/node5/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node6/Dockerfile | 47 ++++++ .../nodejs/node6/Dockerfile.develop | 47 ++++++ .../debian/11-bullseye/nodejs/node6/Makefile | 36 +++++ .../debian/11-bullseye/nodejs/node6/README.md | 93 ++++++++++++ .../nodejs/node6/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node7/Dockerfile | 46 ++++++ .../nodejs/node7/Dockerfile.develop | 46 ++++++ .../debian/11-bullseye/nodejs/node7/Makefile | 36 +++++ .../debian/11-bullseye/nodejs/node7/README.md | 93 ++++++++++++ .../nodejs/node7/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node8/Dockerfile | 46 ++++++ .../nodejs/node8/Dockerfile.develop | 46 ++++++ .../debian/11-bullseye/nodejs/node8/Makefile | 36 +++++ .../debian/11-bullseye/nodejs/node8/README.md | 93 ++++++++++++ .../nodejs/node8/docker-compose.yml | 11 ++ .../11-bullseye/nodejs/node9/Dockerfile | 46 ++++++ .../nodejs/node9/Dockerfile.develop | 46 ++++++ .../debian/11-bullseye/nodejs/node9/Makefile | 36 +++++ .../debian/11-bullseye/nodejs/node9/README.md | 93 ++++++++++++ .../nodejs/node9/docker-compose.yml | 11 ++ 341 files changed, 6408 insertions(+), 50 deletions(-) rename .github/workflows/{epicmorg.advanced.python.yml => _disabled/epicmorg.advanced.python.yml.txt} (100%) rename linux/{advanced => discontinued}/python/develop/2.7/Dockerfile (100%) rename linux/{advanced => discontinued}/python/develop/2.7/Makefile (100%) rename linux/{advanced => discontinued}/python/develop/2.7/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/develop/3.10/Dockerfile (100%) rename linux/{advanced => discontinued}/python/develop/3.10/Makefile (100%) rename linux/{advanced => discontinued}/python/develop/3.10/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/develop/3.11/Dockerfile (100%) rename linux/{advanced => discontinued}/python/develop/3.11/Makefile (100%) rename linux/{advanced => discontinued}/python/develop/3.11/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/develop/3.12/Dockerfile (100%) rename linux/{advanced => discontinued}/python/develop/3.12/Makefile (100%) rename linux/{advanced => discontinued}/python/develop/3.12/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/develop/3.13/Dockerfile (100%) rename linux/{advanced => discontinued}/python/develop/3.13/Makefile (100%) rename linux/{advanced => discontinued}/python/develop/3.13/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/develop/3.6/Dockerfile (100%) rename linux/{advanced => discontinued}/python/develop/3.6/Makefile (100%) rename linux/{advanced => discontinued}/python/develop/3.6/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/develop/3.7/Dockerfile (100%) rename linux/{advanced => discontinued}/python/develop/3.7/Makefile (100%) rename linux/{advanced => discontinued}/python/develop/3.7/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/develop/3.8/Dockerfile (100%) rename linux/{advanced => discontinued}/python/develop/3.8/Makefile (100%) rename linux/{advanced => discontinued}/python/develop/3.8/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/develop/3.9/Dockerfile (100%) rename linux/{advanced => discontinued}/python/develop/3.9/Makefile (100%) rename linux/{advanced => discontinued}/python/develop/3.9/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/main/2.7/.env (100%) rename linux/{advanced => discontinued}/python/main/2.7/Dockerfile (100%) rename linux/{advanced => discontinued}/python/main/2.7/Makefile (100%) rename linux/{advanced => discontinued}/python/main/2.7/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/main/2.7/etc/apt/apt.conf.d/96-apt-retries (100%) rename linux/{advanced => discontinued}/python/main/2.7/etc/apt/apt.conf.d/97-allow-cert-exp (100%) rename linux/{advanced => discontinued}/python/main/2.7/etc/apt/apt.conf.d/98-allow-unauthenticated (100%) rename linux/{advanced => discontinued}/python/main/2.7/etc/apt/apt.conf.d/99-no-check-valid-until (100%) rename linux/{advanced => discontinued}/python/main/2.7/etc/apt/sources.list (100%) rename linux/{advanced => discontinued}/python/main/2.7/etc/apt/sources.list.d/github_git-lfs.list (100%) rename linux/{advanced => discontinued}/python/main/2.7/etc/apt/sources.list.d/launchpad_git-mainline.list (100%) rename linux/{advanced => discontinued}/python/main/2.7/etc/apt/sources.list.d/launchpad_git-stable.list (100%) rename linux/{advanced => discontinued}/python/main/2.7/etc/locale.gen (100%) rename linux/{advanced => discontinued}/python/main/2.7/etc/locale.gen.full (100%) rename linux/{advanced => discontinued}/python/main/3.10/.env (100%) rename linux/{advanced => discontinued}/python/main/3.10/Dockerfile (100%) rename linux/{advanced => discontinued}/python/main/3.10/Makefile (100%) rename linux/{advanced => discontinued}/python/main/3.10/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/main/3.10/etc/apt/apt.conf.d/96-apt-retries (100%) rename linux/{advanced => discontinued}/python/main/3.10/etc/apt/apt.conf.d/97-allow-cert-exp (100%) rename linux/{advanced => discontinued}/python/main/3.10/etc/apt/apt.conf.d/98-allow-unauthenticated (100%) rename linux/{advanced => discontinued}/python/main/3.10/etc/apt/apt.conf.d/99-no-check-valid-until (100%) rename linux/{advanced => discontinued}/python/main/3.10/etc/apt/sources.list (100%) rename linux/{advanced => discontinued}/python/main/3.10/etc/apt/sources.list.d/github_git-lfs.list (100%) rename linux/{advanced => discontinued}/python/main/3.10/etc/apt/sources.list.d/launchpad_git-mainline.list (100%) rename linux/{advanced => discontinued}/python/main/3.10/etc/apt/sources.list.d/launchpad_git-stable.list (100%) rename linux/{advanced => discontinued}/python/main/3.10/etc/locale.gen (100%) rename linux/{advanced => discontinued}/python/main/3.10/etc/locale.gen.full (100%) rename linux/{advanced => discontinued}/python/main/3.11/.env (100%) rename linux/{advanced => discontinued}/python/main/3.11/Dockerfile (100%) rename linux/{advanced => discontinued}/python/main/3.11/Makefile (100%) rename linux/{advanced => discontinued}/python/main/3.11/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/main/3.11/etc/apt/apt.conf.d/96-apt-retries (100%) rename linux/{advanced => discontinued}/python/main/3.11/etc/apt/apt.conf.d/97-allow-cert-exp (100%) rename linux/{advanced => discontinued}/python/main/3.11/etc/apt/apt.conf.d/98-allow-unauthenticated (100%) rename linux/{advanced => discontinued}/python/main/3.11/etc/apt/apt.conf.d/99-no-check-valid-until (100%) rename linux/{advanced => discontinued}/python/main/3.11/etc/apt/sources.list (100%) rename linux/{advanced => discontinued}/python/main/3.11/etc/apt/sources.list.d/github_git-lfs.list (100%) rename linux/{advanced => discontinued}/python/main/3.11/etc/apt/sources.list.d/launchpad_git-mainline.list (100%) rename linux/{advanced => discontinued}/python/main/3.11/etc/apt/sources.list.d/launchpad_git-stable.list (100%) rename linux/{advanced => discontinued}/python/main/3.11/etc/locale.gen (100%) rename linux/{advanced => discontinued}/python/main/3.11/etc/locale.gen.full (100%) rename linux/{advanced => discontinued}/python/main/3.12/.env (100%) rename linux/{advanced => discontinued}/python/main/3.12/Dockerfile (100%) rename linux/{advanced => discontinued}/python/main/3.12/Makefile (100%) rename linux/{advanced => discontinued}/python/main/3.12/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/main/3.12/etc/apt/apt.conf.d/96-apt-retries (100%) rename linux/{advanced => discontinued}/python/main/3.12/etc/apt/apt.conf.d/97-allow-cert-exp (100%) rename linux/{advanced => discontinued}/python/main/3.12/etc/apt/apt.conf.d/98-allow-unauthenticated (100%) rename linux/{advanced => discontinued}/python/main/3.12/etc/apt/apt.conf.d/99-no-check-valid-until (100%) rename linux/{advanced => discontinued}/python/main/3.12/etc/apt/sources.list (100%) rename linux/{advanced => discontinued}/python/main/3.12/etc/apt/sources.list.d/github_git-lfs.list (100%) rename linux/{advanced => discontinued}/python/main/3.12/etc/apt/sources.list.d/launchpad_git-mainline.list (100%) rename linux/{advanced => discontinued}/python/main/3.12/etc/apt/sources.list.d/launchpad_git-stable.list (100%) rename linux/{advanced => discontinued}/python/main/3.12/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg (100%) rename linux/{advanced => discontinued}/python/main/3.12/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg (100%) rename linux/{advanced => discontinued}/python/main/3.12/etc/locale.gen (100%) rename linux/{advanced => discontinued}/python/main/3.12/etc/locale.gen.full (100%) rename linux/{advanced => discontinued}/python/main/3.13/.env (100%) rename linux/{advanced => discontinued}/python/main/3.13/Dockerfile (100%) rename linux/{advanced => discontinued}/python/main/3.13/Makefile (100%) rename linux/{advanced => discontinued}/python/main/3.13/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/main/3.13/etc/apt/apt.conf.d/96-apt-retries (100%) rename linux/{advanced => discontinued}/python/main/3.13/etc/apt/apt.conf.d/97-allow-cert-exp (100%) rename linux/{advanced => discontinued}/python/main/3.13/etc/apt/apt.conf.d/98-allow-unauthenticated (100%) rename linux/{advanced => discontinued}/python/main/3.13/etc/apt/apt.conf.d/99-no-check-valid-until (100%) rename linux/{advanced => discontinued}/python/main/3.13/etc/apt/sources.list (100%) rename linux/{advanced => discontinued}/python/main/3.13/etc/apt/sources.list.d/github_git-lfs.list (100%) rename linux/{advanced => discontinued}/python/main/3.13/etc/apt/sources.list.d/launchpad_git-mainline.list (100%) rename linux/{advanced => discontinued}/python/main/3.13/etc/apt/sources.list.d/launchpad_git-stable.list (100%) rename linux/{advanced => discontinued}/python/main/3.13/etc/locale.gen (100%) rename linux/{advanced => discontinued}/python/main/3.13/etc/locale.gen.full (100%) rename linux/{advanced => discontinued}/python/main/3.6/.env (100%) rename linux/{advanced => discontinued}/python/main/3.6/Dockerfile (100%) rename linux/{advanced => discontinued}/python/main/3.6/Makefile (100%) rename linux/{advanced => discontinued}/python/main/3.6/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/main/3.6/etc/apt/apt.conf.d/96-apt-retries (100%) rename linux/{advanced => discontinued}/python/main/3.6/etc/apt/apt.conf.d/97-allow-cert-exp (100%) rename linux/{advanced => discontinued}/python/main/3.6/etc/apt/apt.conf.d/98-allow-unauthenticated (100%) rename linux/{advanced => discontinued}/python/main/3.6/etc/apt/apt.conf.d/99-no-check-valid-until (100%) rename linux/{advanced => discontinued}/python/main/3.6/etc/apt/sources.list (100%) rename linux/{advanced => discontinued}/python/main/3.6/etc/apt/sources.list.d/github_git-lfs.list (100%) rename linux/{advanced => discontinued}/python/main/3.6/etc/apt/sources.list.d/launchpad_git-mainline.list (100%) rename linux/{advanced => discontinued}/python/main/3.6/etc/apt/sources.list.d/launchpad_git-stable.list (100%) rename linux/{advanced => discontinued}/python/main/3.6/etc/locale.gen (100%) rename linux/{advanced => discontinued}/python/main/3.6/etc/locale.gen.full (100%) rename linux/{advanced => discontinued}/python/main/3.7/.env (100%) rename linux/{advanced => discontinued}/python/main/3.7/Dockerfile (100%) rename linux/{advanced => discontinued}/python/main/3.7/Makefile (100%) rename linux/{advanced => discontinued}/python/main/3.7/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/main/3.7/etc/apt/apt.conf.d/96-apt-retries (100%) rename linux/{advanced => discontinued}/python/main/3.7/etc/apt/apt.conf.d/97-allow-cert-exp (100%) rename linux/{advanced => discontinued}/python/main/3.7/etc/apt/apt.conf.d/98-allow-unauthenticated (100%) rename linux/{advanced => discontinued}/python/main/3.7/etc/apt/apt.conf.d/99-no-check-valid-until (100%) rename linux/{advanced => discontinued}/python/main/3.7/etc/apt/sources.list (100%) rename linux/{advanced => discontinued}/python/main/3.7/etc/apt/sources.list.d/github_git-lfs.list (100%) rename linux/{advanced => discontinued}/python/main/3.7/etc/apt/sources.list.d/launchpad_git-mainline.list (100%) rename linux/{advanced => discontinued}/python/main/3.7/etc/apt/sources.list.d/launchpad_git-stable.list (100%) rename linux/{advanced => discontinued}/python/main/3.7/etc/locale.gen (100%) rename linux/{advanced => discontinued}/python/main/3.7/etc/locale.gen.full (100%) rename linux/{advanced => discontinued}/python/main/3.8/.env (100%) rename linux/{advanced => discontinued}/python/main/3.8/Dockerfile (100%) rename linux/{advanced => discontinued}/python/main/3.8/Makefile (100%) rename linux/{advanced => discontinued}/python/main/3.8/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/main/3.8/etc/apt/apt.conf.d/96-apt-retries (100%) rename linux/{advanced => discontinued}/python/main/3.8/etc/apt/apt.conf.d/97-allow-cert-exp (100%) rename linux/{advanced => discontinued}/python/main/3.8/etc/apt/apt.conf.d/98-allow-unauthenticated (100%) rename linux/{advanced => discontinued}/python/main/3.8/etc/apt/apt.conf.d/99-no-check-valid-until (100%) rename linux/{advanced => discontinued}/python/main/3.8/etc/apt/sources.list (100%) rename linux/{advanced => discontinued}/python/main/3.8/etc/apt/sources.list.d/github_git-lfs.list (100%) rename linux/{advanced => discontinued}/python/main/3.8/etc/apt/sources.list.d/launchpad_git-mainline.list (100%) rename linux/{advanced => discontinued}/python/main/3.8/etc/apt/sources.list.d/launchpad_git-stable.list (100%) rename linux/{advanced => discontinued}/python/main/3.8/etc/locale.gen (100%) rename linux/{advanced => discontinued}/python/main/3.8/etc/locale.gen.full (100%) rename linux/{advanced => discontinued}/python/main/3.9/.env (100%) rename linux/{advanced => discontinued}/python/main/3.9/Dockerfile (100%) rename linux/{advanced => discontinued}/python/main/3.9/Makefile (100%) rename linux/{advanced => discontinued}/python/main/3.9/docker-compose.yml (100%) rename linux/{advanced => discontinued}/python/main/3.9/etc/apt/apt.conf.d/96-apt-retries (100%) rename linux/{advanced => discontinued}/python/main/3.9/etc/apt/apt.conf.d/97-allow-cert-exp (100%) rename linux/{advanced => discontinued}/python/main/3.9/etc/apt/apt.conf.d/98-allow-unauthenticated (100%) rename linux/{advanced => discontinued}/python/main/3.9/etc/apt/apt.conf.d/99-no-check-valid-until (100%) rename linux/{advanced => discontinued}/python/main/3.9/etc/apt/sources.list (100%) rename linux/{advanced => discontinued}/python/main/3.9/etc/apt/sources.list.d/github_git-lfs.list (100%) rename linux/{advanced => discontinued}/python/main/3.9/etc/apt/sources.list.d/launchpad_git-mainline.list (100%) rename linux/{advanced => discontinued}/python/main/3.9/etc/apt/sources.list.d/launchpad_git-stable.list (100%) rename linux/{advanced => discontinued}/python/main/3.9/etc/locale.gen (100%) rename linux/{advanced => discontinued}/python/main/3.9/etc/locale.gen.full (100%) create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet5/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet5/Dockerfile.develop rename linux/ecosystem/epicmorg/debian/11-bullseye/{jdk11 => dotnet/dotnet5}/Makefile (100%) create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet5/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet6/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet6/Dockerfile.develop rename linux/ecosystem/epicmorg/debian/11-bullseye/{jdk16 => dotnet/dotnet6}/Makefile (100%) create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet6/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet7/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet7/Dockerfile.develop rename linux/ecosystem/epicmorg/debian/11-bullseye/{jdk17 => dotnet/dotnet7}/Makefile (100%) create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet7/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet8/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet8/Dockerfile.develop rename linux/ecosystem/epicmorg/debian/11-bullseye/{jdk18 => dotnet/dotnet8}/Makefile (100%) create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet8/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet9/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet9/Dockerfile.develop rename linux/ecosystem/epicmorg/debian/11-bullseye/{jdk19 => dotnet/dotnet9}/Makefile (100%) create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet9/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts/Dockerfile.develop rename linux/ecosystem/epicmorg/debian/11-bullseye/{jdk20 => dotnet/lts}/Makefile (100%) create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts/Dockerfile.develop rename linux/ecosystem/epicmorg/debian/11-bullseye/{jdk21 => dotnet/sts}/Makefile (100%) create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts/docker-compose.yml rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk11/Dockerfile (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk11/Dockerfile.develop (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{jdk22 => jdk/jdk11}/Makefile (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk11/docker-compose.yml (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk16/Dockerfile (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk16/Dockerfile.develop (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{jdk6 => jdk/jdk16}/Makefile (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk16/docker-compose.yml (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk17/Dockerfile (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk17/Dockerfile.develop (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{jdk7 => jdk/jdk17}/Makefile (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk17/docker-compose.yml (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk18/Dockerfile (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk18/Dockerfile.develop (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{jdk8 => jdk/jdk18}/Makefile (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk18/docker-compose.yml (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk19/Dockerfile (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk19/Dockerfile.develop (100%) create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk19/Makefile rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk19/docker-compose.yml (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk20/Dockerfile (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk20/Dockerfile.develop (100%) create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk20/Makefile rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk20/docker-compose.yml (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk21/Dockerfile (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk21/Dockerfile.develop (100%) create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk21/Makefile rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk21/docker-compose.yml (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk22/Dockerfile (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk22/Dockerfile.develop (100%) create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk22/Makefile rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk22/docker-compose.yml (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk6/Dockerfile (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk6/Dockerfile.develop (100%) create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk6/Makefile rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk6/docker-compose.yml (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk7/Dockerfile (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk7/Dockerfile.develop (100%) create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk7/Makefile rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk7/docker-compose.yml (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk8/Dockerfile (100%) rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk8/Dockerfile.develop (100%) create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk8/Makefile rename linux/ecosystem/epicmorg/debian/11-bullseye/{ => jdk}/jdk8/docker-compose.yml (100%) create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/README.md create mode 100644 linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/docker-compose.yml diff --git a/.github/workflows/epicmorg.advanced.python.yml b/.github/workflows/_disabled/epicmorg.advanced.python.yml.txt similarity index 100% rename from .github/workflows/epicmorg.advanced.python.yml rename to .github/workflows/_disabled/epicmorg.advanced.python.yml.txt diff --git a/.github/workflows/epicmorg.base.images.debian.11.yml b/.github/workflows/epicmorg.base.images.debian.11.yml index 032866a9d..3ba9b90b9 100644 --- a/.github/workflows/epicmorg.base.images.debian.11.yml +++ b/.github/workflows/epicmorg.base.images.debian.11.yml @@ -41,10 +41,10 @@ jobs: ################################################################################## - name: "Build and Deploy Debian 11 LTS jdk6 Image:" - run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk6 && pwd && make build && make deploy + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk6 && pwd && make build && make deploy - name: "Build and Deploy Debian 11 LTS jdk7 Image:" - run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk7 && pwd && make build && make deploy + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk7 && pwd && make build && make deploy ################################################################################## @@ -54,10 +54,10 @@ jobs: ################################################################################## - name: "Build and Deploy Debian 11 LTS jdk8 Image:" - run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk8 && pwd && make build && make deploy + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk8 && pwd && make build && make deploy - name: "Build and Deploy Debian 11 LTS jdk11 Image:" - run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk11 && pwd && make build && make deploy + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk11 && pwd && make build && make deploy ################################################################################## @@ -67,13 +67,13 @@ jobs: ################################################################################## - name: "Build and Deploy Debian 11 LTS jdk16 Image:" - run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk16 && pwd && make build && make deploy + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk16 && pwd && make build && make deploy - name: "Build and Deploy Debian 11 LTS jdk17 Image:" - run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk17 && pwd && make build && make deploy + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk17 && pwd && make build && make deploy - name: "Build and Deploy Debian 11 LTS jdk18 Image:" - run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk18 && pwd && make build && make deploy + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk18 && pwd && make build && make deploy ################################################################################## @@ -83,10 +83,10 @@ jobs: ################################################################################## - name: "Build and Deploy Debian 11 LTS jdk19 Image:" - run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk19 && pwd && make build && make deploy + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk19 && pwd && make build && make deploy - name: "Build and Deploy Debian 11 LTS jdk20 Image:" - run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk20 && pwd && make build && make deploy + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk20 && pwd && make build && make deploy ################################################################################## @@ -96,12 +96,124 @@ jobs: ################################################################################## - name: "Build and Deploy Debian 11 LTS jdk21 Image:" - run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk21 && pwd && make build && make deploy + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk21 && pwd && make build && make deploy - name: "Build and Deploy Debian 11 LTS jdk22 Image:" - run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk22 && pwd && make build && make deploy + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk22 && pwd && make build && make deploy ################################################################################## - name: Cleanup run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 11 NodeJS LTS Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS Current Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current && pwd && make build && make deploy + +################################################################################## + + - name: "Build and Deploy Debian 11 NodeJS 0.12 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 4 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 5 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 6 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 7 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 8 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 9 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 11 NodeJS 10 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 11 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 12 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 13 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 14 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 15 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 11 NodeJS 16 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 17 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 18 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 19 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 20 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 21 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 NodeJS 22 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 11 dotNet LTS Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 dotNet STS Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 dotNet 5 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet5 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 dotNet 6 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet6 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 dotNet 7 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet7 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 dotNet 8 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet8 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 11 dotNet 9 Image:" + run: cd linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet9 && pwd && make build && make deploy diff --git a/Makefile b/Makefile index 088830dbf..bf9682af5 100644 --- a/Makefile +++ b/Makefile @@ -110,6 +110,8 @@ advanced-redash-images: advanced-sentry-images: cd `pwd`/linux/advanced/sentry/latest && pwd && make sync && make patch && make build && make deploy +#################################################################################################################### + advanced-zabbix-images: make advanced-zabbix-latest-images make advanced-zabbix-30-images @@ -253,6 +255,8 @@ advanced-zabbix-70-images: cd `pwd`/linux/advanced/zabbix/7.0/web-mysql && pwd && make build && make deploy cd `pwd`/linux/advanced/zabbix/7.0/web-pgsql && pwd && make build && make deploy +#################################################################################################################### + advanced-nextcloud-images: cd `pwd`/linux/advanced/nextcloud/pure/14 && pwd && make build && make deploy cd `pwd`/linux/advanced/nextcloud/pure/15 && pwd && make build && make deploy @@ -289,6 +293,8 @@ advanced-nextcloud-patched-images: cd `pwd`/linux/advanced/nextcloud/patched/28 && pwd && make build && make deploy cd `pwd`/linux/advanced/nextcloud/patched/29 && pwd && make build && make deploy +#################################################################################################################### + ecosystem-images: make bundle-base-images make ecosystem-php-images @@ -307,31 +313,7 @@ ecosystem-images: make bundle-jira make bundle-atlassian-latest -advanced-pyhton-images: - make advanced-pyhton-images-main - make advanced-pyhton-images-develop - -advanced-pyhton-images-main: - cd `pwd`/linux/advanced/python/main/2.7 && pwd && make build && make deploy - cd `pwd`/linux/advanced/python/main/3.6 && pwd && make build && make deploy - cd `pwd`/linux/advanced/python/main/3.7 && pwd && make build && make deploy - cd `pwd`/linux/advanced/python/main/3.8 && pwd && make build && make deploy - cd `pwd`/linux/advanced/python/main/3.9 && pwd && make build && make deploy - cd `pwd`/linux/advanced/python/main/3.10 && pwd && make build && make deploy - cd `pwd`/linux/advanced/python/main/3.11 && pwd && make build && make deploy - cd `pwd`/linux/advanced/python/main/3.12 && pwd && make build && make deploy - cd `pwd`/linux/advanced/python/main/3.13 && pwd && make build && make deploy - -advanced-pyhton-images-develop: - cd `pwd`/linux/advanced/python/develop/2.7 && pwd && make build && make deploy - cd `pwd`/linux/advanced/python/develop/3.6 && pwd && make build && make deploy - cd `pwd`/linux/advanced/python/develop/3.7 && pwd && make build && make deploy - cd `pwd`/linux/advanced/python/develop/3.8 && pwd && make build && make deploy - cd `pwd`/linux/advanced/python/develop/3.9 && pwd && make build && make deploy - cd `pwd`/linux/advanced/python/develop/3.10 && pwd && make build && make deploy - cd `pwd`/linux/advanced/python/develop/3.11 && pwd && make build && make deploy - cd `pwd`/linux/advanced/python/develop/3.12 && pwd && make build && make deploy - cd `pwd`/linux/advanced/python/develop/3.13 && pwd && make build && make deploy +#################################################################################################################### ecosystem-debian-images: make ecosystem-debian-squeeze-images @@ -344,6 +326,8 @@ ecosystem-debian-images: make ecosystem-debian-trixie-images make ecosystem-debian-sid-images +#################################################################################################################### + ecosystem-debian-squeeze-images: cd `pwd`/linux/ecosystem/epicmorg/debian/06-squeeze/slim && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/06-squeeze/main && pwd && make build && make deploy @@ -363,6 +347,8 @@ ecosystem-debian-squeeze-jdk-images: cd `pwd`/linux/ecosystem/epicmorg/debian/06-squeeze/jdk21 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/06-squeeze/jdk22 && pwd && make build && make deploy +#################################################################################################################### + ecosystem-debian-wheezy-images: cd `pwd`/linux/ecosystem/epicmorg/debian/07-wheezy/slim && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/07-wheezy/main && pwd && make build && make deploy @@ -382,6 +368,8 @@ ecosystem-debian-wheezy-jdk-images: cd `pwd`/linux/ecosystem/epicmorg/debian/07-wheezy/jdk21 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/07-wheezy/jdk22 && pwd && make build && make deploy +#################################################################################################################### + ecosystem-debian-jessie-images: cd `pwd`/linux/ecosystem/epicmorg/debian/08-jessie/slim && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/08-jessie/main && pwd && make build && make deploy @@ -401,6 +389,8 @@ ecosystem-debian-jessie-jdk-images: cd `pwd`/linux/ecosystem/epicmorg/debian/08-jessie/jdk21 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/08-jessie/jdk22 && pwd && make build && make deploy +#################################################################################################################### + ecosystem-debian-stretch-images: cd `pwd`/linux/ecosystem/epicmorg/debian/09-stretch/slim && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/09-stretch/main && pwd && make build && make deploy @@ -420,6 +410,8 @@ ecosystem-debian-stretch-jdk-images: cd `pwd`/linux/ecosystem/epicmorg/debian/09-stretch/jdk21 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/09-stretch/jdk22 && pwd && make build && make deploy +#################################################################################################################### + ecosystem-debian-buster-images: cd `pwd`/linux/ecosystem/epicmorg/debian/10-buster/slim && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/10-buster/main && pwd && make build && make deploy @@ -439,24 +431,64 @@ ecosystem-debian-buster-jdk-images: cd `pwd`/linux/ecosystem/epicmorg/debian/10-buster/jdk21 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/10-buster/jdk22 && pwd && make build && make deploy +#################################################################################################################### + ecosystem-debian-bullseye-images: + make ecosystem-debian-bullseye-base-images + make ecosystem-debian-bullseye-dotnet-images + make ecosystem-debian-bullseye-jdk-images + make ecosystem-debian-bullseye-nodejs-images + +ecosystem-debian-bullseye-base-images: cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/slim && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/main && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/develop && pwd && make build && make deploy - make ecosystem-debian-bullseye-jdk-images + +ecosystem-debian-bullseye-dotnet-images: + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet9 && pwd && make build && make deploy ecosystem-debian-bullseye-jdk-images: - cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk6 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk7 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk8 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk11 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk16 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk17 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk18 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk19 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk20 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk21 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk22 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk11 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk16 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk17 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk18 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk19 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk20 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk21 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk22 && pwd && make build && make deploy + +ecosystem-debian-bullseye-nodejs-images: + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22 && pwd && make build && make deploy #################################################################################################################### @@ -521,6 +553,7 @@ ecosystem-debian-bookworm-nodejs-images: ecosystem-debian-trixie-images: make ecosystem-debian-trixie-base-images + make ecosystem-debian-trixie-dotnet-images make ecosystem-debian-trixie-jdk-images make ecosystem-debian-trixie-nodejs-images @@ -529,6 +562,15 @@ ecosystem-debian-trixie-base-images: cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/main && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/develop && pwd && make build && make deploy +ecosystem-debian-trixie-dotnet-images: + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9 && pwd && make build && make deploy + ecosystem-debian-trixie-jdk-images: cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk6 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk7 && pwd && make build && make deploy @@ -570,6 +612,7 @@ ecosystem-debian-trixie-nodejs-images: ecosystem-debian-sid-images: make ecosystem-debian-sid-base-images + make ecosystem-debian-sid-dotnet-images make ecosystem-debian-sid-jdk-images make ecosystem-debian-sid-nodejs-images @@ -578,6 +621,15 @@ ecosystem-debian-sid-base-images: cd `pwd`/linux/ecosystem/epicmorg/debian/sid/main && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/sid/develop && pwd && make build && make deploy +ecosystem-debian-sid-dotnet-images: + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/dotnet/lts && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/dotnet/sts && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9 && pwd && make build && make deploy + ecosystem-debian-sid-jdk-images: cd `pwd`/linux/ecosystem/epicmorg/debian/sid/jdk/jdk6 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/sid/jdk/jdk7 && pwd && make build && make deploy diff --git a/README.md b/README.md index 368a704b1..d5d6195bf 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ For more information - look at `Support Document` to replace this tags and image ## CI Status -| Debian | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.legacy.yml?label=6&logo=Debian%20Legacy%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.legacy.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.legacy.yml?label=7&logo=Debian%20Legacy%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.legacy.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.legacy.yml?label=8&logo=Debian%20Legacy%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.legacy.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.legacy.yml?label=9&logo=Debian%20Legacy%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.legacy.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.legacy.yml?label=10&logo=Debian%20Legacy%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.legacy.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.11.yml?label=11&logo=Debian%2011%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.11.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.12.yml?label=12&logo=Debian%2012%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.12.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.13.yml?label=13&logo=Debian%2013%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.13.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.sid.yml?label=SID&logo=Debian%20sid%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.sid.yml) | +| Debian | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.6.yml?label=6&logo=Debian%20Legacy%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.6.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.7.yml?label=7&logo=Debian%20Legacy%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.7.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.8.yml?label=8&logo=Debian%20Legacy%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.8.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.9.yml?label=9&logo=Debian%20Legacy%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.9.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.10.yml?label=10&logo=Debian%20Legacy%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.10.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.11.yml?label=11&logo=Debian%2011%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.11.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.12.yml?label=12&logo=Debian%2012%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.12.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.13.yml?label=13&logo=Debian%2013%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.13.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.debian.sid.yml?label=SID&logo=Debian%20sid%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.debian.sid.yml) | | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | | **codename** | squeeze | wheezy | jessie | stretch | buster | **bullseye** | **bookworm** | trixie | sid | | **status** | deprecated | deprecated | deprecated | deprecated | deprecated | **LTS** | **Current** | testing | unstable | @@ -36,7 +36,7 @@ A collection of docker images for production use. This repo contains 2 types of |:-------------|:-------------| | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.advanced.vscode.images.yml?label=EpicMorg%20Advanced%20Images&logo=EpicMorg%20Advanced%20Images&style=flat-square)](https://github.com/EpicMorg/docker/blob/master/.github/workflows/epicmorg.advanced.images.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.giltab.runners.yml?label=Gitlab%20Runner%20Images&logo=Gitlab%20Runner%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.giltab.runners.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.advanced.nextcloud.images.yml?label=Nextcloud%20Images&logo=Nextcloud%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.advanced.nextcloud.images.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.web.yml?label=Web%20Images&logo=Web%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.web.yml) -| [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.advanced.python.yml?label=Debian%20Python%20Images&logo=Debian%20Python%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.advanced.python.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.testrail.yml?label=Testrail%20Images&logo=Testrail%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.testrail.yml) +| `-` | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.testrail.yml?label=Testrail%20Images&logo=Testrail%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.testrail.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.advanced.vscode.images.yml?label=Vscode%20Server%20Images&logo=Vscode%20Server%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.advanced.vscode.images.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.teamcity.agents.yml?label=TeamCity%20Agents%20Images&logo=TeamCity%20Agents%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.teamcity.agents.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.advanced.zabbix.images.yml?label=Debian%20Zabbix%20Images&logo=Debian%20Python%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.advanced.zabbix.images.yml) | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.ecosysctem.misc.images.yml?label=EcoSystem%20Misc%20Images&logo=EcoSystem%20Misc%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.ecosysctem.misc.images.yml) | `-` | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.current.atlassian.yml?label=Atlassian%20Images&logo=Atlassian%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.current.atlassian.yml) diff --git a/linux/advanced/python/develop/2.7/Dockerfile b/linux/discontinued/python/develop/2.7/Dockerfile similarity index 100% rename from linux/advanced/python/develop/2.7/Dockerfile rename to linux/discontinued/python/develop/2.7/Dockerfile diff --git a/linux/advanced/python/develop/2.7/Makefile b/linux/discontinued/python/develop/2.7/Makefile similarity index 100% rename from linux/advanced/python/develop/2.7/Makefile rename to linux/discontinued/python/develop/2.7/Makefile diff --git a/linux/advanced/python/develop/2.7/docker-compose.yml b/linux/discontinued/python/develop/2.7/docker-compose.yml similarity index 100% rename from linux/advanced/python/develop/2.7/docker-compose.yml rename to linux/discontinued/python/develop/2.7/docker-compose.yml diff --git a/linux/advanced/python/develop/3.10/Dockerfile b/linux/discontinued/python/develop/3.10/Dockerfile similarity index 100% rename from linux/advanced/python/develop/3.10/Dockerfile rename to linux/discontinued/python/develop/3.10/Dockerfile diff --git a/linux/advanced/python/develop/3.10/Makefile b/linux/discontinued/python/develop/3.10/Makefile similarity index 100% rename from linux/advanced/python/develop/3.10/Makefile rename to linux/discontinued/python/develop/3.10/Makefile diff --git a/linux/advanced/python/develop/3.10/docker-compose.yml b/linux/discontinued/python/develop/3.10/docker-compose.yml similarity index 100% rename from linux/advanced/python/develop/3.10/docker-compose.yml rename to linux/discontinued/python/develop/3.10/docker-compose.yml diff --git a/linux/advanced/python/develop/3.11/Dockerfile b/linux/discontinued/python/develop/3.11/Dockerfile similarity index 100% rename from linux/advanced/python/develop/3.11/Dockerfile rename to linux/discontinued/python/develop/3.11/Dockerfile diff --git a/linux/advanced/python/develop/3.11/Makefile b/linux/discontinued/python/develop/3.11/Makefile similarity index 100% rename from linux/advanced/python/develop/3.11/Makefile rename to linux/discontinued/python/develop/3.11/Makefile diff --git a/linux/advanced/python/develop/3.11/docker-compose.yml b/linux/discontinued/python/develop/3.11/docker-compose.yml similarity index 100% rename from linux/advanced/python/develop/3.11/docker-compose.yml rename to linux/discontinued/python/develop/3.11/docker-compose.yml diff --git a/linux/advanced/python/develop/3.12/Dockerfile b/linux/discontinued/python/develop/3.12/Dockerfile similarity index 100% rename from linux/advanced/python/develop/3.12/Dockerfile rename to linux/discontinued/python/develop/3.12/Dockerfile diff --git a/linux/advanced/python/develop/3.12/Makefile b/linux/discontinued/python/develop/3.12/Makefile similarity index 100% rename from linux/advanced/python/develop/3.12/Makefile rename to linux/discontinued/python/develop/3.12/Makefile diff --git a/linux/advanced/python/develop/3.12/docker-compose.yml b/linux/discontinued/python/develop/3.12/docker-compose.yml similarity index 100% rename from linux/advanced/python/develop/3.12/docker-compose.yml rename to linux/discontinued/python/develop/3.12/docker-compose.yml diff --git a/linux/advanced/python/develop/3.13/Dockerfile b/linux/discontinued/python/develop/3.13/Dockerfile similarity index 100% rename from linux/advanced/python/develop/3.13/Dockerfile rename to linux/discontinued/python/develop/3.13/Dockerfile diff --git a/linux/advanced/python/develop/3.13/Makefile b/linux/discontinued/python/develop/3.13/Makefile similarity index 100% rename from linux/advanced/python/develop/3.13/Makefile rename to linux/discontinued/python/develop/3.13/Makefile diff --git a/linux/advanced/python/develop/3.13/docker-compose.yml b/linux/discontinued/python/develop/3.13/docker-compose.yml similarity index 100% rename from linux/advanced/python/develop/3.13/docker-compose.yml rename to linux/discontinued/python/develop/3.13/docker-compose.yml diff --git a/linux/advanced/python/develop/3.6/Dockerfile b/linux/discontinued/python/develop/3.6/Dockerfile similarity index 100% rename from linux/advanced/python/develop/3.6/Dockerfile rename to linux/discontinued/python/develop/3.6/Dockerfile diff --git a/linux/advanced/python/develop/3.6/Makefile b/linux/discontinued/python/develop/3.6/Makefile similarity index 100% rename from linux/advanced/python/develop/3.6/Makefile rename to linux/discontinued/python/develop/3.6/Makefile diff --git a/linux/advanced/python/develop/3.6/docker-compose.yml b/linux/discontinued/python/develop/3.6/docker-compose.yml similarity index 100% rename from linux/advanced/python/develop/3.6/docker-compose.yml rename to linux/discontinued/python/develop/3.6/docker-compose.yml diff --git a/linux/advanced/python/develop/3.7/Dockerfile b/linux/discontinued/python/develop/3.7/Dockerfile similarity index 100% rename from linux/advanced/python/develop/3.7/Dockerfile rename to linux/discontinued/python/develop/3.7/Dockerfile diff --git a/linux/advanced/python/develop/3.7/Makefile b/linux/discontinued/python/develop/3.7/Makefile similarity index 100% rename from linux/advanced/python/develop/3.7/Makefile rename to linux/discontinued/python/develop/3.7/Makefile diff --git a/linux/advanced/python/develop/3.7/docker-compose.yml b/linux/discontinued/python/develop/3.7/docker-compose.yml similarity index 100% rename from linux/advanced/python/develop/3.7/docker-compose.yml rename to linux/discontinued/python/develop/3.7/docker-compose.yml diff --git a/linux/advanced/python/develop/3.8/Dockerfile b/linux/discontinued/python/develop/3.8/Dockerfile similarity index 100% rename from linux/advanced/python/develop/3.8/Dockerfile rename to linux/discontinued/python/develop/3.8/Dockerfile diff --git a/linux/advanced/python/develop/3.8/Makefile b/linux/discontinued/python/develop/3.8/Makefile similarity index 100% rename from linux/advanced/python/develop/3.8/Makefile rename to linux/discontinued/python/develop/3.8/Makefile diff --git a/linux/advanced/python/develop/3.8/docker-compose.yml b/linux/discontinued/python/develop/3.8/docker-compose.yml similarity index 100% rename from linux/advanced/python/develop/3.8/docker-compose.yml rename to linux/discontinued/python/develop/3.8/docker-compose.yml diff --git a/linux/advanced/python/develop/3.9/Dockerfile b/linux/discontinued/python/develop/3.9/Dockerfile similarity index 100% rename from linux/advanced/python/develop/3.9/Dockerfile rename to linux/discontinued/python/develop/3.9/Dockerfile diff --git a/linux/advanced/python/develop/3.9/Makefile b/linux/discontinued/python/develop/3.9/Makefile similarity index 100% rename from linux/advanced/python/develop/3.9/Makefile rename to linux/discontinued/python/develop/3.9/Makefile diff --git a/linux/advanced/python/develop/3.9/docker-compose.yml b/linux/discontinued/python/develop/3.9/docker-compose.yml similarity index 100% rename from linux/advanced/python/develop/3.9/docker-compose.yml rename to linux/discontinued/python/develop/3.9/docker-compose.yml diff --git a/linux/advanced/python/main/2.7/.env b/linux/discontinued/python/main/2.7/.env similarity index 100% rename from linux/advanced/python/main/2.7/.env rename to linux/discontinued/python/main/2.7/.env diff --git a/linux/advanced/python/main/2.7/Dockerfile b/linux/discontinued/python/main/2.7/Dockerfile similarity index 100% rename from linux/advanced/python/main/2.7/Dockerfile rename to linux/discontinued/python/main/2.7/Dockerfile diff --git a/linux/advanced/python/main/2.7/Makefile b/linux/discontinued/python/main/2.7/Makefile similarity index 100% rename from linux/advanced/python/main/2.7/Makefile rename to linux/discontinued/python/main/2.7/Makefile diff --git a/linux/advanced/python/main/2.7/docker-compose.yml b/linux/discontinued/python/main/2.7/docker-compose.yml similarity index 100% rename from linux/advanced/python/main/2.7/docker-compose.yml rename to linux/discontinued/python/main/2.7/docker-compose.yml diff --git a/linux/advanced/python/main/2.7/etc/apt/apt.conf.d/96-apt-retries b/linux/discontinued/python/main/2.7/etc/apt/apt.conf.d/96-apt-retries similarity index 100% rename from linux/advanced/python/main/2.7/etc/apt/apt.conf.d/96-apt-retries rename to linux/discontinued/python/main/2.7/etc/apt/apt.conf.d/96-apt-retries diff --git a/linux/advanced/python/main/2.7/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/discontinued/python/main/2.7/etc/apt/apt.conf.d/97-allow-cert-exp similarity index 100% rename from linux/advanced/python/main/2.7/etc/apt/apt.conf.d/97-allow-cert-exp rename to linux/discontinued/python/main/2.7/etc/apt/apt.conf.d/97-allow-cert-exp diff --git a/linux/advanced/python/main/2.7/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/discontinued/python/main/2.7/etc/apt/apt.conf.d/98-allow-unauthenticated similarity index 100% rename from linux/advanced/python/main/2.7/etc/apt/apt.conf.d/98-allow-unauthenticated rename to linux/discontinued/python/main/2.7/etc/apt/apt.conf.d/98-allow-unauthenticated diff --git a/linux/advanced/python/main/2.7/etc/apt/apt.conf.d/99-no-check-valid-until b/linux/discontinued/python/main/2.7/etc/apt/apt.conf.d/99-no-check-valid-until similarity index 100% rename from linux/advanced/python/main/2.7/etc/apt/apt.conf.d/99-no-check-valid-until rename to linux/discontinued/python/main/2.7/etc/apt/apt.conf.d/99-no-check-valid-until diff --git a/linux/advanced/python/main/2.7/etc/apt/sources.list b/linux/discontinued/python/main/2.7/etc/apt/sources.list similarity index 100% rename from linux/advanced/python/main/2.7/etc/apt/sources.list rename to linux/discontinued/python/main/2.7/etc/apt/sources.list diff --git a/linux/advanced/python/main/2.7/etc/apt/sources.list.d/github_git-lfs.list b/linux/discontinued/python/main/2.7/etc/apt/sources.list.d/github_git-lfs.list similarity index 100% rename from linux/advanced/python/main/2.7/etc/apt/sources.list.d/github_git-lfs.list rename to linux/discontinued/python/main/2.7/etc/apt/sources.list.d/github_git-lfs.list diff --git a/linux/advanced/python/main/2.7/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/discontinued/python/main/2.7/etc/apt/sources.list.d/launchpad_git-mainline.list similarity index 100% rename from linux/advanced/python/main/2.7/etc/apt/sources.list.d/launchpad_git-mainline.list rename to linux/discontinued/python/main/2.7/etc/apt/sources.list.d/launchpad_git-mainline.list diff --git a/linux/advanced/python/main/2.7/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/discontinued/python/main/2.7/etc/apt/sources.list.d/launchpad_git-stable.list similarity index 100% rename from linux/advanced/python/main/2.7/etc/apt/sources.list.d/launchpad_git-stable.list rename to linux/discontinued/python/main/2.7/etc/apt/sources.list.d/launchpad_git-stable.list diff --git a/linux/advanced/python/main/2.7/etc/locale.gen b/linux/discontinued/python/main/2.7/etc/locale.gen similarity index 100% rename from linux/advanced/python/main/2.7/etc/locale.gen rename to linux/discontinued/python/main/2.7/etc/locale.gen diff --git a/linux/advanced/python/main/2.7/etc/locale.gen.full b/linux/discontinued/python/main/2.7/etc/locale.gen.full similarity index 100% rename from linux/advanced/python/main/2.7/etc/locale.gen.full rename to linux/discontinued/python/main/2.7/etc/locale.gen.full diff --git a/linux/advanced/python/main/3.10/.env b/linux/discontinued/python/main/3.10/.env similarity index 100% rename from linux/advanced/python/main/3.10/.env rename to linux/discontinued/python/main/3.10/.env diff --git a/linux/advanced/python/main/3.10/Dockerfile b/linux/discontinued/python/main/3.10/Dockerfile similarity index 100% rename from linux/advanced/python/main/3.10/Dockerfile rename to linux/discontinued/python/main/3.10/Dockerfile diff --git a/linux/advanced/python/main/3.10/Makefile b/linux/discontinued/python/main/3.10/Makefile similarity index 100% rename from linux/advanced/python/main/3.10/Makefile rename to linux/discontinued/python/main/3.10/Makefile diff --git a/linux/advanced/python/main/3.10/docker-compose.yml b/linux/discontinued/python/main/3.10/docker-compose.yml similarity index 100% rename from linux/advanced/python/main/3.10/docker-compose.yml rename to linux/discontinued/python/main/3.10/docker-compose.yml diff --git a/linux/advanced/python/main/3.10/etc/apt/apt.conf.d/96-apt-retries b/linux/discontinued/python/main/3.10/etc/apt/apt.conf.d/96-apt-retries similarity index 100% rename from linux/advanced/python/main/3.10/etc/apt/apt.conf.d/96-apt-retries rename to linux/discontinued/python/main/3.10/etc/apt/apt.conf.d/96-apt-retries diff --git a/linux/advanced/python/main/3.10/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/discontinued/python/main/3.10/etc/apt/apt.conf.d/97-allow-cert-exp similarity index 100% rename from linux/advanced/python/main/3.10/etc/apt/apt.conf.d/97-allow-cert-exp rename to linux/discontinued/python/main/3.10/etc/apt/apt.conf.d/97-allow-cert-exp diff --git a/linux/advanced/python/main/3.10/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/discontinued/python/main/3.10/etc/apt/apt.conf.d/98-allow-unauthenticated similarity index 100% rename from linux/advanced/python/main/3.10/etc/apt/apt.conf.d/98-allow-unauthenticated rename to linux/discontinued/python/main/3.10/etc/apt/apt.conf.d/98-allow-unauthenticated diff --git a/linux/advanced/python/main/3.10/etc/apt/apt.conf.d/99-no-check-valid-until b/linux/discontinued/python/main/3.10/etc/apt/apt.conf.d/99-no-check-valid-until similarity index 100% rename from linux/advanced/python/main/3.10/etc/apt/apt.conf.d/99-no-check-valid-until rename to linux/discontinued/python/main/3.10/etc/apt/apt.conf.d/99-no-check-valid-until diff --git a/linux/advanced/python/main/3.10/etc/apt/sources.list b/linux/discontinued/python/main/3.10/etc/apt/sources.list similarity index 100% rename from linux/advanced/python/main/3.10/etc/apt/sources.list rename to linux/discontinued/python/main/3.10/etc/apt/sources.list diff --git a/linux/advanced/python/main/3.10/etc/apt/sources.list.d/github_git-lfs.list b/linux/discontinued/python/main/3.10/etc/apt/sources.list.d/github_git-lfs.list similarity index 100% rename from linux/advanced/python/main/3.10/etc/apt/sources.list.d/github_git-lfs.list rename to linux/discontinued/python/main/3.10/etc/apt/sources.list.d/github_git-lfs.list diff --git a/linux/advanced/python/main/3.10/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/discontinued/python/main/3.10/etc/apt/sources.list.d/launchpad_git-mainline.list similarity index 100% rename from linux/advanced/python/main/3.10/etc/apt/sources.list.d/launchpad_git-mainline.list rename to linux/discontinued/python/main/3.10/etc/apt/sources.list.d/launchpad_git-mainline.list diff --git a/linux/advanced/python/main/3.10/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/discontinued/python/main/3.10/etc/apt/sources.list.d/launchpad_git-stable.list similarity index 100% rename from linux/advanced/python/main/3.10/etc/apt/sources.list.d/launchpad_git-stable.list rename to linux/discontinued/python/main/3.10/etc/apt/sources.list.d/launchpad_git-stable.list diff --git a/linux/advanced/python/main/3.10/etc/locale.gen b/linux/discontinued/python/main/3.10/etc/locale.gen similarity index 100% rename from linux/advanced/python/main/3.10/etc/locale.gen rename to linux/discontinued/python/main/3.10/etc/locale.gen diff --git a/linux/advanced/python/main/3.10/etc/locale.gen.full b/linux/discontinued/python/main/3.10/etc/locale.gen.full similarity index 100% rename from linux/advanced/python/main/3.10/etc/locale.gen.full rename to linux/discontinued/python/main/3.10/etc/locale.gen.full diff --git a/linux/advanced/python/main/3.11/.env b/linux/discontinued/python/main/3.11/.env similarity index 100% rename from linux/advanced/python/main/3.11/.env rename to linux/discontinued/python/main/3.11/.env diff --git a/linux/advanced/python/main/3.11/Dockerfile b/linux/discontinued/python/main/3.11/Dockerfile similarity index 100% rename from linux/advanced/python/main/3.11/Dockerfile rename to linux/discontinued/python/main/3.11/Dockerfile diff --git a/linux/advanced/python/main/3.11/Makefile b/linux/discontinued/python/main/3.11/Makefile similarity index 100% rename from linux/advanced/python/main/3.11/Makefile rename to linux/discontinued/python/main/3.11/Makefile diff --git a/linux/advanced/python/main/3.11/docker-compose.yml b/linux/discontinued/python/main/3.11/docker-compose.yml similarity index 100% rename from linux/advanced/python/main/3.11/docker-compose.yml rename to linux/discontinued/python/main/3.11/docker-compose.yml diff --git a/linux/advanced/python/main/3.11/etc/apt/apt.conf.d/96-apt-retries b/linux/discontinued/python/main/3.11/etc/apt/apt.conf.d/96-apt-retries similarity index 100% rename from linux/advanced/python/main/3.11/etc/apt/apt.conf.d/96-apt-retries rename to linux/discontinued/python/main/3.11/etc/apt/apt.conf.d/96-apt-retries diff --git a/linux/advanced/python/main/3.11/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/discontinued/python/main/3.11/etc/apt/apt.conf.d/97-allow-cert-exp similarity index 100% rename from linux/advanced/python/main/3.11/etc/apt/apt.conf.d/97-allow-cert-exp rename to linux/discontinued/python/main/3.11/etc/apt/apt.conf.d/97-allow-cert-exp diff --git a/linux/advanced/python/main/3.11/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/discontinued/python/main/3.11/etc/apt/apt.conf.d/98-allow-unauthenticated similarity index 100% rename from linux/advanced/python/main/3.11/etc/apt/apt.conf.d/98-allow-unauthenticated rename to linux/discontinued/python/main/3.11/etc/apt/apt.conf.d/98-allow-unauthenticated diff --git a/linux/advanced/python/main/3.11/etc/apt/apt.conf.d/99-no-check-valid-until b/linux/discontinued/python/main/3.11/etc/apt/apt.conf.d/99-no-check-valid-until similarity index 100% rename from linux/advanced/python/main/3.11/etc/apt/apt.conf.d/99-no-check-valid-until rename to linux/discontinued/python/main/3.11/etc/apt/apt.conf.d/99-no-check-valid-until diff --git a/linux/advanced/python/main/3.11/etc/apt/sources.list b/linux/discontinued/python/main/3.11/etc/apt/sources.list similarity index 100% rename from linux/advanced/python/main/3.11/etc/apt/sources.list rename to linux/discontinued/python/main/3.11/etc/apt/sources.list diff --git a/linux/advanced/python/main/3.11/etc/apt/sources.list.d/github_git-lfs.list b/linux/discontinued/python/main/3.11/etc/apt/sources.list.d/github_git-lfs.list similarity index 100% rename from linux/advanced/python/main/3.11/etc/apt/sources.list.d/github_git-lfs.list rename to linux/discontinued/python/main/3.11/etc/apt/sources.list.d/github_git-lfs.list diff --git a/linux/advanced/python/main/3.11/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/discontinued/python/main/3.11/etc/apt/sources.list.d/launchpad_git-mainline.list similarity index 100% rename from linux/advanced/python/main/3.11/etc/apt/sources.list.d/launchpad_git-mainline.list rename to linux/discontinued/python/main/3.11/etc/apt/sources.list.d/launchpad_git-mainline.list diff --git a/linux/advanced/python/main/3.11/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/discontinued/python/main/3.11/etc/apt/sources.list.d/launchpad_git-stable.list similarity index 100% rename from linux/advanced/python/main/3.11/etc/apt/sources.list.d/launchpad_git-stable.list rename to linux/discontinued/python/main/3.11/etc/apt/sources.list.d/launchpad_git-stable.list diff --git a/linux/advanced/python/main/3.11/etc/locale.gen b/linux/discontinued/python/main/3.11/etc/locale.gen similarity index 100% rename from linux/advanced/python/main/3.11/etc/locale.gen rename to linux/discontinued/python/main/3.11/etc/locale.gen diff --git a/linux/advanced/python/main/3.11/etc/locale.gen.full b/linux/discontinued/python/main/3.11/etc/locale.gen.full similarity index 100% rename from linux/advanced/python/main/3.11/etc/locale.gen.full rename to linux/discontinued/python/main/3.11/etc/locale.gen.full diff --git a/linux/advanced/python/main/3.12/.env b/linux/discontinued/python/main/3.12/.env similarity index 100% rename from linux/advanced/python/main/3.12/.env rename to linux/discontinued/python/main/3.12/.env diff --git a/linux/advanced/python/main/3.12/Dockerfile b/linux/discontinued/python/main/3.12/Dockerfile similarity index 100% rename from linux/advanced/python/main/3.12/Dockerfile rename to linux/discontinued/python/main/3.12/Dockerfile diff --git a/linux/advanced/python/main/3.12/Makefile b/linux/discontinued/python/main/3.12/Makefile similarity index 100% rename from linux/advanced/python/main/3.12/Makefile rename to linux/discontinued/python/main/3.12/Makefile diff --git a/linux/advanced/python/main/3.12/docker-compose.yml b/linux/discontinued/python/main/3.12/docker-compose.yml similarity index 100% rename from linux/advanced/python/main/3.12/docker-compose.yml rename to linux/discontinued/python/main/3.12/docker-compose.yml diff --git a/linux/advanced/python/main/3.12/etc/apt/apt.conf.d/96-apt-retries b/linux/discontinued/python/main/3.12/etc/apt/apt.conf.d/96-apt-retries similarity index 100% rename from linux/advanced/python/main/3.12/etc/apt/apt.conf.d/96-apt-retries rename to linux/discontinued/python/main/3.12/etc/apt/apt.conf.d/96-apt-retries diff --git a/linux/advanced/python/main/3.12/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/discontinued/python/main/3.12/etc/apt/apt.conf.d/97-allow-cert-exp similarity index 100% rename from linux/advanced/python/main/3.12/etc/apt/apt.conf.d/97-allow-cert-exp rename to linux/discontinued/python/main/3.12/etc/apt/apt.conf.d/97-allow-cert-exp diff --git a/linux/advanced/python/main/3.12/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/discontinued/python/main/3.12/etc/apt/apt.conf.d/98-allow-unauthenticated similarity index 100% rename from linux/advanced/python/main/3.12/etc/apt/apt.conf.d/98-allow-unauthenticated rename to linux/discontinued/python/main/3.12/etc/apt/apt.conf.d/98-allow-unauthenticated diff --git a/linux/advanced/python/main/3.12/etc/apt/apt.conf.d/99-no-check-valid-until b/linux/discontinued/python/main/3.12/etc/apt/apt.conf.d/99-no-check-valid-until similarity index 100% rename from linux/advanced/python/main/3.12/etc/apt/apt.conf.d/99-no-check-valid-until rename to linux/discontinued/python/main/3.12/etc/apt/apt.conf.d/99-no-check-valid-until diff --git a/linux/advanced/python/main/3.12/etc/apt/sources.list b/linux/discontinued/python/main/3.12/etc/apt/sources.list similarity index 100% rename from linux/advanced/python/main/3.12/etc/apt/sources.list rename to linux/discontinued/python/main/3.12/etc/apt/sources.list diff --git a/linux/advanced/python/main/3.12/etc/apt/sources.list.d/github_git-lfs.list b/linux/discontinued/python/main/3.12/etc/apt/sources.list.d/github_git-lfs.list similarity index 100% rename from linux/advanced/python/main/3.12/etc/apt/sources.list.d/github_git-lfs.list rename to linux/discontinued/python/main/3.12/etc/apt/sources.list.d/github_git-lfs.list diff --git a/linux/advanced/python/main/3.12/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/discontinued/python/main/3.12/etc/apt/sources.list.d/launchpad_git-mainline.list similarity index 100% rename from linux/advanced/python/main/3.12/etc/apt/sources.list.d/launchpad_git-mainline.list rename to linux/discontinued/python/main/3.12/etc/apt/sources.list.d/launchpad_git-mainline.list diff --git a/linux/advanced/python/main/3.12/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/discontinued/python/main/3.12/etc/apt/sources.list.d/launchpad_git-stable.list similarity index 100% rename from linux/advanced/python/main/3.12/etc/apt/sources.list.d/launchpad_git-stable.list rename to linux/discontinued/python/main/3.12/etc/apt/sources.list.d/launchpad_git-stable.list diff --git a/linux/advanced/python/main/3.12/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg b/linux/discontinued/python/main/3.12/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg similarity index 100% rename from linux/advanced/python/main/3.12/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg rename to linux/discontinued/python/main/3.12/etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg diff --git a/linux/advanced/python/main/3.12/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg b/linux/discontinued/python/main/3.12/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg similarity index 100% rename from linux/advanced/python/main/3.12/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg rename to linux/discontinued/python/main/3.12/etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg diff --git a/linux/advanced/python/main/3.12/etc/locale.gen b/linux/discontinued/python/main/3.12/etc/locale.gen similarity index 100% rename from linux/advanced/python/main/3.12/etc/locale.gen rename to linux/discontinued/python/main/3.12/etc/locale.gen diff --git a/linux/advanced/python/main/3.12/etc/locale.gen.full b/linux/discontinued/python/main/3.12/etc/locale.gen.full similarity index 100% rename from linux/advanced/python/main/3.12/etc/locale.gen.full rename to linux/discontinued/python/main/3.12/etc/locale.gen.full diff --git a/linux/advanced/python/main/3.13/.env b/linux/discontinued/python/main/3.13/.env similarity index 100% rename from linux/advanced/python/main/3.13/.env rename to linux/discontinued/python/main/3.13/.env diff --git a/linux/advanced/python/main/3.13/Dockerfile b/linux/discontinued/python/main/3.13/Dockerfile similarity index 100% rename from linux/advanced/python/main/3.13/Dockerfile rename to linux/discontinued/python/main/3.13/Dockerfile diff --git a/linux/advanced/python/main/3.13/Makefile b/linux/discontinued/python/main/3.13/Makefile similarity index 100% rename from linux/advanced/python/main/3.13/Makefile rename to linux/discontinued/python/main/3.13/Makefile diff --git a/linux/advanced/python/main/3.13/docker-compose.yml b/linux/discontinued/python/main/3.13/docker-compose.yml similarity index 100% rename from linux/advanced/python/main/3.13/docker-compose.yml rename to linux/discontinued/python/main/3.13/docker-compose.yml diff --git a/linux/advanced/python/main/3.13/etc/apt/apt.conf.d/96-apt-retries b/linux/discontinued/python/main/3.13/etc/apt/apt.conf.d/96-apt-retries similarity index 100% rename from linux/advanced/python/main/3.13/etc/apt/apt.conf.d/96-apt-retries rename to linux/discontinued/python/main/3.13/etc/apt/apt.conf.d/96-apt-retries diff --git a/linux/advanced/python/main/3.13/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/discontinued/python/main/3.13/etc/apt/apt.conf.d/97-allow-cert-exp similarity index 100% rename from linux/advanced/python/main/3.13/etc/apt/apt.conf.d/97-allow-cert-exp rename to linux/discontinued/python/main/3.13/etc/apt/apt.conf.d/97-allow-cert-exp diff --git a/linux/advanced/python/main/3.13/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/discontinued/python/main/3.13/etc/apt/apt.conf.d/98-allow-unauthenticated similarity index 100% rename from linux/advanced/python/main/3.13/etc/apt/apt.conf.d/98-allow-unauthenticated rename to linux/discontinued/python/main/3.13/etc/apt/apt.conf.d/98-allow-unauthenticated diff --git a/linux/advanced/python/main/3.13/etc/apt/apt.conf.d/99-no-check-valid-until b/linux/discontinued/python/main/3.13/etc/apt/apt.conf.d/99-no-check-valid-until similarity index 100% rename from linux/advanced/python/main/3.13/etc/apt/apt.conf.d/99-no-check-valid-until rename to linux/discontinued/python/main/3.13/etc/apt/apt.conf.d/99-no-check-valid-until diff --git a/linux/advanced/python/main/3.13/etc/apt/sources.list b/linux/discontinued/python/main/3.13/etc/apt/sources.list similarity index 100% rename from linux/advanced/python/main/3.13/etc/apt/sources.list rename to linux/discontinued/python/main/3.13/etc/apt/sources.list diff --git a/linux/advanced/python/main/3.13/etc/apt/sources.list.d/github_git-lfs.list b/linux/discontinued/python/main/3.13/etc/apt/sources.list.d/github_git-lfs.list similarity index 100% rename from linux/advanced/python/main/3.13/etc/apt/sources.list.d/github_git-lfs.list rename to linux/discontinued/python/main/3.13/etc/apt/sources.list.d/github_git-lfs.list diff --git a/linux/advanced/python/main/3.13/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/discontinued/python/main/3.13/etc/apt/sources.list.d/launchpad_git-mainline.list similarity index 100% rename from linux/advanced/python/main/3.13/etc/apt/sources.list.d/launchpad_git-mainline.list rename to linux/discontinued/python/main/3.13/etc/apt/sources.list.d/launchpad_git-mainline.list diff --git a/linux/advanced/python/main/3.13/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/discontinued/python/main/3.13/etc/apt/sources.list.d/launchpad_git-stable.list similarity index 100% rename from linux/advanced/python/main/3.13/etc/apt/sources.list.d/launchpad_git-stable.list rename to linux/discontinued/python/main/3.13/etc/apt/sources.list.d/launchpad_git-stable.list diff --git a/linux/advanced/python/main/3.13/etc/locale.gen b/linux/discontinued/python/main/3.13/etc/locale.gen similarity index 100% rename from linux/advanced/python/main/3.13/etc/locale.gen rename to linux/discontinued/python/main/3.13/etc/locale.gen diff --git a/linux/advanced/python/main/3.13/etc/locale.gen.full b/linux/discontinued/python/main/3.13/etc/locale.gen.full similarity index 100% rename from linux/advanced/python/main/3.13/etc/locale.gen.full rename to linux/discontinued/python/main/3.13/etc/locale.gen.full diff --git a/linux/advanced/python/main/3.6/.env b/linux/discontinued/python/main/3.6/.env similarity index 100% rename from linux/advanced/python/main/3.6/.env rename to linux/discontinued/python/main/3.6/.env diff --git a/linux/advanced/python/main/3.6/Dockerfile b/linux/discontinued/python/main/3.6/Dockerfile similarity index 100% rename from linux/advanced/python/main/3.6/Dockerfile rename to linux/discontinued/python/main/3.6/Dockerfile diff --git a/linux/advanced/python/main/3.6/Makefile b/linux/discontinued/python/main/3.6/Makefile similarity index 100% rename from linux/advanced/python/main/3.6/Makefile rename to linux/discontinued/python/main/3.6/Makefile diff --git a/linux/advanced/python/main/3.6/docker-compose.yml b/linux/discontinued/python/main/3.6/docker-compose.yml similarity index 100% rename from linux/advanced/python/main/3.6/docker-compose.yml rename to linux/discontinued/python/main/3.6/docker-compose.yml diff --git a/linux/advanced/python/main/3.6/etc/apt/apt.conf.d/96-apt-retries b/linux/discontinued/python/main/3.6/etc/apt/apt.conf.d/96-apt-retries similarity index 100% rename from linux/advanced/python/main/3.6/etc/apt/apt.conf.d/96-apt-retries rename to linux/discontinued/python/main/3.6/etc/apt/apt.conf.d/96-apt-retries diff --git a/linux/advanced/python/main/3.6/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/discontinued/python/main/3.6/etc/apt/apt.conf.d/97-allow-cert-exp similarity index 100% rename from linux/advanced/python/main/3.6/etc/apt/apt.conf.d/97-allow-cert-exp rename to linux/discontinued/python/main/3.6/etc/apt/apt.conf.d/97-allow-cert-exp diff --git a/linux/advanced/python/main/3.6/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/discontinued/python/main/3.6/etc/apt/apt.conf.d/98-allow-unauthenticated similarity index 100% rename from linux/advanced/python/main/3.6/etc/apt/apt.conf.d/98-allow-unauthenticated rename to linux/discontinued/python/main/3.6/etc/apt/apt.conf.d/98-allow-unauthenticated diff --git a/linux/advanced/python/main/3.6/etc/apt/apt.conf.d/99-no-check-valid-until b/linux/discontinued/python/main/3.6/etc/apt/apt.conf.d/99-no-check-valid-until similarity index 100% rename from linux/advanced/python/main/3.6/etc/apt/apt.conf.d/99-no-check-valid-until rename to linux/discontinued/python/main/3.6/etc/apt/apt.conf.d/99-no-check-valid-until diff --git a/linux/advanced/python/main/3.6/etc/apt/sources.list b/linux/discontinued/python/main/3.6/etc/apt/sources.list similarity index 100% rename from linux/advanced/python/main/3.6/etc/apt/sources.list rename to linux/discontinued/python/main/3.6/etc/apt/sources.list diff --git a/linux/advanced/python/main/3.6/etc/apt/sources.list.d/github_git-lfs.list b/linux/discontinued/python/main/3.6/etc/apt/sources.list.d/github_git-lfs.list similarity index 100% rename from linux/advanced/python/main/3.6/etc/apt/sources.list.d/github_git-lfs.list rename to linux/discontinued/python/main/3.6/etc/apt/sources.list.d/github_git-lfs.list diff --git a/linux/advanced/python/main/3.6/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/discontinued/python/main/3.6/etc/apt/sources.list.d/launchpad_git-mainline.list similarity index 100% rename from linux/advanced/python/main/3.6/etc/apt/sources.list.d/launchpad_git-mainline.list rename to linux/discontinued/python/main/3.6/etc/apt/sources.list.d/launchpad_git-mainline.list diff --git a/linux/advanced/python/main/3.6/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/discontinued/python/main/3.6/etc/apt/sources.list.d/launchpad_git-stable.list similarity index 100% rename from linux/advanced/python/main/3.6/etc/apt/sources.list.d/launchpad_git-stable.list rename to linux/discontinued/python/main/3.6/etc/apt/sources.list.d/launchpad_git-stable.list diff --git a/linux/advanced/python/main/3.6/etc/locale.gen b/linux/discontinued/python/main/3.6/etc/locale.gen similarity index 100% rename from linux/advanced/python/main/3.6/etc/locale.gen rename to linux/discontinued/python/main/3.6/etc/locale.gen diff --git a/linux/advanced/python/main/3.6/etc/locale.gen.full b/linux/discontinued/python/main/3.6/etc/locale.gen.full similarity index 100% rename from linux/advanced/python/main/3.6/etc/locale.gen.full rename to linux/discontinued/python/main/3.6/etc/locale.gen.full diff --git a/linux/advanced/python/main/3.7/.env b/linux/discontinued/python/main/3.7/.env similarity index 100% rename from linux/advanced/python/main/3.7/.env rename to linux/discontinued/python/main/3.7/.env diff --git a/linux/advanced/python/main/3.7/Dockerfile b/linux/discontinued/python/main/3.7/Dockerfile similarity index 100% rename from linux/advanced/python/main/3.7/Dockerfile rename to linux/discontinued/python/main/3.7/Dockerfile diff --git a/linux/advanced/python/main/3.7/Makefile b/linux/discontinued/python/main/3.7/Makefile similarity index 100% rename from linux/advanced/python/main/3.7/Makefile rename to linux/discontinued/python/main/3.7/Makefile diff --git a/linux/advanced/python/main/3.7/docker-compose.yml b/linux/discontinued/python/main/3.7/docker-compose.yml similarity index 100% rename from linux/advanced/python/main/3.7/docker-compose.yml rename to linux/discontinued/python/main/3.7/docker-compose.yml diff --git a/linux/advanced/python/main/3.7/etc/apt/apt.conf.d/96-apt-retries b/linux/discontinued/python/main/3.7/etc/apt/apt.conf.d/96-apt-retries similarity index 100% rename from linux/advanced/python/main/3.7/etc/apt/apt.conf.d/96-apt-retries rename to linux/discontinued/python/main/3.7/etc/apt/apt.conf.d/96-apt-retries diff --git a/linux/advanced/python/main/3.7/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/discontinued/python/main/3.7/etc/apt/apt.conf.d/97-allow-cert-exp similarity index 100% rename from linux/advanced/python/main/3.7/etc/apt/apt.conf.d/97-allow-cert-exp rename to linux/discontinued/python/main/3.7/etc/apt/apt.conf.d/97-allow-cert-exp diff --git a/linux/advanced/python/main/3.7/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/discontinued/python/main/3.7/etc/apt/apt.conf.d/98-allow-unauthenticated similarity index 100% rename from linux/advanced/python/main/3.7/etc/apt/apt.conf.d/98-allow-unauthenticated rename to linux/discontinued/python/main/3.7/etc/apt/apt.conf.d/98-allow-unauthenticated diff --git a/linux/advanced/python/main/3.7/etc/apt/apt.conf.d/99-no-check-valid-until b/linux/discontinued/python/main/3.7/etc/apt/apt.conf.d/99-no-check-valid-until similarity index 100% rename from linux/advanced/python/main/3.7/etc/apt/apt.conf.d/99-no-check-valid-until rename to linux/discontinued/python/main/3.7/etc/apt/apt.conf.d/99-no-check-valid-until diff --git a/linux/advanced/python/main/3.7/etc/apt/sources.list b/linux/discontinued/python/main/3.7/etc/apt/sources.list similarity index 100% rename from linux/advanced/python/main/3.7/etc/apt/sources.list rename to linux/discontinued/python/main/3.7/etc/apt/sources.list diff --git a/linux/advanced/python/main/3.7/etc/apt/sources.list.d/github_git-lfs.list b/linux/discontinued/python/main/3.7/etc/apt/sources.list.d/github_git-lfs.list similarity index 100% rename from linux/advanced/python/main/3.7/etc/apt/sources.list.d/github_git-lfs.list rename to linux/discontinued/python/main/3.7/etc/apt/sources.list.d/github_git-lfs.list diff --git a/linux/advanced/python/main/3.7/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/discontinued/python/main/3.7/etc/apt/sources.list.d/launchpad_git-mainline.list similarity index 100% rename from linux/advanced/python/main/3.7/etc/apt/sources.list.d/launchpad_git-mainline.list rename to linux/discontinued/python/main/3.7/etc/apt/sources.list.d/launchpad_git-mainline.list diff --git a/linux/advanced/python/main/3.7/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/discontinued/python/main/3.7/etc/apt/sources.list.d/launchpad_git-stable.list similarity index 100% rename from linux/advanced/python/main/3.7/etc/apt/sources.list.d/launchpad_git-stable.list rename to linux/discontinued/python/main/3.7/etc/apt/sources.list.d/launchpad_git-stable.list diff --git a/linux/advanced/python/main/3.7/etc/locale.gen b/linux/discontinued/python/main/3.7/etc/locale.gen similarity index 100% rename from linux/advanced/python/main/3.7/etc/locale.gen rename to linux/discontinued/python/main/3.7/etc/locale.gen diff --git a/linux/advanced/python/main/3.7/etc/locale.gen.full b/linux/discontinued/python/main/3.7/etc/locale.gen.full similarity index 100% rename from linux/advanced/python/main/3.7/etc/locale.gen.full rename to linux/discontinued/python/main/3.7/etc/locale.gen.full diff --git a/linux/advanced/python/main/3.8/.env b/linux/discontinued/python/main/3.8/.env similarity index 100% rename from linux/advanced/python/main/3.8/.env rename to linux/discontinued/python/main/3.8/.env diff --git a/linux/advanced/python/main/3.8/Dockerfile b/linux/discontinued/python/main/3.8/Dockerfile similarity index 100% rename from linux/advanced/python/main/3.8/Dockerfile rename to linux/discontinued/python/main/3.8/Dockerfile diff --git a/linux/advanced/python/main/3.8/Makefile b/linux/discontinued/python/main/3.8/Makefile similarity index 100% rename from linux/advanced/python/main/3.8/Makefile rename to linux/discontinued/python/main/3.8/Makefile diff --git a/linux/advanced/python/main/3.8/docker-compose.yml b/linux/discontinued/python/main/3.8/docker-compose.yml similarity index 100% rename from linux/advanced/python/main/3.8/docker-compose.yml rename to linux/discontinued/python/main/3.8/docker-compose.yml diff --git a/linux/advanced/python/main/3.8/etc/apt/apt.conf.d/96-apt-retries b/linux/discontinued/python/main/3.8/etc/apt/apt.conf.d/96-apt-retries similarity index 100% rename from linux/advanced/python/main/3.8/etc/apt/apt.conf.d/96-apt-retries rename to linux/discontinued/python/main/3.8/etc/apt/apt.conf.d/96-apt-retries diff --git a/linux/advanced/python/main/3.8/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/discontinued/python/main/3.8/etc/apt/apt.conf.d/97-allow-cert-exp similarity index 100% rename from linux/advanced/python/main/3.8/etc/apt/apt.conf.d/97-allow-cert-exp rename to linux/discontinued/python/main/3.8/etc/apt/apt.conf.d/97-allow-cert-exp diff --git a/linux/advanced/python/main/3.8/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/discontinued/python/main/3.8/etc/apt/apt.conf.d/98-allow-unauthenticated similarity index 100% rename from linux/advanced/python/main/3.8/etc/apt/apt.conf.d/98-allow-unauthenticated rename to linux/discontinued/python/main/3.8/etc/apt/apt.conf.d/98-allow-unauthenticated diff --git a/linux/advanced/python/main/3.8/etc/apt/apt.conf.d/99-no-check-valid-until b/linux/discontinued/python/main/3.8/etc/apt/apt.conf.d/99-no-check-valid-until similarity index 100% rename from linux/advanced/python/main/3.8/etc/apt/apt.conf.d/99-no-check-valid-until rename to linux/discontinued/python/main/3.8/etc/apt/apt.conf.d/99-no-check-valid-until diff --git a/linux/advanced/python/main/3.8/etc/apt/sources.list b/linux/discontinued/python/main/3.8/etc/apt/sources.list similarity index 100% rename from linux/advanced/python/main/3.8/etc/apt/sources.list rename to linux/discontinued/python/main/3.8/etc/apt/sources.list diff --git a/linux/advanced/python/main/3.8/etc/apt/sources.list.d/github_git-lfs.list b/linux/discontinued/python/main/3.8/etc/apt/sources.list.d/github_git-lfs.list similarity index 100% rename from linux/advanced/python/main/3.8/etc/apt/sources.list.d/github_git-lfs.list rename to linux/discontinued/python/main/3.8/etc/apt/sources.list.d/github_git-lfs.list diff --git a/linux/advanced/python/main/3.8/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/discontinued/python/main/3.8/etc/apt/sources.list.d/launchpad_git-mainline.list similarity index 100% rename from linux/advanced/python/main/3.8/etc/apt/sources.list.d/launchpad_git-mainline.list rename to linux/discontinued/python/main/3.8/etc/apt/sources.list.d/launchpad_git-mainline.list diff --git a/linux/advanced/python/main/3.8/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/discontinued/python/main/3.8/etc/apt/sources.list.d/launchpad_git-stable.list similarity index 100% rename from linux/advanced/python/main/3.8/etc/apt/sources.list.d/launchpad_git-stable.list rename to linux/discontinued/python/main/3.8/etc/apt/sources.list.d/launchpad_git-stable.list diff --git a/linux/advanced/python/main/3.8/etc/locale.gen b/linux/discontinued/python/main/3.8/etc/locale.gen similarity index 100% rename from linux/advanced/python/main/3.8/etc/locale.gen rename to linux/discontinued/python/main/3.8/etc/locale.gen diff --git a/linux/advanced/python/main/3.8/etc/locale.gen.full b/linux/discontinued/python/main/3.8/etc/locale.gen.full similarity index 100% rename from linux/advanced/python/main/3.8/etc/locale.gen.full rename to linux/discontinued/python/main/3.8/etc/locale.gen.full diff --git a/linux/advanced/python/main/3.9/.env b/linux/discontinued/python/main/3.9/.env similarity index 100% rename from linux/advanced/python/main/3.9/.env rename to linux/discontinued/python/main/3.9/.env diff --git a/linux/advanced/python/main/3.9/Dockerfile b/linux/discontinued/python/main/3.9/Dockerfile similarity index 100% rename from linux/advanced/python/main/3.9/Dockerfile rename to linux/discontinued/python/main/3.9/Dockerfile diff --git a/linux/advanced/python/main/3.9/Makefile b/linux/discontinued/python/main/3.9/Makefile similarity index 100% rename from linux/advanced/python/main/3.9/Makefile rename to linux/discontinued/python/main/3.9/Makefile diff --git a/linux/advanced/python/main/3.9/docker-compose.yml b/linux/discontinued/python/main/3.9/docker-compose.yml similarity index 100% rename from linux/advanced/python/main/3.9/docker-compose.yml rename to linux/discontinued/python/main/3.9/docker-compose.yml diff --git a/linux/advanced/python/main/3.9/etc/apt/apt.conf.d/96-apt-retries b/linux/discontinued/python/main/3.9/etc/apt/apt.conf.d/96-apt-retries similarity index 100% rename from linux/advanced/python/main/3.9/etc/apt/apt.conf.d/96-apt-retries rename to linux/discontinued/python/main/3.9/etc/apt/apt.conf.d/96-apt-retries diff --git a/linux/advanced/python/main/3.9/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/discontinued/python/main/3.9/etc/apt/apt.conf.d/97-allow-cert-exp similarity index 100% rename from linux/advanced/python/main/3.9/etc/apt/apt.conf.d/97-allow-cert-exp rename to linux/discontinued/python/main/3.9/etc/apt/apt.conf.d/97-allow-cert-exp diff --git a/linux/advanced/python/main/3.9/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/discontinued/python/main/3.9/etc/apt/apt.conf.d/98-allow-unauthenticated similarity index 100% rename from linux/advanced/python/main/3.9/etc/apt/apt.conf.d/98-allow-unauthenticated rename to linux/discontinued/python/main/3.9/etc/apt/apt.conf.d/98-allow-unauthenticated diff --git a/linux/advanced/python/main/3.9/etc/apt/apt.conf.d/99-no-check-valid-until b/linux/discontinued/python/main/3.9/etc/apt/apt.conf.d/99-no-check-valid-until similarity index 100% rename from linux/advanced/python/main/3.9/etc/apt/apt.conf.d/99-no-check-valid-until rename to linux/discontinued/python/main/3.9/etc/apt/apt.conf.d/99-no-check-valid-until diff --git a/linux/advanced/python/main/3.9/etc/apt/sources.list b/linux/discontinued/python/main/3.9/etc/apt/sources.list similarity index 100% rename from linux/advanced/python/main/3.9/etc/apt/sources.list rename to linux/discontinued/python/main/3.9/etc/apt/sources.list diff --git a/linux/advanced/python/main/3.9/etc/apt/sources.list.d/github_git-lfs.list b/linux/discontinued/python/main/3.9/etc/apt/sources.list.d/github_git-lfs.list similarity index 100% rename from linux/advanced/python/main/3.9/etc/apt/sources.list.d/github_git-lfs.list rename to linux/discontinued/python/main/3.9/etc/apt/sources.list.d/github_git-lfs.list diff --git a/linux/advanced/python/main/3.9/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/discontinued/python/main/3.9/etc/apt/sources.list.d/launchpad_git-mainline.list similarity index 100% rename from linux/advanced/python/main/3.9/etc/apt/sources.list.d/launchpad_git-mainline.list rename to linux/discontinued/python/main/3.9/etc/apt/sources.list.d/launchpad_git-mainline.list diff --git a/linux/advanced/python/main/3.9/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/discontinued/python/main/3.9/etc/apt/sources.list.d/launchpad_git-stable.list similarity index 100% rename from linux/advanced/python/main/3.9/etc/apt/sources.list.d/launchpad_git-stable.list rename to linux/discontinued/python/main/3.9/etc/apt/sources.list.d/launchpad_git-stable.list diff --git a/linux/advanced/python/main/3.9/etc/locale.gen b/linux/discontinued/python/main/3.9/etc/locale.gen similarity index 100% rename from linux/advanced/python/main/3.9/etc/locale.gen rename to linux/discontinued/python/main/3.9/etc/locale.gen diff --git a/linux/advanced/python/main/3.9/etc/locale.gen.full b/linux/discontinued/python/main/3.9/etc/locale.gen.full similarity index 100% rename from linux/advanced/python/main/3.9/etc/locale.gen.full rename to linux/discontinued/python/main/3.9/etc/locale.gen.full diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet5/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet5/Dockerfile new file mode 100644 index 000000000..3173ec5e0 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet5/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV DOTNET_CHANNEL=5.0 +ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} +ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools +ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} +ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh + +ENV DOTNET_CLI_TELEMETRY_OPTOUT=true +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + +################################################################## +# installing dotnet +################################################################## +ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp +RUN mkdir -p ${DOTNET_ROOT} && \ + chmod +x /tmp/dotnet-install.sh && \ + /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest + +################################################################## +# Setup $PATH +################################################################## +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} + +################################################################## +# Setup certs +################################################################## +RUN dotnet dev-certs https -ep /usr/local/share/ca-certificates/aspnet/https.crt --format PEM && \ + update-ca-certificates --fresh && \ + dotnet dev-certs https --trust + + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo $(dotnet --info) && \ + echo $(dotnet --list-sdks) && \ + echo $(dotnet --list-runtimes) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet5/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet5/Dockerfile.develop new file mode 100644 index 000000000..512d25efb --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet5/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV DOTNET_CHANNEL=5.0 +ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} +ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools +ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} +ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh + +ENV DOTNET_CLI_TELEMETRY_OPTOUT=true +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + +################################################################## +# installing dotnet +################################################################## +ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp +RUN mkdir -p ${DOTNET_ROOT} && \ + chmod +x /tmp/dotnet-install.sh && \ + /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest + +################################################################## +# Setup $PATH +################################################################## +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} + +################################################################## +# Setup certs +################################################################## +RUN dotnet dev-certs https -ep /usr/local/share/ca-certificates/aspnet/https.crt --format PEM && \ + update-ca-certificates --fresh && \ + dotnet dev-certs https --trust + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo $(dotnet --info) && \ + echo $(dotnet --list-sdks) && \ + echo $(dotnet --list-runtimes) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk11/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet5/Makefile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk11/Makefile rename to linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet5/Makefile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet5/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet5/docker-compose.yml new file mode 100644 index 000000000..a9ee52205 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet5/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-dotnet5" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-dotnet5" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet6/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet6/Dockerfile new file mode 100644 index 000000000..afa3d0367 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet6/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV DOTNET_CHANNEL=6.0 +ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} +ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools +ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} +ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh + +ENV DOTNET_CLI_TELEMETRY_OPTOUT=true +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + +################################################################## +# installing dotnet +################################################################## +ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp +RUN mkdir -p ${DOTNET_ROOT} && \ + chmod +x /tmp/dotnet-install.sh && \ + /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest + +################################################################## +# Setup $PATH +################################################################## +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} + +################################################################## +# Setup certs +################################################################## +RUN dotnet dev-certs https -ep /usr/local/share/ca-certificates/aspnet/https.crt --format PEM && \ + update-ca-certificates --fresh && \ + dotnet dev-certs https --trust + + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo $(dotnet --info) && \ + echo $(dotnet --list-sdks) && \ + echo $(dotnet --list-runtimes) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet6/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet6/Dockerfile.develop new file mode 100644 index 000000000..109df3aeb --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet6/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV DOTNET_CHANNEL=6.0 +ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} +ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools +ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} +ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh + +ENV DOTNET_CLI_TELEMETRY_OPTOUT=true +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + +################################################################## +# installing dotnet +################################################################## +ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp +RUN mkdir -p ${DOTNET_ROOT} && \ + chmod +x /tmp/dotnet-install.sh && \ + /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest + +################################################################## +# Setup $PATH +################################################################## +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} + +################################################################## +# Setup certs +################################################################## +RUN dotnet dev-certs https -ep /usr/local/share/ca-certificates/aspnet/https.crt --format PEM && \ + update-ca-certificates --fresh && \ + dotnet dev-certs https --trust + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo $(dotnet --info) && \ + echo $(dotnet --list-sdks) && \ + echo $(dotnet --list-runtimes) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk16/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet6/Makefile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk16/Makefile rename to linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet6/Makefile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet6/docker-compose.yml new file mode 100644 index 000000000..8b7917942 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet6/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-dotnet6" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-dotnet6" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet7/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet7/Dockerfile new file mode 100644 index 000000000..237a6e78f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet7/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV DOTNET_CHANNEL=7.0 +ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} +ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools +ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} +ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh + +ENV DOTNET_CLI_TELEMETRY_OPTOUT=true +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + +################################################################## +# installing dotnet +################################################################## +ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp +RUN mkdir -p ${DOTNET_ROOT} && \ + chmod +x /tmp/dotnet-install.sh && \ + /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest + +################################################################## +# Setup $PATH +################################################################## +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} + +################################################################## +# Setup certs +################################################################## +RUN dotnet dev-certs https -ep /usr/local/share/ca-certificates/aspnet/https.crt --format PEM && \ + update-ca-certificates --fresh && \ + dotnet dev-certs https --trust + + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo $(dotnet --info) && \ + echo $(dotnet --list-sdks) && \ + echo $(dotnet --list-runtimes) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet7/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet7/Dockerfile.develop new file mode 100644 index 000000000..a467c4429 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet7/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV DOTNET_CHANNEL=7.0 +ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} +ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools +ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} +ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh + +ENV DOTNET_CLI_TELEMETRY_OPTOUT=true +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + +################################################################## +# installing dotnet +################################################################## +ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp +RUN mkdir -p ${DOTNET_ROOT} && \ + chmod +x /tmp/dotnet-install.sh && \ + /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest + +################################################################## +# Setup $PATH +################################################################## +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} + +################################################################## +# Setup certs +################################################################## +RUN dotnet dev-certs https -ep /usr/local/share/ca-certificates/aspnet/https.crt --format PEM && \ + update-ca-certificates --fresh && \ + dotnet dev-certs https --trust + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo $(dotnet --info) && \ + echo $(dotnet --list-sdks) && \ + echo $(dotnet --list-runtimes) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk17/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet7/Makefile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk17/Makefile rename to linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet7/Makefile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet7/docker-compose.yml new file mode 100644 index 000000000..583fe5225 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet7/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-dotnet7" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-dotnet7" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet8/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet8/Dockerfile new file mode 100644 index 000000000..1f7d9c1c1 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet8/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV DOTNET_CHANNEL=8.0 +ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} +ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools +ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} +ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh + +ENV DOTNET_CLI_TELEMETRY_OPTOUT=true +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + +################################################################## +# installing dotnet +################################################################## +ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp +RUN mkdir -p ${DOTNET_ROOT} && \ + chmod +x /tmp/dotnet-install.sh && \ + /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest + +################################################################## +# Setup $PATH +################################################################## +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} + +################################################################## +# Setup certs +################################################################## +RUN dotnet dev-certs https -ep /usr/local/share/ca-certificates/aspnet/https.crt --format PEM && \ + update-ca-certificates --fresh && \ + dotnet dev-certs https --trust + + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo $(dotnet --info) && \ + echo $(dotnet --list-sdks) && \ + echo $(dotnet --list-runtimes) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet8/Dockerfile.develop new file mode 100644 index 000000000..0e183727e --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet8/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV DOTNET_CHANNEL=8.0 +ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} +ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools +ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} +ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh + +ENV DOTNET_CLI_TELEMETRY_OPTOUT=true +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + +################################################################## +# installing dotnet +################################################################## +ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp +RUN mkdir -p ${DOTNET_ROOT} && \ + chmod +x /tmp/dotnet-install.sh && \ + /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest + +################################################################## +# Setup $PATH +################################################################## +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} + +################################################################## +# Setup certs +################################################################## +RUN dotnet dev-certs https -ep /usr/local/share/ca-certificates/aspnet/https.crt --format PEM && \ + update-ca-certificates --fresh && \ + dotnet dev-certs https --trust + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo $(dotnet --info) && \ + echo $(dotnet --list-sdks) && \ + echo $(dotnet --list-runtimes) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk18/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet8/Makefile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk18/Makefile rename to linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet8/Makefile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet8/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet8/docker-compose.yml new file mode 100644 index 000000000..38544bf4c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet8/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-dotnet8" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-dotnet8" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet9/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet9/Dockerfile new file mode 100644 index 000000000..62546004d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet9/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV DOTNET_CHANNEL=9.0 +ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} +ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools +ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} +ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh + +ENV DOTNET_CLI_TELEMETRY_OPTOUT=true +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + +################################################################## +# installing dotnet +################################################################## +ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp +RUN mkdir -p ${DOTNET_ROOT} && \ + chmod +x /tmp/dotnet-install.sh && \ + /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest + +################################################################## +# Setup $PATH +################################################################## +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} + +################################################################## +# Setup certs +################################################################## +RUN dotnet dev-certs https -ep /usr/local/share/ca-certificates/aspnet/https.crt --format PEM && \ + update-ca-certificates --fresh && \ + dotnet dev-certs https --trust + + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo $(dotnet --info) && \ + echo $(dotnet --list-sdks) && \ + echo $(dotnet --list-runtimes) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet9/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet9/Dockerfile.develop new file mode 100644 index 000000000..865d0693f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet9/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV DOTNET_CHANNEL=9.0 +ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} +ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools +ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} +ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh + +ENV DOTNET_CLI_TELEMETRY_OPTOUT=true +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + +################################################################## +# installing dotnet +################################################################## +ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp +RUN mkdir -p ${DOTNET_ROOT} && \ + chmod +x /tmp/dotnet-install.sh && \ + /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest + +################################################################## +# Setup $PATH +################################################################## +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} + +################################################################## +# Setup certs +################################################################## +RUN dotnet dev-certs https -ep /usr/local/share/ca-certificates/aspnet/https.crt --format PEM && \ + update-ca-certificates --fresh && \ + dotnet dev-certs https --trust + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo $(dotnet --info) && \ + echo $(dotnet --list-sdks) && \ + echo $(dotnet --list-runtimes) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk19/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet9/Makefile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk19/Makefile rename to linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet9/Makefile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet9/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet9/docker-compose.yml new file mode 100644 index 000000000..1600392c5 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/dotnet9/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-dotnet9" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-dotnet9" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts/Dockerfile new file mode 100644 index 000000000..fbb695310 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV DOTNET_CHANNEL=LTS +ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} +ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools +ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} +ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh + +ENV DOTNET_CLI_TELEMETRY_OPTOUT=true +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + +################################################################## +# installing dotnet +################################################################## +ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp +RUN mkdir -p ${DOTNET_ROOT} && \ + chmod +x /tmp/dotnet-install.sh && \ + /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest + +################################################################## +# Setup $PATH +################################################################## +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} + +################################################################## +# Setup certs +################################################################## +RUN dotnet dev-certs https -ep /usr/local/share/ca-certificates/aspnet/https.crt --format PEM && \ + update-ca-certificates --fresh && \ + dotnet dev-certs https --trust + + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo $(dotnet --info) && \ + echo $(dotnet --list-sdks) && \ + echo $(dotnet --list-runtimes) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts/Dockerfile.develop new file mode 100644 index 000000000..201b64413 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV DOTNET_CHANNEL=LTS +ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} +ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools +ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} +ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh + +ENV DOTNET_CLI_TELEMETRY_OPTOUT=true +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + +################################################################## +# installing dotnet +################################################################## +ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp +RUN mkdir -p ${DOTNET_ROOT} && \ + chmod +x /tmp/dotnet-install.sh && \ + /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest + +################################################################## +# Setup $PATH +################################################################## +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} + +################################################################## +# Setup certs +################################################################## +RUN dotnet dev-certs https -ep /usr/local/share/ca-certificates/aspnet/https.crt --format PEM && \ + update-ca-certificates --fresh && \ + dotnet dev-certs https --trust + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo $(dotnet --info) && \ + echo $(dotnet --list-sdks) && \ + echo $(dotnet --list-runtimes) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk20/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts/Makefile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk20/Makefile rename to linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts/Makefile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts/docker-compose.yml new file mode 100644 index 000000000..8ec53ebe4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/lts/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-dotnet-lts" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-dotnet-lts" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts/Dockerfile new file mode 100644 index 000000000..0f9ce699b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV DOTNET_CHANNEL=STS +ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} +ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools +ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} +ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh + +ENV DOTNET_CLI_TELEMETRY_OPTOUT=true +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + +################################################################## +# installing dotnet +################################################################## +ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp +RUN mkdir -p ${DOTNET_ROOT} && \ + chmod +x /tmp/dotnet-install.sh && \ + /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest + +################################################################## +# Setup $PATH +################################################################## +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} + +################################################################## +# Setup certs +################################################################## +RUN dotnet dev-certs https -ep /usr/local/share/ca-certificates/aspnet/https.crt --format PEM && \ + update-ca-certificates --fresh && \ + dotnet dev-certs https --trust + + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo $(dotnet --info) && \ + echo $(dotnet --list-sdks) && \ + echo $(dotnet --list-runtimes) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts/Dockerfile.develop new file mode 100644 index 000000000..e4f4cd018 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ENV DOTNET_CHANNEL=STS +ENV DOTNET_ROOT=${EMG_LOCAL_BASE_DIR}/dotnet/${DOTNET_CHANNEL} +ARG DOTNET_TOOLS_DIR=${DOTNET_ROOT}/tools +ARG DOTNET_INSTALL_DIR=${DOTNET_ROOT} +ARG DOTNET_INSTALL_SCRIPT_URL=https://dotnet.microsoft.com/download/dotnet/scripts/v1/dotnet-install.sh + +ENV DOTNET_CLI_TELEMETRY_OPTOUT=true +ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true + +################################################################## +# installing dotnet +################################################################## +ADD ${DOTNET_INSTALL_SCRIPT_URL} /tmp +RUN mkdir -p ${DOTNET_ROOT} && \ + chmod +x /tmp/dotnet-install.sh && \ + /tmp/dotnet-install.sh --verbose --no-path --install-dir ${DOTNET_ROOT} --channel ${DOTNET_CHANNEL} --version latest + +################################################################## +# Setup $PATH +################################################################## +ENV PATH=$PATH:${DOTNET_ROOT}:${DOTNET_TOOLS_DIR} + +################################################################## +# Setup certs +################################################################## +RUN dotnet dev-certs https -ep /usr/local/share/ca-certificates/aspnet/https.crt --format PEM && \ + update-ca-certificates --fresh && \ + dotnet dev-certs https --trust + +################################################################## +# Version after install +################################################################## +RUN echo "=============================================" && \ + echo $(dotnet --info) && \ + echo $(dotnet --list-sdks) && \ + echo $(dotnet --list-runtimes) && \ + echo "=============================================" + +################################################################## +# cleanup +################################################################## +RUN echo "clean up" && \ + apt-get clean -y && \ + apt-get autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /tmp/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk21/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts/Makefile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk21/Makefile rename to linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts/Makefile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts/docker-compose.yml new file mode 100644 index 000000000..9b08d4313 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/dotnet/sts/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-dotnet-sts" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-dotnet-sts" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk11/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk11/Dockerfile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk11/Dockerfile rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk11/Dockerfile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk11/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk11/Dockerfile.develop similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk11/Dockerfile.develop rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk11/Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk22/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk11/Makefile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk22/Makefile rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk11/Makefile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk11/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk11/docker-compose.yml similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk11/docker-compose.yml rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk11/docker-compose.yml diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk16/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk16/Dockerfile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk16/Dockerfile rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk16/Dockerfile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk16/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk16/Dockerfile.develop similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk16/Dockerfile.develop rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk16/Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk6/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk16/Makefile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk6/Makefile rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk16/Makefile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk16/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk16/docker-compose.yml similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk16/docker-compose.yml rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk16/docker-compose.yml diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk17/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk17/Dockerfile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk17/Dockerfile rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk17/Dockerfile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk17/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk17/Dockerfile.develop similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk17/Dockerfile.develop rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk17/Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk7/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk17/Makefile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk7/Makefile rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk17/Makefile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk17/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk17/docker-compose.yml similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk17/docker-compose.yml rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk17/docker-compose.yml diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk18/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk18/Dockerfile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk18/Dockerfile rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk18/Dockerfile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk18/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk18/Dockerfile.develop similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk18/Dockerfile.develop rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk18/Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk8/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk18/Makefile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk8/Makefile rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk18/Makefile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk18/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk18/docker-compose.yml similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk18/docker-compose.yml rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk18/docker-compose.yml diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk19/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk19/Dockerfile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk19/Dockerfile rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk19/Dockerfile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk19/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk19/Dockerfile.develop similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk19/Dockerfile.develop rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk19/Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk19/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk19/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk19/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk19/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk19/docker-compose.yml similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk19/docker-compose.yml rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk19/docker-compose.yml diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk20/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk20/Dockerfile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk20/Dockerfile rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk20/Dockerfile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk20/Dockerfile.develop similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk20/Dockerfile.develop rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk20/Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk20/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk20/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk20/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk20/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk20/docker-compose.yml similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk20/docker-compose.yml rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk20/docker-compose.yml diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk21/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk21/Dockerfile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk21/Dockerfile rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk21/Dockerfile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk21/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk21/Dockerfile.develop similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk21/Dockerfile.develop rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk21/Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk21/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk21/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk21/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk21/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk21/docker-compose.yml similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk21/docker-compose.yml rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk21/docker-compose.yml diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk22/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk22/Dockerfile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk22/Dockerfile rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk22/Dockerfile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk22/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk22/Dockerfile.develop similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk22/Dockerfile.develop rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk22/Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk22/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk22/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk22/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk22/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk22/docker-compose.yml similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk22/docker-compose.yml rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk22/docker-compose.yml diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk6/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk6/Dockerfile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk6/Dockerfile rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk6/Dockerfile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk6/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk6/Dockerfile.develop similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk6/Dockerfile.develop rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk6/Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk6/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk6/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk6/docker-compose.yml similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk6/docker-compose.yml rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk6/docker-compose.yml diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk7/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk7/Dockerfile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk7/Dockerfile rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk7/Dockerfile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk7/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk7/Dockerfile.develop similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk7/Dockerfile.develop rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk7/Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk7/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk7/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk7/docker-compose.yml similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk7/docker-compose.yml rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk7/docker-compose.yml diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk8/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk8/Dockerfile similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk8/Dockerfile rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk8/Dockerfile diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk8/Dockerfile.develop similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk8/Dockerfile.develop rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk8/Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk8/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk8/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk8/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/jdk8/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk8/docker-compose.yml similarity index 100% rename from linux/ecosystem/epicmorg/debian/11-bullseye/jdk8/docker-compose.yml rename to linux/ecosystem/epicmorg/debian/11-bullseye/jdk/jdk8/docker-compose.yml diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Dockerfile new file mode 100644 index 000000000..cbc67f75f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm +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}.3.0 +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 22.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Dockerfile.develop new file mode 100644 index 000000000..a56ca1d3b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-develop +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}.3.0 +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 22.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/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/current/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/docker-compose.yml new file mode 100644 index 000000000..d72624519 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/current/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs-current" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs-current" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Dockerfile new file mode 100644 index 000000000..d5a0dab33 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm +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}.15.0 +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 20.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Dockerfile.develop new file mode 100644 index 000000000..654d78251 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-develop +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}.15.0 +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 20.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/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/lts/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/docker-compose.yml new file mode 100644 index 000000000..ef06ef263 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/lts/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs-lts" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs-lts" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/Dockerfile new file mode 100644 index 000000000..bca73665a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.12.18 +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 0.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +#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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/Dockerfile.develop new file mode 100644 index 000000000..20b5bbf7a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=0 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.12.18 +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 0.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +#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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/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/node0.12/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/docker-compose.yml new file mode 100644 index 000000000..bf6a592f7 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node0.12/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs0.12" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs0.12" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/Dockerfile new file mode 100644 index 000000000..7b76dea5f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=10 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.24.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 10.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +RUN npm install -g pnpm@5 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/Dockerfile.develop new file mode 100644 index 000000000..9c05fa019 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=10 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.24.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 10.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +RUN npm install -g pnpm@5 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/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/node10/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/docker-compose.yml new file mode 100644 index 000000000..0663d553a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node10/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs10" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs10" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/Dockerfile new file mode 100644 index 000000000..295db78b6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=11 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.15.0 +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 11.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +RUN npm install -g pnpm@5 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/Dockerfile.develop new file mode 100644 index 000000000..6cc581719 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=11 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.15.0 +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 11.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +RUN npm install -g pnpm@5 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/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/node11/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/docker-compose.yml new file mode 100644 index 000000000..f155001bf --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node11/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs11" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs11" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/Dockerfile new file mode 100644 index 000000000..6c0cf19d3 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=12 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.22.9 +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 12.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +RUN npm install -g pnpm@6 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/Dockerfile.develop new file mode 100644 index 000000000..33071bee8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=12 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.22.9 +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 12.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +RUN npm install -g pnpm@6 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/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/node12/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/docker-compose.yml new file mode 100644 index 000000000..9b78d08ec --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node12/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs12" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs12" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/Dockerfile new file mode 100644 index 000000000..1935e2253 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=13 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.14.0 +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 13.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +RUN npm install -g pnpm@6 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/Dockerfile.develop new file mode 100644 index 000000000..1919db0c6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=13 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.14.0 +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 13.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +RUN npm install -g pnpm@6 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/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/node13/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/docker-compose.yml new file mode 100644 index 000000000..566ea7593 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node13/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs13" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs13" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/Dockerfile new file mode 100644 index 000000000..2514ba4ce --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=14 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.21.3 +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 14.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +RUN npm install -g pnpm@7 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/Dockerfile.develop new file mode 100644 index 000000000..a372c087e --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=14 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.21.3 +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 14.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +RUN npm install -g pnpm@7 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/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/node14/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/docker-compose.yml new file mode 100644 index 000000000..3739847a4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node14/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs14" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs14" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/Dockerfile new file mode 100644 index 000000000..6a8376f9d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=15 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.14.0 +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 15.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +#RUN npm install -g pnpm yarn +RUN npm install -g 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/Dockerfile.develop new file mode 100644 index 000000000..648efb49a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=15 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.14.0 +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 15.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +#RUN npm install -g pnpm yarn +RUN npm install -g 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/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/node15/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/docker-compose.yml new file mode 100644 index 000000000..bf7bb6aa0 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node15/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs15" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs15" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/Dockerfile new file mode 100644 index 000000000..34d19f8ab --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=16 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.20.2 +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 16.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +#RUN npm install -g pnpm yarn +RUN npm install -g 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/Dockerfile.develop new file mode 100644 index 000000000..ef81af426 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=16 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.20.2 +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 16.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +#RUN npm install -g pnpm yarn +RUN npm install -g 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/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/node16/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/docker-compose.yml new file mode 100644 index 000000000..11265b66a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node16/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs16" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs16" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/Dockerfile new file mode 100644 index 000000000..28aa1d844 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=17 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.9.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 17.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +#RUN npm install -g pnpm yarn +RUN npm install -g 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/Dockerfile.develop new file mode 100644 index 000000000..d96782e82 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=17 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.9.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 17.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +#RUN npm install -g pnpm yarn +RUN npm install -g 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/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/node17/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/docker-compose.yml new file mode 100644 index 000000000..9767fcf92 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node17/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs17" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs17" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/Dockerfile new file mode 100644 index 000000000..bde0d37b4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=18 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.20.3 +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 18.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/Dockerfile.develop new file mode 100644 index 000000000..f622842ae --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=18 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.20.3 +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 18.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/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/node18/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/docker-compose.yml new file mode 100644 index 000000000..08180963f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node18/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs18" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs18" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/Dockerfile new file mode 100644 index 000000000..64067b72b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=19 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.9.0 +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 19.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/Dockerfile.develop new file mode 100644 index 000000000..760208433 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=19 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.9.0 +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 19.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/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/node19/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/docker-compose.yml new file mode 100644 index 000000000..71556822d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node19/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs19" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs19" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Dockerfile new file mode 100644 index 000000000..d5a0dab33 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm +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}.15.0 +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 20.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Dockerfile.develop new file mode 100644 index 000000000..654d78251 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-develop +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}.15.0 +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 20.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/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/node20/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/docker-compose.yml new file mode 100644 index 000000000..1b08d8f67 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node20/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs20" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs20" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/Dockerfile new file mode 100644 index 000000000..6e73bf39a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=21 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.7.3 +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 21.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/Dockerfile.develop new file mode 100644 index 000000000..fd558c700 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=21 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.7.3 +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 21.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/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/node21/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/docker-compose.yml new file mode 100644 index 000000000..330846b05 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node21/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs21" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs21" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/Dockerfile new file mode 100644 index 000000000..cbc67f75f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm +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}.3.0 +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 22.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/Dockerfile.develop new file mode 100644 index 000000000..a56ca1d3b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-develop +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}.3.0 +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 22.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/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/node22/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/docker-compose.yml new file mode 100644 index 000000000..d17b69a68 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node22/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs22" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs22" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/Dockerfile new file mode 100644 index 000000000..3acc1e6fb --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=4 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.9.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 4.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +#RUN npm install -g pnpm yarn +RUN npm install -g pnpm@2 + +################################################################## +# 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/Dockerfile.develop new file mode 100644 index 000000000..b6411d2b1 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=4 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.9.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 4.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +#RUN npm install -g pnpm yarn +RUN npm install -g pnpm@2 + +################################################################## +# 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/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/node4/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/docker-compose.yml new file mode 100644 index 000000000..47803de7b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node4/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs4" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs4" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/Dockerfile new file mode 100644 index 000000000..4fc72d55f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=5 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.9.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 5.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +#RUN npm install -g pnpm yarn +RUN npm install -g pnpm@2 + +################################################################## +# 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/Dockerfile.develop new file mode 100644 index 000000000..657a446fd --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=5 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.9.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 5.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +#RUN npm install -g pnpm yarn +RUN npm install -g pnpm@2 + +################################################################## +# 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/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/node5/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/docker-compose.yml new file mode 100644 index 000000000..60a16bc93 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node5/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs5" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs5" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/Dockerfile new file mode 100644 index 000000000..186417346 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=6 +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 + +################################################################## +# Node.js 6.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +#RUN npm install -g pnpm yarn +RUN npm install -g pnpm@2 + +################################################################## +# 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/Dockerfile.develop new file mode 100644 index 000000000..0c6ae6eb5 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=6 +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 + +################################################################## +# Node.js 6.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +#RUN npm install -g pnpm yarn +RUN npm install -g pnpm@2 + +################################################################## +# 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/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/node6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/docker-compose.yml new file mode 100644 index 000000000..9fcc0dc7c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node6/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs6" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs6" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/Dockerfile new file mode 100644 index 000000000..41ff5d6c3 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=7 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.10.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 7.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +RUN npm install -g pnpm@3 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/Dockerfile.develop new file mode 100644 index 000000000..8590cb520 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=7 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.10.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 7.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +RUN npm install -g pnpm@3 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/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/node7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/docker-compose.yml new file mode 100644 index 000000000..b0c4e3b8f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node7/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs7" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs7" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/Dockerfile new file mode 100644 index 000000000..e94444389 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=8 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.17.0 +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 8.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +RUN npm install -g pnpm@3 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/Dockerfile.develop new file mode 100644 index 000000000..c0deffcab --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=8 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.17.0 +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 8.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +RUN npm install -g pnpm@3 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/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/node8/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/docker-compose.yml new file mode 100644 index 000000000..8f893a534 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node8/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs8" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs8" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/Dockerfile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/Dockerfile new file mode 100644 index 000000000..4af67a0c3 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=9 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.2 +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 9.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +RUN npm install -g pnpm@3 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/Dockerfile.develop new file mode 100644 index 000000000..3e2b09383 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:bookworm-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" + +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_NODE_MAJOR_VERSION=9 +ARG K_NODE_VERSION=${K_NODE_MAJOR_VERSION}.11.2 +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 9.x +################################################################## +RUN groupadd -g 1337 node && \ + useradd -u 1337 --gid node --shell /bin/bash --create-home node + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ && \ + rm -rfv /usr/local/CHANGELOG.md /usr/local/LICENSE /usr/local/README.md + +RUN curl --user-agent "Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/81.0" --location ${K_NODE_HEADERS_URL}?$(date +%s) \ + --header 'Cache-Control: no-cache, no-store' \ + --header 'Pragma: no-cache' | tar xzv --strip-components=1 --directory /usr/local/ + +RUN npm install -g pnpm@3 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 /tmp/* diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/Makefile b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/README.md b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/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/node9/docker-compose.yml b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/docker-compose.yml new file mode 100644 index 000000000..b1794482e --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/11-bullseye/nodejs/node9/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:bookworm-nodejs9" + build: + context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs9" + build: + context: . + dockerfile: ./Dockerfile.develop