From 4b479750b5f58ce9bffe0b9cf51842b521c68a35 Mon Sep 17 00:00:00 2001 From: STAM Date: Mon, 19 Aug 2024 16:16:51 +0300 Subject: [PATCH] Debian Base Images Rework --- .../epicmorg.base.images.debian.10.yml | 111 ++ .../epicmorg.base.images.debian.12.yml | 109 +- .../epicmorg.base.images.debian.13.yml | 272 +++++ .../epicmorg.base.images.debian.6.yml | 110 ++ .../epicmorg.base.images.debian.7.yml | 109 ++ .../epicmorg.base.images.debian.8.yml | 109 ++ .../epicmorg.base.images.debian.9.yml | 107 ++ .../epicmorg.base.images.debian.legacy.yml | 494 -------- .../epicmorg.base.images.debian.sid.yml | 272 +++++ CHANGELOG.md | 2 + Makefile | 214 +++- README.md | 29 +- .../debian/12-bookworm/develop/Dockerfile | 15 +- .../12-bookworm/dotnet/dotnet5/Dockerfile | 54 + .../dotnet/dotnet5/Dockerfile.develop | 53 + .../12-bookworm/dotnet/dotnet5/Makefile | 36 + .../dotnet/dotnet5/docker-compose.yml | 11 + .../12-bookworm/dotnet/dotnet6/Dockerfile | 54 + .../dotnet/dotnet6/Dockerfile.develop | 53 + .../12-bookworm/dotnet/dotnet6/Makefile | 36 + .../dotnet/dotnet6/docker-compose.yml | 11 + .../12-bookworm/dotnet/dotnet7/Dockerfile | 54 + .../dotnet/dotnet7/Dockerfile.develop | 53 + .../12-bookworm/dotnet/dotnet7/Makefile | 36 + .../dotnet/dotnet7/docker-compose.yml | 11 + .../12-bookworm/dotnet/dotnet8/Dockerfile | 54 + .../dotnet/dotnet8/Dockerfile.develop | 53 + .../12-bookworm/dotnet/dotnet8/Makefile | 36 + .../dotnet/dotnet8/docker-compose.yml | 11 + .../12-bookworm/dotnet/dotnet9/Dockerfile | 54 + .../dotnet/dotnet9/Dockerfile.develop | 53 + .../12-bookworm/dotnet/dotnet9/Makefile | 36 + .../dotnet/dotnet9/docker-compose.yml | 11 + .../debian/12-bookworm/dotnet/lts/Dockerfile | 54 + .../12-bookworm/dotnet/lts/Dockerfile.develop | 53 + .../debian/12-bookworm/dotnet/lts/Makefile | 36 + .../12-bookworm/dotnet/lts/docker-compose.yml | 11 + .../debian/12-bookworm/dotnet/sts/Dockerfile | 54 + .../12-bookworm/dotnet/sts/Dockerfile.develop | 53 + .../debian/12-bookworm/dotnet/sts/Makefile | 36 + .../12-bookworm/dotnet/sts/docker-compose.yml | 11 + .../nodejs/current/Dockerfile.develop | 46 + .../nodejs/current/docker-compose.yml | 7 +- .../12-bookworm/nodejs/lts/Dockerfile.develop | 46 + .../12-bookworm/nodejs/lts/docker-compose.yml | 7 +- .../nodejs/node0.12/Dockerfile.develop | 46 + .../nodejs/node0.12/docker-compose.yml | 7 +- .../nodejs/node10/Dockerfile.develop | 46 + .../nodejs/node10/docker-compose.yml | 7 +- .../nodejs/node11/Dockerfile.develop | 46 + .../nodejs/node11/docker-compose.yml | 7 +- .../nodejs/node12/Dockerfile.develop | 46 + .../nodejs/node12/docker-compose.yml | 7 +- .../nodejs/node13/Dockerfile.develop | 46 + .../nodejs/node13/docker-compose.yml | 7 +- .../nodejs/node14/Dockerfile.develop | 46 + .../nodejs/node14/docker-compose.yml | 7 +- .../nodejs/node15/Dockerfile.develop | 47 + .../nodejs/node15/docker-compose.yml | 7 +- .../nodejs/node16/Dockerfile.develop | 47 + .../nodejs/node16/docker-compose.yml | 7 +- .../nodejs/node17/Dockerfile.develop | 47 + .../nodejs/node17/docker-compose.yml | 7 +- .../nodejs/node18/Dockerfile.develop | 46 + .../nodejs/node18/docker-compose.yml | 7 +- .../nodejs/node19/Dockerfile.develop | 46 + .../nodejs/node19/docker-compose.yml | 7 +- .../nodejs/node20/Dockerfile.develop | 46 + .../nodejs/node20/docker-compose.yml | 7 +- .../nodejs/node21/Dockerfile.develop | 46 + .../nodejs/node21/docker-compose.yml | 7 +- .../nodejs/node22/Dockerfile.develop | 46 + .../nodejs/node22/docker-compose.yml | 7 +- .../nodejs/node4/Dockerfile.develop | 47 + .../nodejs/node4/docker-compose.yml | 7 +- .../nodejs/node5/Dockerfile.develop | 47 + .../nodejs/node5/docker-compose.yml | 7 +- .../nodejs/node6/Dockerfile.develop | 47 + .../nodejs/node6/docker-compose.yml | 7 +- .../nodejs/node7/Dockerfile.develop | 46 + .../nodejs/node7/docker-compose.yml | 7 +- .../nodejs/node8/Dockerfile.develop | 46 + .../nodejs/node8/docker-compose.yml | 7 +- .../nodejs/node9/Dockerfile.develop | 46 + .../nodejs/node9/docker-compose.yml | 7 +- .../debian/12-bookworm/slim/Dockerfile | 1 + .../debian/13-trixie/develop/Dockerfile | 1056 +++++++++++++++++ .../debian/13-trixie/develop/Makefile | 36 + .../13-trixie/develop/docker-compose.yml | 6 + .../13-trixie/dotnet/dotnet5/Dockerfile | 54 + .../dotnet/dotnet5/Dockerfile.develop | 53 + .../debian/13-trixie/dotnet/dotnet5/Makefile | 36 + .../dotnet/dotnet5/docker-compose.yml | 11 + .../13-trixie/dotnet/dotnet6/Dockerfile | 54 + .../dotnet/dotnet6/Dockerfile.develop | 53 + .../debian/13-trixie/dotnet/dotnet6/Makefile | 36 + .../dotnet/dotnet6/docker-compose.yml | 11 + .../13-trixie/dotnet/dotnet7/Dockerfile | 54 + .../dotnet/dotnet7/Dockerfile.develop | 53 + .../debian/13-trixie/dotnet/dotnet7/Makefile | 36 + .../dotnet/dotnet7/docker-compose.yml | 11 + .../13-trixie/dotnet/dotnet8/Dockerfile | 54 + .../dotnet/dotnet8/Dockerfile.develop | 53 + .../debian/13-trixie/dotnet/dotnet8/Makefile | 36 + .../dotnet/dotnet8/docker-compose.yml | 11 + .../13-trixie/dotnet/dotnet9/Dockerfile | 54 + .../dotnet/dotnet9/Dockerfile.develop | 53 + .../debian/13-trixie/dotnet/dotnet9/Makefile | 36 + .../dotnet/dotnet9/docker-compose.yml | 11 + .../debian/13-trixie/dotnet/lts/Dockerfile | 54 + .../13-trixie/dotnet/lts/Dockerfile.develop | 53 + .../debian/13-trixie/dotnet/lts/Makefile | 36 + .../13-trixie/dotnet/lts/docker-compose.yml | 11 + .../debian/13-trixie/dotnet/sts/Dockerfile | 54 + .../13-trixie/dotnet/sts/Dockerfile.develop | 53 + .../debian/13-trixie/dotnet/sts/Makefile | 36 + .../13-trixie/dotnet/sts/docker-compose.yml | 11 + .../debian/13-trixie/jdk/jdk11/Dockerfile | 102 ++ .../13-trixie/jdk/jdk11/Dockerfile.develop | 100 ++ .../debian/13-trixie/jdk/jdk11/Makefile | 36 + .../13-trixie/jdk/jdk11/docker-compose.yml | 11 + .../debian/13-trixie/jdk/jdk16/Dockerfile | 102 ++ .../13-trixie/jdk/jdk16/Dockerfile.develop | 100 ++ .../debian/13-trixie/jdk/jdk16/Makefile | 36 + .../13-trixie/jdk/jdk16/docker-compose.yml | 11 + .../debian/13-trixie/jdk/jdk17/Dockerfile | 102 ++ .../13-trixie/jdk/jdk17/Dockerfile.develop | 100 ++ .../debian/13-trixie/jdk/jdk17/Makefile | 36 + .../13-trixie/jdk/jdk17/docker-compose.yml | 11 + .../debian/13-trixie/jdk/jdk18/Dockerfile | 102 ++ .../13-trixie/jdk/jdk18/Dockerfile.develop | 100 ++ .../debian/13-trixie/jdk/jdk18/Makefile | 36 + .../13-trixie/jdk/jdk18/docker-compose.yml | 11 + .../debian/13-trixie/jdk/jdk19/Dockerfile | 102 ++ .../13-trixie/jdk/jdk19/Dockerfile.develop | 100 ++ .../debian/13-trixie/jdk/jdk19/Makefile | 36 + .../13-trixie/jdk/jdk19/docker-compose.yml | 11 + .../debian/13-trixie/jdk/jdk20/Dockerfile | 102 ++ .../13-trixie/jdk/jdk20/Dockerfile.develop | 100 ++ .../debian/13-trixie/jdk/jdk20/Makefile | 36 + .../13-trixie/jdk/jdk20/docker-compose.yml | 11 + .../debian/13-trixie/jdk/jdk21/Dockerfile | 102 ++ .../13-trixie/jdk/jdk21/Dockerfile.develop | 100 ++ .../debian/13-trixie/jdk/jdk21/Makefile | 36 + .../13-trixie/jdk/jdk21/docker-compose.yml | 11 + .../debian/13-trixie/jdk/jdk22/Dockerfile | 102 ++ .../13-trixie/jdk/jdk22/Dockerfile.develop | 100 ++ .../debian/13-trixie/jdk/jdk22/Makefile | 36 + .../13-trixie/jdk/jdk22/docker-compose.yml | 11 + .../debian/13-trixie/jdk/jdk6/Dockerfile | 93 ++ .../13-trixie/jdk/jdk6/Dockerfile.develop | 91 ++ .../debian/13-trixie/jdk/jdk6/Makefile | 36 + .../13-trixie/jdk/jdk6/docker-compose.yml | 11 + .../debian/13-trixie/jdk/jdk7/Dockerfile | 93 ++ .../13-trixie/jdk/jdk7/Dockerfile.develop | 91 ++ .../debian/13-trixie/jdk/jdk7/Makefile | 36 + .../13-trixie/jdk/jdk7/docker-compose.yml | 11 + .../debian/13-trixie/jdk/jdk8/Dockerfile | 102 ++ .../13-trixie/jdk/jdk8/Dockerfile.develop | 100 ++ .../debian/13-trixie/jdk/jdk8/Makefile | 36 + .../13-trixie/jdk/jdk8/docker-compose.yml | 11 + .../epicmorg/debian/13-trixie/main/Dockerfile | 346 ++++++ .../epicmorg/debian/13-trixie/main/Makefile | 36 + .../debian/13-trixie/main/docker-compose.yml | 6 + .../apt/sources.list.d/github_git-lfs.list | 2 + .../launchpad_git-mainline.list | 5 + .../sources.list.d/launchpad_git-stable.list | 3 + .../13-trixie/nodejs/current/Dockerfile | 46 + .../nodejs/current/Dockerfile.develop | 46 + .../debian/13-trixie/nodejs/current/Makefile | 36 + .../debian/13-trixie/nodejs/current/README.md | 93 ++ .../nodejs/current/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/lts/Dockerfile | 46 + .../13-trixie/nodejs/lts/Dockerfile.develop | 46 + .../debian/13-trixie/nodejs/lts/Makefile | 36 + .../debian/13-trixie/nodejs/lts/README.md | 93 ++ .../13-trixie/nodejs/lts/docker-compose.yml | 11 + .../13-trixie/nodejs/node0.12/Dockerfile | 46 + .../nodejs/node0.12/Dockerfile.develop | 46 + .../debian/13-trixie/nodejs/node0.12/Makefile | 36 + .../13-trixie/nodejs/node0.12/README.md | 93 ++ .../nodejs/node0.12/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node10/Dockerfile | 46 + .../nodejs/node10/Dockerfile.develop | 46 + .../debian/13-trixie/nodejs/node10/Makefile | 36 + .../debian/13-trixie/nodejs/node10/README.md | 93 ++ .../nodejs/node10/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node11/Dockerfile | 46 + .../nodejs/node11/Dockerfile.develop | 46 + .../debian/13-trixie/nodejs/node11/Makefile | 36 + .../debian/13-trixie/nodejs/node11/README.md | 93 ++ .../nodejs/node11/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node12/Dockerfile | 46 + .../nodejs/node12/Dockerfile.develop | 46 + .../debian/13-trixie/nodejs/node12/Makefile | 36 + .../debian/13-trixie/nodejs/node12/README.md | 93 ++ .../nodejs/node12/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node13/Dockerfile | 46 + .../nodejs/node13/Dockerfile.develop | 46 + .../debian/13-trixie/nodejs/node13/Makefile | 36 + .../debian/13-trixie/nodejs/node13/README.md | 93 ++ .../nodejs/node13/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node14/Dockerfile | 46 + .../nodejs/node14/Dockerfile.develop | 46 + .../debian/13-trixie/nodejs/node14/Makefile | 36 + .../debian/13-trixie/nodejs/node14/README.md | 93 ++ .../nodejs/node14/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node15/Dockerfile | 47 + .../nodejs/node15/Dockerfile.develop | 47 + .../debian/13-trixie/nodejs/node15/Makefile | 36 + .../debian/13-trixie/nodejs/node15/README.md | 93 ++ .../nodejs/node15/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node16/Dockerfile | 47 + .../nodejs/node16/Dockerfile.develop | 47 + .../debian/13-trixie/nodejs/node16/Makefile | 36 + .../debian/13-trixie/nodejs/node16/README.md | 93 ++ .../nodejs/node16/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node17/Dockerfile | 47 + .../nodejs/node17/Dockerfile.develop | 47 + .../debian/13-trixie/nodejs/node17/Makefile | 36 + .../debian/13-trixie/nodejs/node17/README.md | 93 ++ .../nodejs/node17/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node18/Dockerfile | 46 + .../nodejs/node18/Dockerfile.develop | 46 + .../debian/13-trixie/nodejs/node18/Makefile | 36 + .../debian/13-trixie/nodejs/node18/README.md | 93 ++ .../nodejs/node18/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node19/Dockerfile | 46 + .../nodejs/node19/Dockerfile.develop | 46 + .../debian/13-trixie/nodejs/node19/Makefile | 36 + .../debian/13-trixie/nodejs/node19/README.md | 93 ++ .../nodejs/node19/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node20/Dockerfile | 46 + .../nodejs/node20/Dockerfile.develop | 46 + .../debian/13-trixie/nodejs/node20/Makefile | 36 + .../debian/13-trixie/nodejs/node20/README.md | 93 ++ .../nodejs/node20/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node21/Dockerfile | 46 + .../nodejs/node21/Dockerfile.develop | 46 + .../debian/13-trixie/nodejs/node21/Makefile | 36 + .../debian/13-trixie/nodejs/node21/README.md | 93 ++ .../nodejs/node21/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node22/Dockerfile | 46 + .../nodejs/node22/Dockerfile.develop | 46 + .../debian/13-trixie/nodejs/node22/Makefile | 36 + .../debian/13-trixie/nodejs/node22/README.md | 93 ++ .../nodejs/node22/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node4/Dockerfile | 47 + .../13-trixie/nodejs/node4/Dockerfile.develop | 47 + .../debian/13-trixie/nodejs/node4/Makefile | 36 + .../debian/13-trixie/nodejs/node4/README.md | 93 ++ .../13-trixie/nodejs/node4/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node5/Dockerfile | 47 + .../13-trixie/nodejs/node5/Dockerfile.develop | 47 + .../debian/13-trixie/nodejs/node5/Makefile | 36 + .../debian/13-trixie/nodejs/node5/README.md | 93 ++ .../13-trixie/nodejs/node5/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node6/Dockerfile | 47 + .../13-trixie/nodejs/node6/Dockerfile.develop | 47 + .../debian/13-trixie/nodejs/node6/Makefile | 36 + .../debian/13-trixie/nodejs/node6/README.md | 93 ++ .../13-trixie/nodejs/node6/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node7/Dockerfile | 46 + .../13-trixie/nodejs/node7/Dockerfile.develop | 46 + .../debian/13-trixie/nodejs/node7/Makefile | 36 + .../debian/13-trixie/nodejs/node7/README.md | 93 ++ .../13-trixie/nodejs/node7/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node8/Dockerfile | 46 + .../13-trixie/nodejs/node8/Dockerfile.develop | 46 + .../debian/13-trixie/nodejs/node8/Makefile | 36 + .../debian/13-trixie/nodejs/node8/README.md | 93 ++ .../13-trixie/nodejs/node8/docker-compose.yml | 11 + .../debian/13-trixie/nodejs/node9/Dockerfile | 46 + .../13-trixie/nodejs/node9/Dockerfile.develop | 46 + .../debian/13-trixie/nodejs/node9/Makefile | 36 + .../debian/13-trixie/nodejs/node9/README.md | 93 ++ .../13-trixie/nodejs/node9/docker-compose.yml | 11 + .../epicmorg/debian/13-trixie/slim/Dockerfile | 101 ++ .../epicmorg/debian/13-trixie/slim/Makefile | 36 + .../debian/13-trixie/slim/docker-compose.yml | 6 + .../slim/etc/apt/apt.conf.d/96-apt-retries | 1 + .../slim/etc/apt/apt.conf.d/97-allow-cert-exp | 2 + .../apt/apt.conf.d/98-allow-unauthenticated | 1 + .../apt/apt.conf.d/99-no-check-valid-until | 1 + .../apt/keyrings/deb-multimedia-keyring.gpg | Bin 0 -> 7607 bytes .../13-trixie/slim/etc/apt/sources.list | 22 + .../sources.list.d/multimedia.sources.list | 5 + .../debian/13-trixie/slim/etc/locale.gen | 12 + .../debian/13-trixie/slim/etc/locale.gen.full | 496 ++++++++ .../slim/usr/local/epicmorg/README.md | 48 + .../russian_trusted_root_ca_pem.crt | 33 + .../russian_trusted_sub_ca_pem.crt | 41 + .../epicmorg/debian/sid/develop/Dockerfile | 1035 ++++++++++++++++ .../epicmorg/debian/sid/develop/Makefile | 36 + .../debian/sid/develop/docker-compose.yml | 6 + .../debian/sid/dotnet/dotnet5/Dockerfile | 54 + .../sid/dotnet/dotnet5/Dockerfile.develop | 53 + .../debian/sid/dotnet/dotnet5/Makefile | 36 + .../sid/dotnet/dotnet5/docker-compose.yml | 11 + .../debian/sid/dotnet/dotnet6/Dockerfile | 54 + .../sid/dotnet/dotnet6/Dockerfile.develop | 53 + .../debian/sid/dotnet/dotnet6/Makefile | 36 + .../sid/dotnet/dotnet6/docker-compose.yml | 11 + .../debian/sid/dotnet/dotnet7/Dockerfile | 54 + .../sid/dotnet/dotnet7/Dockerfile.develop | 53 + .../debian/sid/dotnet/dotnet7/Makefile | 36 + .../sid/dotnet/dotnet7/docker-compose.yml | 11 + .../debian/sid/dotnet/dotnet8/Dockerfile | 54 + .../sid/dotnet/dotnet8/Dockerfile.develop | 53 + .../debian/sid/dotnet/dotnet8/Makefile | 36 + .../sid/dotnet/dotnet8/docker-compose.yml | 11 + .../debian/sid/dotnet/dotnet9/Dockerfile | 54 + .../sid/dotnet/dotnet9/Dockerfile.develop | 53 + .../debian/sid/dotnet/dotnet9/Makefile | 36 + .../sid/dotnet/dotnet9/docker-compose.yml | 11 + .../epicmorg/debian/sid/dotnet/lts/Dockerfile | 54 + .../debian/sid/dotnet/lts/Dockerfile.develop | 53 + .../epicmorg/debian/sid/dotnet/lts/Makefile | 36 + .../debian/sid/dotnet/lts/docker-compose.yml | 11 + .../epicmorg/debian/sid/dotnet/sts/Dockerfile | 54 + .../debian/sid/dotnet/sts/Dockerfile.develop | 53 + .../epicmorg/debian/sid/dotnet/sts/Makefile | 36 + .../debian/sid/dotnet/sts/docker-compose.yml | 11 + .../epicmorg/debian/sid/jdk/jdk11/Dockerfile | 102 ++ .../debian/sid/jdk/jdk11/Dockerfile.develop | 100 ++ .../epicmorg/debian/sid/jdk/jdk11/Makefile | 36 + .../debian/sid/jdk/jdk11/docker-compose.yml | 11 + .../epicmorg/debian/sid/jdk/jdk16/Dockerfile | 102 ++ .../debian/sid/jdk/jdk16/Dockerfile.develop | 100 ++ .../epicmorg/debian/sid/jdk/jdk16/Makefile | 36 + .../debian/sid/jdk/jdk16/docker-compose.yml | 11 + .../epicmorg/debian/sid/jdk/jdk17/Dockerfile | 102 ++ .../debian/sid/jdk/jdk17/Dockerfile.develop | 100 ++ .../epicmorg/debian/sid/jdk/jdk17/Makefile | 36 + .../debian/sid/jdk/jdk17/docker-compose.yml | 11 + .../epicmorg/debian/sid/jdk/jdk18/Dockerfile | 102 ++ .../debian/sid/jdk/jdk18/Dockerfile.develop | 100 ++ .../epicmorg/debian/sid/jdk/jdk18/Makefile | 36 + .../debian/sid/jdk/jdk18/docker-compose.yml | 11 + .../epicmorg/debian/sid/jdk/jdk19/Dockerfile | 102 ++ .../debian/sid/jdk/jdk19/Dockerfile.develop | 100 ++ .../epicmorg/debian/sid/jdk/jdk19/Makefile | 36 + .../debian/sid/jdk/jdk19/docker-compose.yml | 11 + .../epicmorg/debian/sid/jdk/jdk20/Dockerfile | 102 ++ .../debian/sid/jdk/jdk20/Dockerfile.develop | 100 ++ .../epicmorg/debian/sid/jdk/jdk20/Makefile | 36 + .../debian/sid/jdk/jdk20/docker-compose.yml | 11 + .../epicmorg/debian/sid/jdk/jdk21/Dockerfile | 102 ++ .../debian/sid/jdk/jdk21/Dockerfile.develop | 100 ++ .../epicmorg/debian/sid/jdk/jdk21/Makefile | 36 + .../debian/sid/jdk/jdk21/docker-compose.yml | 11 + .../epicmorg/debian/sid/jdk/jdk22/Dockerfile | 102 ++ .../debian/sid/jdk/jdk22/Dockerfile.develop | 100 ++ .../epicmorg/debian/sid/jdk/jdk22/Makefile | 36 + .../debian/sid/jdk/jdk22/docker-compose.yml | 11 + .../epicmorg/debian/sid/jdk/jdk6/Dockerfile | 93 ++ .../debian/sid/jdk/jdk6/Dockerfile.develop | 91 ++ .../epicmorg/debian/sid/jdk/jdk6/Makefile | 36 + .../debian/sid/jdk/jdk6/docker-compose.yml | 11 + .../epicmorg/debian/sid/jdk/jdk7/Dockerfile | 93 ++ .../debian/sid/jdk/jdk7/Dockerfile.develop | 91 ++ .../epicmorg/debian/sid/jdk/jdk7/Makefile | 36 + .../debian/sid/jdk/jdk7/docker-compose.yml | 11 + .../epicmorg/debian/sid/jdk/jdk8/Dockerfile | 102 ++ .../debian/sid/jdk/jdk8/Dockerfile.develop | 100 ++ .../epicmorg/debian/sid/jdk/jdk8/Makefile | 36 + .../debian/sid/jdk/jdk8/docker-compose.yml | 11 + .../epicmorg/debian/sid/main/Dockerfile | 346 ++++++ .../epicmorg/debian/sid/main/Makefile | 36 + .../debian/sid/main/docker-compose.yml | 6 + .../apt/sources.list.d/github_git-lfs.list | 2 + .../launchpad_git-mainline.list | 5 + .../sources.list.d/launchpad_git-stable.list | 3 + .../debian/sid/nodejs/current/Dockerfile | 46 + .../sid/nodejs/current/Dockerfile.develop | 46 + .../debian/sid/nodejs/current/Makefile | 36 + .../debian/sid/nodejs/current/README.md | 93 ++ .../sid/nodejs/current/docker-compose.yml | 11 + .../epicmorg/debian/sid/nodejs/lts/Dockerfile | 46 + .../debian/sid/nodejs/lts/Dockerfile.develop | 46 + .../epicmorg/debian/sid/nodejs/lts/Makefile | 36 + .../epicmorg/debian/sid/nodejs/lts/README.md | 93 ++ .../debian/sid/nodejs/lts/docker-compose.yml | 11 + .../debian/sid/nodejs/node0.12/Dockerfile | 46 + .../sid/nodejs/node0.12/Dockerfile.develop | 46 + .../debian/sid/nodejs/node0.12/Makefile | 36 + .../debian/sid/nodejs/node0.12/README.md | 93 ++ .../sid/nodejs/node0.12/docker-compose.yml | 11 + .../debian/sid/nodejs/node10/Dockerfile | 46 + .../sid/nodejs/node10/Dockerfile.develop | 46 + .../debian/sid/nodejs/node10/Makefile | 36 + .../debian/sid/nodejs/node10/README.md | 93 ++ .../sid/nodejs/node10/docker-compose.yml | 11 + .../debian/sid/nodejs/node11/Dockerfile | 46 + .../sid/nodejs/node11/Dockerfile.develop | 46 + .../debian/sid/nodejs/node11/Makefile | 36 + .../debian/sid/nodejs/node11/README.md | 93 ++ .../sid/nodejs/node11/docker-compose.yml | 11 + .../debian/sid/nodejs/node12/Dockerfile | 46 + .../sid/nodejs/node12/Dockerfile.develop | 46 + .../debian/sid/nodejs/node12/Makefile | 36 + .../debian/sid/nodejs/node12/README.md | 93 ++ .../sid/nodejs/node12/docker-compose.yml | 11 + .../debian/sid/nodejs/node13/Dockerfile | 46 + .../sid/nodejs/node13/Dockerfile.develop | 46 + .../debian/sid/nodejs/node13/Makefile | 36 + .../debian/sid/nodejs/node13/README.md | 93 ++ .../sid/nodejs/node13/docker-compose.yml | 11 + .../debian/sid/nodejs/node14/Dockerfile | 46 + .../sid/nodejs/node14/Dockerfile.develop | 46 + .../debian/sid/nodejs/node14/Makefile | 36 + .../debian/sid/nodejs/node14/README.md | 93 ++ .../sid/nodejs/node14/docker-compose.yml | 11 + .../debian/sid/nodejs/node15/Dockerfile | 47 + .../sid/nodejs/node15/Dockerfile.develop | 47 + .../debian/sid/nodejs/node15/Makefile | 36 + .../debian/sid/nodejs/node15/README.md | 93 ++ .../sid/nodejs/node15/docker-compose.yml | 11 + .../debian/sid/nodejs/node16/Dockerfile | 47 + .../sid/nodejs/node16/Dockerfile.develop | 47 + .../debian/sid/nodejs/node16/Makefile | 36 + .../debian/sid/nodejs/node16/README.md | 93 ++ .../sid/nodejs/node16/docker-compose.yml | 11 + .../debian/sid/nodejs/node17/Dockerfile | 47 + .../sid/nodejs/node17/Dockerfile.develop | 47 + .../debian/sid/nodejs/node17/Makefile | 36 + .../debian/sid/nodejs/node17/README.md | 93 ++ .../sid/nodejs/node17/docker-compose.yml | 11 + .../debian/sid/nodejs/node18/Dockerfile | 46 + .../sid/nodejs/node18/Dockerfile.develop | 46 + .../debian/sid/nodejs/node18/Makefile | 36 + .../debian/sid/nodejs/node18/README.md | 93 ++ .../sid/nodejs/node18/docker-compose.yml | 11 + .../debian/sid/nodejs/node19/Dockerfile | 46 + .../sid/nodejs/node19/Dockerfile.develop | 46 + .../debian/sid/nodejs/node19/Makefile | 36 + .../debian/sid/nodejs/node19/README.md | 93 ++ .../sid/nodejs/node19/docker-compose.yml | 11 + .../debian/sid/nodejs/node20/Dockerfile | 46 + .../sid/nodejs/node20/Dockerfile.develop | 46 + .../debian/sid/nodejs/node20/Makefile | 36 + .../debian/sid/nodejs/node20/README.md | 93 ++ .../sid/nodejs/node20/docker-compose.yml | 11 + .../debian/sid/nodejs/node21/Dockerfile | 46 + .../sid/nodejs/node21/Dockerfile.develop | 46 + .../debian/sid/nodejs/node21/Makefile | 36 + .../debian/sid/nodejs/node21/README.md | 93 ++ .../sid/nodejs/node21/docker-compose.yml | 11 + .../debian/sid/nodejs/node22/Dockerfile | 46 + .../sid/nodejs/node22/Dockerfile.develop | 46 + .../debian/sid/nodejs/node22/Makefile | 36 + .../debian/sid/nodejs/node22/README.md | 93 ++ .../sid/nodejs/node22/docker-compose.yml | 11 + .../debian/sid/nodejs/node4/Dockerfile | 47 + .../sid/nodejs/node4/Dockerfile.develop | 47 + .../epicmorg/debian/sid/nodejs/node4/Makefile | 36 + .../debian/sid/nodejs/node4/README.md | 93 ++ .../sid/nodejs/node4/docker-compose.yml | 11 + .../debian/sid/nodejs/node5/Dockerfile | 47 + .../sid/nodejs/node5/Dockerfile.develop | 47 + .../epicmorg/debian/sid/nodejs/node5/Makefile | 36 + .../debian/sid/nodejs/node5/README.md | 93 ++ .../sid/nodejs/node5/docker-compose.yml | 11 + .../debian/sid/nodejs/node6/Dockerfile | 47 + .../sid/nodejs/node6/Dockerfile.develop | 47 + .../epicmorg/debian/sid/nodejs/node6/Makefile | 36 + .../debian/sid/nodejs/node6/README.md | 93 ++ .../sid/nodejs/node6/docker-compose.yml | 11 + .../debian/sid/nodejs/node7/Dockerfile | 46 + .../sid/nodejs/node7/Dockerfile.develop | 46 + .../epicmorg/debian/sid/nodejs/node7/Makefile | 36 + .../debian/sid/nodejs/node7/README.md | 93 ++ .../sid/nodejs/node7/docker-compose.yml | 11 + .../debian/sid/nodejs/node8/Dockerfile | 46 + .../sid/nodejs/node8/Dockerfile.develop | 46 + .../epicmorg/debian/sid/nodejs/node8/Makefile | 36 + .../debian/sid/nodejs/node8/README.md | 93 ++ .../sid/nodejs/node8/docker-compose.yml | 11 + .../debian/sid/nodejs/node9/Dockerfile | 46 + .../sid/nodejs/node9/Dockerfile.develop | 46 + .../epicmorg/debian/sid/nodejs/node9/Makefile | 36 + .../debian/sid/nodejs/node9/README.md | 93 ++ .../sid/nodejs/node9/docker-compose.yml | 11 + .../epicmorg/debian/sid/slim/Dockerfile | 101 ++ .../epicmorg/debian/sid/slim/Makefile | 36 + .../debian/sid/slim/docker-compose.yml | 6 + .../slim/etc/apt/apt.conf.d/96-apt-retries | 1 + .../slim/etc/apt/apt.conf.d/97-allow-cert-exp | 2 + .../apt/apt.conf.d/98-allow-unauthenticated | 1 + .../apt/apt.conf.d/99-no-check-valid-until | 1 + .../apt/keyrings/deb-multimedia-keyring.gpg | Bin 0 -> 7607 bytes .../debian/sid/slim/etc/apt/sources.list | 3 + .../sources.list.d/multimedia.sources.list | 5 + .../epicmorg/debian/sid/slim/etc/locale.gen | 12 + .../debian/sid/slim/etc/locale.gen.full | 496 ++++++++ .../sid/slim/usr/local/epicmorg/README.md | 48 + .../russian_trusted_root_ca_pem.crt | 33 + .../russian_trusted_sub_ca_pem.crt | 41 + linux/ecosystem/nginx/1.27.0/main/Dockerfile | 5 + 499 files changed, 25946 insertions(+), 619 deletions(-) create mode 100644 .github/workflows/epicmorg.base.images.debian.10.yml create mode 100644 .github/workflows/epicmorg.base.images.debian.13.yml create mode 100644 .github/workflows/epicmorg.base.images.debian.6.yml create mode 100644 .github/workflows/epicmorg.base.images.debian.7.yml create mode 100644 .github/workflows/epicmorg.base.images.debian.8.yml create mode 100644 .github/workflows/epicmorg.base.images.debian.9.yml delete mode 100644 .github/workflows/epicmorg.base.images.debian.legacy.yml create mode 100644 .github/workflows/epicmorg.base.images.debian.sid.yml create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet5/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet5/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet5/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet5/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet6/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet6/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet6/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet6/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet7/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet7/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet7/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet7/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet8/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet8/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet8/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet8/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet9/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet9/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet9/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet9/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/lts/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/lts/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/lts/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/lts/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/sts/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/sts/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/sts/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/sts/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/current/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/lts/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node0.12/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node10/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node11/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node12/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node13/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node14/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node15/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node16/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node17/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node18/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node19/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node20/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node21/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node22/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node4/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node5/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node6/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node7/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node8/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node9/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/develop/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/develop/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/develop/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet5/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet5/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet5/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet5/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet6/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet6/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet6/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet6/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet7/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet7/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet7/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet7/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk11/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk11/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk11/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk11/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk16/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk16/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk16/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk16/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk17/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk17/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk17/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk17/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk18/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk18/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk18/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk18/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk19/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk19/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk19/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk19/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk20/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk20/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk20/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk20/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk21/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk21/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk21/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk21/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk22/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk22/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk22/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk22/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk6/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk6/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk6/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk6/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk7/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk7/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk7/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk7/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk8/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk8/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk8/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk8/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/main/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/main/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/main/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/main/etc/apt/sources.list.d/github_git-lfs.list create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/main/etc/apt/sources.list.d/launchpad_git-mainline.list create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/main/etc/apt/sources.list.d/launchpad_git-stable.list create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node0.12/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node0.12/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node0.12/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node0.12/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node0.12/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node10/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node10/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node10/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node10/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node10/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node11/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node11/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node11/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node11/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node11/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node12/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node12/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node12/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node12/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node12/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node13/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node13/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node13/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node13/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node13/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node14/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node14/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node14/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node14/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node14/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node15/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node15/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node15/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node15/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node15/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node16/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node16/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node16/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node16/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node16/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node17/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node17/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node17/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node17/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node17/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node18/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node18/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node18/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node18/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node18/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node19/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node19/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node19/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node19/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node19/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node21/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node21/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node21/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node21/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node21/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node22/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node22/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node22/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node22/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node22/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node4/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node4/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node4/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node4/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node4/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node5/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node5/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node5/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node5/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node5/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node6/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node6/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node6/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node6/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node6/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node7/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node7/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node7/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node7/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node7/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node9/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node9/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node9/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node9/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node9/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/slim/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/slim/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/slim/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/apt.conf.d/96-apt-retries create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/apt.conf.d/97-allow-cert-exp create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/apt.conf.d/98-allow-unauthenticated create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/apt.conf.d/99-no-check-valid-until create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/keyrings/deb-multimedia-keyring.gpg create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/sources.list create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/sources.list.d/multimedia.sources.list create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/locale.gen create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/locale.gen.full create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/slim/usr/local/epicmorg/README.md create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/slim/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt create mode 100644 linux/ecosystem/epicmorg/debian/13-trixie/slim/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt create mode 100644 linux/ecosystem/epicmorg/debian/sid/develop/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/develop/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/develop/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet5/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet5/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet5/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet5/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet6/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet6/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet6/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet6/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet7/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet7/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet7/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet7/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/lts/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/dotnet/sts/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk11/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk11/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk11/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk11/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk16/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk16/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk16/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk16/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk17/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk17/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk17/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk17/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk18/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk18/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk18/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk18/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk19/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk19/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk19/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk19/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk20/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk20/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk20/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk20/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk21/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk21/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk21/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk21/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk22/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk22/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk22/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk22/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk6/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk6/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk6/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk6/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk7/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk7/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk7/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk7/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk8/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk8/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk8/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/jdk/jdk8/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/main/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/main/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/main/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/main/etc/apt/sources.list.d/github_git-lfs.list create mode 100644 linux/ecosystem/epicmorg/debian/sid/main/etc/apt/sources.list.d/launchpad_git-mainline.list create mode 100644 linux/ecosystem/epicmorg/debian/sid/main/etc/apt/sources.list.d/launchpad_git-stable.list create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/current/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/current/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/current/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/current/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/current/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/lts/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/lts/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node0.12/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node0.12/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node0.12/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node0.12/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node0.12/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node10/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node10/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node10/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node10/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node10/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node11/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node11/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node11/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node11/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node11/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node12/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node12/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node12/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node12/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node12/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node13/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node13/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node13/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node13/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node13/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node14/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node14/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node14/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node14/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node14/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node15/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node15/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node15/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node15/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node15/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node16/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node16/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node16/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node16/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node16/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node17/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node17/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node17/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node17/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node17/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node18/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node18/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node18/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node18/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node18/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node19/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node19/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node19/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node19/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node19/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node20/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node20/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node21/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node21/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node21/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node21/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node21/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node22/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node22/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node22/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node22/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node22/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node4/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node4/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node4/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node4/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node4/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node5/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node5/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node5/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node5/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node5/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node6/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node6/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node6/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node6/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node6/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node7/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node7/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node7/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node7/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node7/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node8/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node8/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node8/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node8/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node8/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node9/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node9/Dockerfile.develop create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node9/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node9/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/nodejs/node9/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/slim/Dockerfile create mode 100644 linux/ecosystem/epicmorg/debian/sid/slim/Makefile create mode 100644 linux/ecosystem/epicmorg/debian/sid/slim/docker-compose.yml create mode 100644 linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/apt.conf.d/96-apt-retries create mode 100644 linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/apt.conf.d/97-allow-cert-exp create mode 100644 linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/apt.conf.d/98-allow-unauthenticated create mode 100644 linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/apt.conf.d/99-no-check-valid-until create mode 100644 linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/keyrings/deb-multimedia-keyring.gpg create mode 100644 linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/sources.list create mode 100644 linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/sources.list.d/multimedia.sources.list create mode 100644 linux/ecosystem/epicmorg/debian/sid/slim/etc/locale.gen create mode 100644 linux/ecosystem/epicmorg/debian/sid/slim/etc/locale.gen.full create mode 100644 linux/ecosystem/epicmorg/debian/sid/slim/usr/local/epicmorg/README.md create mode 100644 linux/ecosystem/epicmorg/debian/sid/slim/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt create mode 100644 linux/ecosystem/epicmorg/debian/sid/slim/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt diff --git a/.github/workflows/epicmorg.base.images.debian.10.yml b/.github/workflows/epicmorg.base.images.debian.10.yml new file mode 100644 index 000000000..220dd4e51 --- /dev/null +++ b/.github/workflows/epicmorg.base.images.debian.10.yml @@ -0,0 +1,111 @@ +name: EpicMorg Debian 10 Images + +on: +# push: +# branches: +# - 'master' + schedule: + - cron: '0 0 * * 1,3,5' + +jobs: + + build-10-images: + name: Build EpicMorg Debian 10 Images + runs-on: ubuntu-24.04 + + steps: + - uses: actions/checkout@v4 + - name: Log into registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + +################################################################################## + + - name: "Build and Deploy Debian 10 slim Image:" + run: cd linux/ecosystem/epicmorg/debian/10-buster/slim && pwd && make build && make deploy + + - name: "Build and Deploy Debian 10 main Image:" + run: cd linux/ecosystem/epicmorg/debian/10-buster/main && pwd && make build && make deploy + + - name: "Build and Deploy Debian 10 develop Image:" + run: cd linux/ecosystem/epicmorg/debian/10-buster/develop && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 10 jdk6 Image:" + run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk6 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 10 jdk7 Image:" + run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk7 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 10 jdk8 Image:" + run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk8 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 10 jdk11 Image:" + run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk11 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 10 jdk16 Image:" + run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk16 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 10 jdk17 Image:" + run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk17 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 10 jdk18 Image:" + run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk18 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 10 jdk19 Image:" + run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk19 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 10 jdk20 Image:" + run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk20 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 10 jdk21 Image:" + run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk21 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 10 jdk22 Image:" + run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk22 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## diff --git a/.github/workflows/epicmorg.base.images.debian.12.yml b/.github/workflows/epicmorg.base.images.debian.12.yml index 02928a0d4..0e8bc9ba7 100644 --- a/.github/workflows/epicmorg.base.images.debian.12.yml +++ b/.github/workflows/epicmorg.base.images.debian.12.yml @@ -197,53 +197,76 @@ jobs: ################################################################################## -# - name: "Build and Deploy Debian 12 PHP Latest Image:" -# run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/latest && pwd && make build && make deploy + - name: "Build and Deploy Debian 12 dotNet LTS Image:" + run: cd linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/lts && pwd && make build && make deploy - - name: "Build and Deploy Debian 12 PHP 7.0 Image:" - run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php7.0 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 12 PHP 7.1 Image:" - run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php7.1 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 12 PHP 7.2 Image:" - run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php7.2 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 12 PHP 7.3 Image:" - run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php7.3 && pwd && make build && make deploy + - name: "Build and Deploy Debian 12 dotNet STS Image:" + run: cd linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/sts && pwd && make build && make deploy -################################################################################## + - name: "Build and Deploy Debian 12 dotNet 5 Image:" + run: cd linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet5 && pwd && make build && make deploy - - name: Cleanup - run: make docker-clean + - name: "Build and Deploy Debian 12 dotNet 6 Image:" + run: cd linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet6 && pwd && make build && make deploy -################################################################################## + - name: "Build and Deploy Debian 12 dotNet 7 Image:" + run: cd linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet7 && pwd && make build && make deploy - - name: "Build and Deploy Debian 12 PHP 7.4 Image:" - run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php7.4 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 12 PHP 8.0 Image:" - run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php8.0 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 12 PHP 8.1 Image:" - run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php8.1 && pwd && make build && make deploy + - name: "Build and Deploy Debian 12 dotNet 8 Image:" + run: cd linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet8 && pwd && make build && make deploy -################################################################################## + - name: "Build and Deploy Debian 12 dotNet 9 Image:" + run: cd linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet9 && pwd && make build && make deploy - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 12 PHP 8.2 Image:" - run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php8.2 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 12 PHP 8.3 Image:" - run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php8.3 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## +# ################################################################################## +# +# # - name: "Build and Deploy Debian 12 PHP Latest Image:" +# # run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/latest && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 12 PHP 7.0 Image:" +# run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php7.0 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 12 PHP 7.1 Image:" +# run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php7.1 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 12 PHP 7.2 Image:" +# run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php7.2 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 12 PHP 7.3 Image:" +# run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php7.3 && pwd && make build && make deploy +# +# ################################################################################## +# +# - name: Cleanup +# run: make docker-clean +# +# ################################################################################## +# +# - name: "Build and Deploy Debian 12 PHP 7.4 Image:" +# run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php7.4 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 12 PHP 8.0 Image:" +# run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php8.0 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 12 PHP 8.1 Image:" +# run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php8.1 && pwd && make build && make deploy +# +# ################################################################################## +# +# - name: Cleanup +# run: make docker-clean +# +# ################################################################################## +# +# - name: "Build and Deploy Debian 12 PHP 8.2 Image:" +# run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php8.2 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 12 PHP 8.3 Image:" +# run: cd linux/ecosystem/epicmorg/debian/12-bookworm/php/php8.3 && pwd && make build && make deploy +# +# ################################################################################## +# +# - name: Cleanup +# run: make docker-clean +# +# ################################################################################## diff --git a/.github/workflows/epicmorg.base.images.debian.13.yml b/.github/workflows/epicmorg.base.images.debian.13.yml new file mode 100644 index 000000000..777ee6c62 --- /dev/null +++ b/.github/workflows/epicmorg.base.images.debian.13.yml @@ -0,0 +1,272 @@ +name: EpicMorg Debian 13 Images + +on: +# push: +# branches: +# - 'master' + schedule: + - cron: '1 1 * * 1,3,5' + +jobs: + + build-10-images: + name: Build EpicMorg Debian 13 Images + runs-on: ubuntu-24.04 + + steps: + - uses: actions/checkout@v4 + - name: Log into registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Debian 13 slim Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/slim && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 main Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/main && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 develop Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/develop && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 13 jdk6 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk6 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 jdk7 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk7 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 13 jdk8 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk8 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 jdk11 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk11 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 13 jdk16 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk16 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 jdk17 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk17 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 13 jdk18 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk18 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 jdk19 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk19 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 13 jdk20 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk20 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 jdk21 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk21 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 jdk22 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk22 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 13 NodeJS LTS Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS Current Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current && pwd && make build && make deploy + +################################################################################## + + - name: "Build and Deploy Debian 13 NodeJS 0.12 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node0.12 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 4 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node4 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 5 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node5 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 6 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node6 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 7 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node7 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 8 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 9 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 13 NodeJS 10 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node10 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 11 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node11 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 12 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node12 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 13 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node13 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 14 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node14 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 15 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node15 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 13 NodeJS 16 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node16 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 17 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node17 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 18 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node18 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 19 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node19 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 20 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 21 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node21 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 NodeJS 22 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node22 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 13 dotNet LTS Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 dotNet STS Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 dotNet 5 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet5 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 dotNet 6 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet6 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 dotNet 7 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet7 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 dotNet 8 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 13 dotNet 9 Image:" + run: cd linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9 && pwd && make build && make deploy + +# ################################################################################## +# +# # - name: "Build and Deploy Debian 13 PHP Latest Image:" +# # run: cd linux/ecosystem/epicmorg/debian/13-trixie/php/latest && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 13 PHP 7.0 Image:" +# run: cd linux/ecosystem/epicmorg/debian/13-trixie/php/php7.0 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 13 PHP 7.1 Image:" +# run: cd linux/ecosystem/epicmorg/debian/13-trixie/php/php7.1 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 13 PHP 7.2 Image:" +# run: cd linux/ecosystem/epicmorg/debian/13-trixie/php/php7.2 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 13 PHP 7.3 Image:" +# run: cd linux/ecosystem/epicmorg/debian/13-trixie/php/php7.3 && pwd && make build && make deploy +# +# ################################################################################## +# +# - name: Cleanup +# run: make docker-clean +# +# ################################################################################## +# +# - name: "Build and Deploy Debian 13 PHP 7.4 Image:" +# run: cd linux/ecosystem/epicmorg/debian/13-trixie/php/php7.4 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 13 PHP 8.0 Image:" +# run: cd linux/ecosystem/epicmorg/debian/13-trixie/php/php8.0 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 13 PHP 8.1 Image:" +# run: cd linux/ecosystem/epicmorg/debian/13-trixie/php/php8.1 && pwd && make build && make deploy +# +# ################################################################################## +# +# - name: Cleanup +# run: make docker-clean +# +# ################################################################################## +# +# - name: "Build and Deploy Debian 13 PHP 8.2 Image:" +# run: cd linux/ecosystem/epicmorg/debian/13-trixie/php/php8.2 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 13 PHP 8.3 Image:" +# run: cd linux/ecosystem/epicmorg/debian/13-trixie/php/php8.3 && pwd && make build && make deploy +# +# ################################################################################## +# +# - name: Cleanup +# run: make docker-clean +# +# ################################################################################## diff --git a/.github/workflows/epicmorg.base.images.debian.6.yml b/.github/workflows/epicmorg.base.images.debian.6.yml new file mode 100644 index 000000000..fb56aa357 --- /dev/null +++ b/.github/workflows/epicmorg.base.images.debian.6.yml @@ -0,0 +1,110 @@ +name: EpicMorg Debian 6 Images + +on: +# push: +# branches: +# - 'master' + schedule: + - cron: '0 0 * * 1,3,5' + +jobs: + + build-06-images: + name: Build EpicMorg Debian 6 Images + runs-on: ubuntu-24.04 + + steps: + - uses: actions/checkout@v4 + - name: Log into registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Debian 6 slim Image:" + run: cd linux/ecosystem/epicmorg/debian/06-squeeze/slim && pwd && make build && make deploy + + - name: "Build and Deploy Debian 6 main Image:" + run: cd linux/ecosystem/epicmorg/debian/06-squeeze/main && pwd && make build && make deploy + + - name: "Build and Deploy Debian 6 develop Image:" + run: cd linux/ecosystem/epicmorg/debian/06-squeeze/develop && pwd && make build && make deploy + + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 6 jdk6 Image:" + run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk6 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 6 jdk7 Image:" + run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk7 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 6 jdk8 Image:" + run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk8 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 6 jdk11 Image:" + run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk11 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 6 jdk16 Image:" + run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk16 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 6 jdk17 Image:" + run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk17 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 6 jdk18 Image:" + run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk18 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 6 jdk19 Image:" + run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk19 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + +# - name: "Build and Deploy Debian 6 jdk20 Image:" +# run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk20 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 6 jdk21 Image:" +# run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk21 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 6 jdk22 Image:" +# run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk22 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## diff --git a/.github/workflows/epicmorg.base.images.debian.7.yml b/.github/workflows/epicmorg.base.images.debian.7.yml new file mode 100644 index 000000000..7cbcb3264 --- /dev/null +++ b/.github/workflows/epicmorg.base.images.debian.7.yml @@ -0,0 +1,109 @@ +name: EpicMorg Debian 7 Images + +on: +# push: +# branches: +# - 'master' + schedule: + - cron: '0 0 * * 1,3,5' + +jobs: + + build-07-images: + name: Build EpicMorg Debian 7 Images + runs-on: ubuntu-24.04 + + steps: + - uses: actions/checkout@v4 + - name: Log into registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Debian 7 slim Image:" + run: cd linux/ecosystem/epicmorg/debian/07-wheezy/slim && pwd && make build && make deploy + + - name: "Build and Deploy Debian 7 main Image:" + run: cd linux/ecosystem/epicmorg/debian/07-wheezy/main && pwd && make build && make deploy + + - name: "Build and Deploy Debian 7 develop Image:" + run: cd linux/ecosystem/epicmorg/debian/07-wheezy/develop && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 7 jdk6 Image:" + run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk6 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 7 jdk7 Image:" + run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk7 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 7 jdk8 Image:" + run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk8 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 7 jdk11 Image:" + run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk11 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 7 jdk16 Image:" + run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk16 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 7 jdk17 Image:" + run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk17 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 7 jdk18 Image:" + run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk18 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 7 jdk19 Image:" + run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk19 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + +# - name: "Build and Deploy Debian 7 jdk20 Image:" +# run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk20 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 7 jdk21 Image:" +# run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk21 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian 7 jdk22 Image:" +# run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk22 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## diff --git a/.github/workflows/epicmorg.base.images.debian.8.yml b/.github/workflows/epicmorg.base.images.debian.8.yml new file mode 100644 index 000000000..1a31b5f72 --- /dev/null +++ b/.github/workflows/epicmorg.base.images.debian.8.yml @@ -0,0 +1,109 @@ +name: EpicMorg Debian 8 Images + +on: +# push: +# branches: +# - 'master' + schedule: + - cron: '0 0 * * 1,3,5' + +jobs: + + build-08-images: + name: Build EpicMorg Debian 8 Images + runs-on: ubuntu-24.04 + + steps: + - uses: actions/checkout@v4 + - name: Log into registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Debian 8 slim Image:" + run: cd linux/ecosystem/epicmorg/debian/08-jessie/slim && pwd && make build && make deploy + + - name: "Build and Deploy Debian 8 main Image:" + run: cd linux/ecosystem/epicmorg/debian/08-jessie/main && pwd && make build && make deploy + + - name: "Build and Deploy Debian 8 develop Image:" + run: cd linux/ecosystem/epicmorg/debian/08-jessie/develop && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 8 jdk6 Image:" + run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk6 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 8 jdk7 Image:" + run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk7 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 8 jdk8 Image:" + run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk8 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 8 jdk11 Image:" + run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk11 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 8 jdk16 Image:" + run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk16 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 8 jdk17 Image:" + run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk17 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 8 jdk18 Image:" + run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk18 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 8 jdk19 Image:" + run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk19 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 8 jdk20 Image:" + run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk20 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 8 jdk21 Image:" + run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk21 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 8 jdk22 Image:" + run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk22 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## diff --git a/.github/workflows/epicmorg.base.images.debian.9.yml b/.github/workflows/epicmorg.base.images.debian.9.yml new file mode 100644 index 000000000..61cfdd520 --- /dev/null +++ b/.github/workflows/epicmorg.base.images.debian.9.yml @@ -0,0 +1,107 @@ +name: EpicMorg Debian 9 Images + +on: +# push: +# branches: +# - 'master' + schedule: + - cron: '0 0 * * 1,3,5' + +jobs: + + build-09-images: + name: Build EpicMorg Debian 9 Images + runs-on: ubuntu-24.04 + + steps: + - uses: actions/checkout@v4 + - name: Log into registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Debian 9 slim Image:" + run: cd linux/ecosystem/epicmorg/debian/09-stretch/slim && pwd && make build && make deploy + + - name: "Build and Deploy Debian 9 main Image:" + run: cd linux/ecosystem/epicmorg/debian/09-stretch/main && pwd && make build && make deploy + + - name: "Build and Deploy Debian 9 develop Image:" + run: cd linux/ecosystem/epicmorg/debian/09-stretch/develop && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 9 jdk6 Image:" + run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk6 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 9 jdk7 Image:" + run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk7 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 9 jdk8 Image:" + run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk8 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 9 jdk11 Image:" + run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk11 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 9 jdk16 Image:" + run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk16 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 9 jdk17 Image:" + run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk17 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 9 jdk18 Image:" + run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk18 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 9 jdk19 Image:" + run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk19 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 9 jdk20 Image:" + run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk20 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian 9 jdk21 Image:" + run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk21 && pwd && make build && make deploy + + - name: "Build and Deploy Debian 9 jdk22 Image:" + run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk22 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## diff --git a/.github/workflows/epicmorg.base.images.debian.legacy.yml b/.github/workflows/epicmorg.base.images.debian.legacy.yml deleted file mode 100644 index 9dca9e8a5..000000000 --- a/.github/workflows/epicmorg.base.images.debian.legacy.yml +++ /dev/null @@ -1,494 +0,0 @@ -name: EpicMorg Debian Legacy Images - -on: -# push: -# branches: -# - 'master' - schedule: - - cron: '0 0 * * 1,3,5' - -jobs: - - build-06-images: - name: Build EpicMorg Debian 6 Images - runs-on: ubuntu-24.04 - - steps: - - uses: actions/checkout@v4 - - name: Log into registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Debian 6 slim Image:" - run: cd linux/ecosystem/epicmorg/debian/06-squeeze/slim && pwd && make build && make deploy - - - name: "Build and Deploy Debian 6 main Image:" - run: cd linux/ecosystem/epicmorg/debian/06-squeeze/main && pwd && make build && make deploy - - - name: "Build and Deploy Debian 6 develop Image:" - run: cd linux/ecosystem/epicmorg/debian/06-squeeze/develop && pwd && make build && make deploy - - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 6 jdk6 Image:" - run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk6 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 6 jdk7 Image:" - run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk7 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 6 jdk8 Image:" - run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk8 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 6 jdk11 Image:" - run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk11 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 6 jdk16 Image:" - run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk16 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 6 jdk17 Image:" - run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk17 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 6 jdk18 Image:" - run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk18 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 6 jdk19 Image:" - run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk19 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - -# - name: "Build and Deploy Debian 6 jdk20 Image:" -# run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk20 && pwd && make build && make deploy -# -# - name: "Build and Deploy Debian 6 jdk21 Image:" -# run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk21 && pwd && make build && make deploy -# -# - name: "Build and Deploy Debian 6 jdk22 Image:" -# run: cd linux/ecosystem/epicmorg/debian/06-squeeze/jdk22 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - build-07-images: - name: Build EpicMorg Debian 7 Images - runs-on: ubuntu-24.04 - - steps: - - uses: actions/checkout@v4 - - name: Log into registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Debian 7 slim Image:" - run: cd linux/ecosystem/epicmorg/debian/07-wheezy/slim && pwd && make build && make deploy - - - name: "Build and Deploy Debian 7 main Image:" - run: cd linux/ecosystem/epicmorg/debian/07-wheezy/main && pwd && make build && make deploy - - - name: "Build and Deploy Debian 7 develop Image:" - run: cd linux/ecosystem/epicmorg/debian/07-wheezy/develop && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 7 jdk6 Image:" - run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk6 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 7 jdk7 Image:" - run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk7 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 7 jdk8 Image:" - run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk8 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 7 jdk11 Image:" - run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk11 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 7 jdk16 Image:" - run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk16 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 7 jdk17 Image:" - run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk17 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 7 jdk18 Image:" - run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk18 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 7 jdk19 Image:" - run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk19 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - -# - name: "Build and Deploy Debian 7 jdk20 Image:" -# run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk20 && pwd && make build && make deploy -# -# - name: "Build and Deploy Debian 7 jdk21 Image:" -# run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk21 && pwd && make build && make deploy -# -# - name: "Build and Deploy Debian 7 jdk22 Image:" -# run: cd linux/ecosystem/epicmorg/debian/07-wheezy/jdk22 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - build-08-images: - name: Build EpicMorg Debian 8 Images - runs-on: ubuntu-24.04 - - steps: - - uses: actions/checkout@v4 - - name: Log into registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Debian 8 slim Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/slim && pwd && make build && make deploy - - - name: "Build and Deploy Debian 8 main Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/main && pwd && make build && make deploy - - - name: "Build and Deploy Debian 8 develop Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/develop && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 8 jdk6 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk6 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 8 jdk7 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk7 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 8 jdk8 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk8 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 8 jdk11 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk11 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 8 jdk16 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk16 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 8 jdk17 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk17 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 8 jdk18 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk18 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 8 jdk19 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk19 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 8 jdk20 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk20 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 8 jdk21 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk21 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 8 jdk22 Image:" - run: cd linux/ecosystem/epicmorg/debian/08-jessie/jdk22 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - build-09-images: - name: Build EpicMorg Debian 9 Images - runs-on: ubuntu-24.04 - - steps: - - uses: actions/checkout@v4 - - name: Log into registry - run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin - - - name: Test Make - run: make - - - name: Install requirements.txt - run: make pip - - - name: "Build and Deploy Debian 9 slim Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/slim && pwd && make build && make deploy - - - name: "Build and Deploy Debian 9 main Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/main && pwd && make build && make deploy - - - name: "Build and Deploy Debian 9 develop Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/develop && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 9 jdk6 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk6 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 9 jdk7 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk7 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 9 jdk8 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk8 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 9 jdk11 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk11 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 9 jdk16 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk16 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 9 jdk17 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk17 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 9 jdk18 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk18 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 9 jdk19 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk19 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 9 jdk20 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk20 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 9 jdk21 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk21 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 9 jdk22 Image:" - run: cd linux/ecosystem/epicmorg/debian/09-stretch/jdk22 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - -################################################################################## - - - name: "Build and Deploy Debian 10 slim Image:" - run: cd linux/ecosystem/epicmorg/debian/10-buster/slim && pwd && make build && make deploy - - - name: "Build and Deploy Debian 10 main Image:" - run: cd linux/ecosystem/epicmorg/debian/10-buster/main && pwd && make build && make deploy - - - name: "Build and Deploy Debian 10 develop Image:" - run: cd linux/ecosystem/epicmorg/debian/10-buster/develop && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 10 jdk6 Image:" - run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk6 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 10 jdk7 Image:" - run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk7 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 10 jdk8 Image:" - run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk8 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 10 jdk11 Image:" - run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk11 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 10 jdk16 Image:" - run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk16 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 10 jdk17 Image:" - run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk17 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 10 jdk18 Image:" - run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk18 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 10 jdk19 Image:" - run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk19 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 10 jdk20 Image:" - run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk20 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## - - - name: "Build and Deploy Debian 10 jdk21 Image:" - run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk21 && pwd && make build && make deploy - - - name: "Build and Deploy Debian 10 jdk22 Image:" - run: cd linux/ecosystem/epicmorg/debian/10-buster/jdk22 && pwd && make build && make deploy - -################################################################################## - - - name: Cleanup - run: make docker-clean - -################################################################################## diff --git a/.github/workflows/epicmorg.base.images.debian.sid.yml b/.github/workflows/epicmorg.base.images.debian.sid.yml new file mode 100644 index 000000000..4483585d6 --- /dev/null +++ b/.github/workflows/epicmorg.base.images.debian.sid.yml @@ -0,0 +1,272 @@ +name: EpicMorg Debian SID Images + +on: +# push: +# branches: +# - 'master' + schedule: + - cron: '2 2 * * 1,3,5' + +jobs: + + build-10-images: + name: Build EpicMorg Debian SID Images + runs-on: ubuntu-24.04 + + steps: + - uses: actions/checkout@v4 + - name: Log into registry + run: echo "${{ secrets.DOCKER_SERVER_KEY }}" | docker login -u "${{ secrets.DOCKER_SERVER_LOGIN }}" --password-stdin + + - name: Test Make + run: make + + - name: Install requirements.txt + run: make pip + + - name: "Build and Deploy Debian SID slim Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/slim && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID main Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/main && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID develop Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/develop && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian SID jdk6 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/jdk/jdk6 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID jdk7 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/jdk/jdk7 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian SID jdk8 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/jdk/jdk8 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID jdk11 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/jdk/jdk11 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian SID jdk16 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/jdk/jdk16 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID jdk17 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/jdk/jdk17 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian SID jdk18 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/jdk/jdk18 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID jdk19 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/jdk/jdk19 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian SID jdk20 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/jdk/jdk20 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID jdk21 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/jdk/jdk21 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID jdk22 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/jdk/jdk22 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian SID NodeJS LTS Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/lts && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS Current Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/current && pwd && make build && make deploy + +################################################################################## + + - name: "Build and Deploy Debian SID NodeJS 0.12 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node0.12 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 4 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node4 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 5 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node5 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 6 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node6 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 7 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node7 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 8 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node8 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 9 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node8 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian SID NodeJS 10 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node10 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 11 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node11 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 12 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node12 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 13 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node13 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 14 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node14 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 15 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node15 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian SID NodeJS 16 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node16 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 17 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node17 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 18 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node18 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 19 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node19 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 20 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node20 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 21 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node21 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID NodeJS 22 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/nodejs/node22 && pwd && make build && make deploy + +################################################################################## + + - name: Cleanup + run: make docker-clean + +################################################################################## + + - name: "Build and Deploy Debian SID dotNet LTS Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/dotnet/lts && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID dotNet STS Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/dotnet/sts && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID dotNet 5 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet5 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID dotNet 6 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet6 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID dotNet 7 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet7 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID dotNet 8 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8 && pwd && make build && make deploy + + - name: "Build and Deploy Debian SID dotNet 9 Image:" + run: cd linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9 && pwd && make build && make deploy + +# ################################################################################## +# +# # - name: "Build and Deploy Debian SID PHP Latest Image:" +# # run: cd linux/ecosystem/epicmorg/debian/sid/php/latest && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian SID PHP 7.0 Image:" +# run: cd linux/ecosystem/epicmorg/debian/sid/php/php7.0 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian SID PHP 7.1 Image:" +# run: cd linux/ecosystem/epicmorg/debian/sid/php/php7.1 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian SID PHP 7.2 Image:" +# run: cd linux/ecosystem/epicmorg/debian/sid/php/php7.2 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian SID PHP 7.3 Image:" +# run: cd linux/ecosystem/epicmorg/debian/sid/php/php7.3 && pwd && make build && make deploy +# +# ################################################################################## +# +# - name: Cleanup +# run: make docker-clean +# +# ################################################################################## +# +# - name: "Build and Deploy Debian SID PHP 7.4 Image:" +# run: cd linux/ecosystem/epicmorg/debian/sid/php/php7.4 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian SID PHP 8.0 Image:" +# run: cd linux/ecosystem/epicmorg/debian/sid/php/php8.0 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian SID PHP 8.1 Image:" +# run: cd linux/ecosystem/epicmorg/debian/sid/php/php8.1 && pwd && make build && make deploy +# +# ################################################################################## +# +# - name: Cleanup +# run: make docker-clean +# +# ################################################################################## +# +# - name: "Build and Deploy Debian SID PHP 8.2 Image:" +# run: cd linux/ecosystem/epicmorg/debian/sid/php/php8.2 && pwd && make build && make deploy +# +# - name: "Build and Deploy Debian SID PHP 8.3 Image:" +# run: cd linux/ecosystem/epicmorg/debian/sid/php/php8.3 && pwd && make build && make deploy +# +# ################################################################################## +# +# - name: Cleanup +# run: make docker-clean +# +# ################################################################################## diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a5a3cb67..4c826f22c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,8 @@ # Changelog ## 2024 * `aug` + * added `dotnet` base images support. + * added `13-trixie` and `sid` - `Debian` base images support. * fixed `Makefile`+ gha * added support of `zabbix` version `7.0` + gha * dropped `Astra CE\SE` due potencial license issues. Sorry. diff --git a/Makefile b/Makefile index bfcc44904..088830dbf 100644 --- a/Makefile +++ b/Makefile @@ -341,11 +341,16 @@ ecosystem-debian-images: make ecosystem-debian-buster-images make ecosystem-debian-bullseye-images make ecosystem-debian-bookworm-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 cd `pwd`/linux/ecosystem/epicmorg/debian/06-squeeze/develop && pwd && make build && make deploy + make ecosystem-debian-squeeze-jdk-images + +ecosystem-debian-squeeze-jdk-images: cd `pwd`/linux/ecosystem/epicmorg/debian/06-squeeze/jdk6 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/06-squeeze/jdk7 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/06-squeeze/jdk8 && pwd && make build && make deploy @@ -362,6 +367,9 @@ 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 cd `pwd`/linux/ecosystem/epicmorg/debian/07-wheezy/develop && pwd && make build && make deploy + make ecosystem-debian-wheezy-jdk-images + +ecosystem-debian-wheezy-jdk-images: cd `pwd`/linux/ecosystem/epicmorg/debian/07-wheezy/jdk6 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/07-wheezy/jdk7 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/07-wheezy/jdk8 && pwd && make build && make deploy @@ -378,6 +386,9 @@ 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 cd `pwd`/linux/ecosystem/epicmorg/debian/08-jessie/develop && pwd && make build && make deploy + make ecosystem-debian-jessie-jdk-images + +ecosystem-debian-jessie-jdk-images: cd `pwd`/linux/ecosystem/epicmorg/debian/08-jessie/jdk6 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/08-jessie/jdk7 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/08-jessie/jdk8 && pwd && make build && make deploy @@ -394,6 +405,9 @@ 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 cd `pwd`/linux/ecosystem/epicmorg/debian/09-stretch/develop && pwd && make build && make deploy + make ecosystem-debian-stretch-jdk-images + +ecosystem-debian-stretch-jdk-images: cd `pwd`/linux/ecosystem/epicmorg/debian/09-stretch/jdk6 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/09-stretch/jdk7 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/09-stretch/jdk8 && pwd && make build && make deploy @@ -410,6 +424,9 @@ 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 cd `pwd`/linux/ecosystem/epicmorg/debian/10-buster/develop && pwd && make build && make deploy + make ecosystem-debian-buster-jdk-images + +ecosystem-debian-buster-jdk-images: cd `pwd`/linux/ecosystem/epicmorg/debian/10-buster/jdk6 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/10-buster/jdk7 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/10-buster/jdk8 && pwd && make build && make deploy @@ -426,6 +443,9 @@ ecosystem-debian-bullseye-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-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 @@ -438,11 +458,27 @@ ecosystem-debian-bullseye-images: 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 +#################################################################################################################### + ecosystem-debian-bookworm-images: + make ecosystem-debian-bookworm-base-images + make ecosystem-debian-bookworm-dotnet-images + make ecosystem-debian-bookworm-jdk-images + make ecosystem-debian-bookworm-nodejs-images + +ecosystem-debian-bookworm-base-images: cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/slim && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/main && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/develop && pwd && make build && make deploy - make ecosystem-debian-bookworm-jdk-images + +ecosystem-debian-bookworm-dotnet-images: + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/lts && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/sts && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet9 && pwd && make build && make deploy ecosystem-debian-bookworm-jdk-images: cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/jdk/jdk6 && pwd && make build && make deploy @@ -457,8 +493,132 @@ ecosystem-debian-bookworm-jdk-images: cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/jdk/jdk21 && pwd && make build && make deploy cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/jdk/jdk22 && pwd && make build && make deploy -ecosystem-php-images: - echo "disabled temprorary" +ecosystem-debian-bookworm-nodejs-images: + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/current && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/lts && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node0.12 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node9 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node10 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node11 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node12 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node13 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node14 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node15 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node16 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node17 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node18 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node19 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node20 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node21 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node22 && pwd && make build && make deploy + +#################################################################################################################### + +ecosystem-debian-trixie-images: + make ecosystem-debian-trixie-base-images + make ecosystem-debian-trixie-jdk-images + make ecosystem-debian-trixie-nodejs-images + +ecosystem-debian-trixie-base-images: + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/slim && pwd && make build && make deploy + 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-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 + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk11 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk16 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk17 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk18 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk19 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk20 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk21 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk22 && pwd && make build && make deploy + +ecosystem-debian-trixie-nodejs-images: + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node0.12 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node9 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node10 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node11 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node12 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node13 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node14 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node15 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node16 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node17 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node18 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node19 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node21 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node22 && pwd && make build && make deploy + +#################################################################################################################### + +ecosystem-debian-sid-images: + make ecosystem-debian-sid-base-images + make ecosystem-debian-sid-jdk-images + make ecosystem-debian-sid-nodejs-images + +ecosystem-debian-sid-base-images: + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/slim && pwd && make build && make deploy + 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-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 + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/jdk/jdk8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/jdk/jdk11 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/jdk/jdk16 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/jdk/jdk17 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/jdk/jdk18 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/jdk/jdk19 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/jdk/jdk20 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/jdk/jdk21 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/jdk/jdk22 && pwd && make build && make deploy + +ecosystem-debian-sid-nodejs-images: + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/current && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/lts && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node0.12 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node4 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node5 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node6 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node7 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node8 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node9 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node10 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node11 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node12 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node13 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node14 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node15 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node16 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node17 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node18 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node19 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node20 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node21 && pwd && make build && make deploy + cd `pwd`/linux/ecosystem/epicmorg/debian/sid/nodejs/node22 && pwd && make build && make deploy + +#################################################################################################################### + +#ecosystem-php-images: +# echo "disabled temprorary" # cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/php/php7.0 && pwd && make build && make deploy # cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/php/php7.1 && pwd && make build && make deploy # cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/php/php7.2 && pwd && make build && make deploy @@ -673,31 +833,6 @@ ecosystem-torrserver-images: ecosystem-electron-release-server-images: cd `pwd`/linux/ecosystem/electron-release-server && pwd && make build && make deploy -ecosystem-nodejs-images: - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/current && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/lts && pwd && make build && make deploy - - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node0.12 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node4 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node5 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node6 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node7 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node8 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node9 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node10 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node11 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node12 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node13 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node14 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node15 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node16 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node17 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node18 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node19 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node20 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node21 && pwd && make build && make deploy - cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node22 && pwd && make build && make deploy - ecosystem-ninjam-image: cd `pwd`/linux/ecosystem/ninjam/latest && pwd && make build && make deploy @@ -1535,25 +1670,4 @@ bundle-p4: @echo "=======================================" make ecosystem-perforce-base-images make ecosystem-perforce-proxy-images - - -bundle-debug-base6: - 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 - cd `pwd`/linux/ecosystem/epicmorg/debian/06-squeeze/develop && pwd && make build && make deploy -bundle-debug-base7: - 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 - cd `pwd`/linux/ecosystem/epicmorg/debian/07-wheezy/develop && pwd && make build && make deploy -bundle-debug-base8: - 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 - cd `pwd`/linux/ecosystem/epicmorg/debian/08-jessie/develop && pwd && make build && make deploy -bundle-debug-base9: - 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 - cd `pwd`/linux/ecosystem/epicmorg/debian/09-stretch/develop && pwd && make build && make deploy -bundle-debug-base10: - 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 - cd `pwd`/linux/ecosystem/epicmorg/debian/10-buster/develop && pwd && make build && make deploy + \ No newline at end of file diff --git a/README.md b/README.md index c37a6c0ca..368a704b1 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,13 @@ # [![Activity](https://img.shields.io/github/commit-activity/m/EpicMorg/docker?label=commits&style=flat-square)](https://github.com/EpicMorg/docker/commits) [![GitHub issues](https://img.shields.io/github/issues/EpicMorg/docker.svg?style=popout-square)](https://github.com/EpicMorg/docker/issues) [![GitHub forks](https://img.shields.io/github/forks/EpicMorg/docker.svg?style=popout-square)](https://github.com/EpicMorg/docker/network) [![GitHub stars](https://img.shields.io/github/stars/EpicMorg/docker.svg?style=popout-square)](https://github.com/EpicMorg/docker/stargazers) [![Size](https://img.shields.io/github/repo-size/EpicMorg/docker?label=size&style=flat-square)](https://github.com/EpicMorg/docker/archive/master.zip) [![Release](https://img.shields.io/github/v/release/EpicMorg/docker?style=flat-square)](https://github.com/EpicMorg/docker/releases) [![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/3658/badge)](https://bestpractices.coreinfrastructure.org/projects/3658) [![CodeScene System Mastery](https://codescene.io/projects/6535/status-badges/system-mastery)](https://codescene.io/projects/6535) [![GitHub license](https://img.shields.io/github/license/EpicMorg/docker.svg?style=popout-square)](LICENSE.md) [![Changelog](https://img.shields.io/badge/Changelog-yellow.svg?style=popout-square)](CHANGELOG.md) +## DEPRECATION WARNING + +**At 1st of October 2024, all deprecated tags and images will be deleted from DockerHub:** + +* `epicmorg/nodejs` +* `epicmorg/php` + +For more information - look at `Support Document` to replace this tags and images. ## Support Document for Docker Image Concepts in Project @@ -7,7 +15,12 @@ |:-------------|:-------------| | [:ru: :bookmark_tabs:](SUPPORT.ru.md) | [:us: :bookmark_tabs:](SUPPORT.md) - +## 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) | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| **codename** | squeeze | wheezy | jessie | stretch | buster | **bullseye** | **bookworm** | trixie | sid | +| **status** | deprecated | deprecated | deprecated | deprecated | deprecated | **LTS** | **Current** | testing | unstable | ## Description A collection of docker images for production use. This repo contains 2 types of images - `advanced` and `ecosystem`. We support `linux x86_64` docker engine (`Win64` is still in the ***testing*** stage). @@ -17,21 +30,19 @@ A collection of docker images for production use. This repo contains 2 types of ![](https://raw.githubusercontent.com/EpicMorg/docker/master/.github/logo.png) -# CI Status +# Secondary CI Status -| `Advanced` | `EcoSystem - Debian Based` | +| `Advanced` | `EcoSystem` | |:-------------|:-------------| | [![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.debian.11.yml?label=Debian%2011%20Images&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.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.debian.12.yml?label=Debian%2012%20Images&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.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.debian.legacy.yml?label=Debian%20Legacy%20Images&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.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.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) | `-` | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.perforce.yml?label=Perfocre%20Images&logo=Perfocre%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.perforce.yml) | `-` | [![GHA](https://img.shields.io/github/actions/workflow/status/EpicMorg/docker/epicmorg.base.images.postgresql.yml?label=PostgreSQL%20Images&logo=PostgreSQL%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.postgresql.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.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.web.yml?label=Web%20Images&logo=Web%20Images&style=flat-square)](https://github.com/EpicMorg/docker/actions/workflows/epicmorg.base.images.web.yml) + # Few popular products [![ko-fi](https://www.ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/B0B81CUI4) diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/develop/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/develop/Dockerfile index 2116a6c8e..179bf3413 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/develop/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/develop/Dockerfile @@ -276,7 +276,20 @@ RUN apt-get update && \ uuid-dev \ nvidia-cg-toolkit \ nvidia-cg-dev \ + libavutil-dev \ libavcodec-dev \ + libxvidcore-dev \ + libtwolame-dev \ + libmp3lame-dev \ + libopus-dev \ + libavcodec-extra \ + libtheora-dev \ + libvorbis-dev \ + libflac-dev \ + libx264-dev \ + libx265-dev \ + libaom-dev \ + libdav1d-dev \ libaio-dev \ libsdl2-dev \ libsdl-image1.2-dev \ @@ -295,7 +308,7 @@ RUN apt-get update && \ libssl-dev \ libxslt-dev \ libgd-dev \ - libpcre3-dev \ + libpcre2-dev \ libgeoip-dev \ libxml++*-dev \ libkrb5-dev \ diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet5/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet5/Dockerfile new file mode 100644 index 000000000..3173ec5e0 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/dotnet5/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet5/Dockerfile.develop new file mode 100644 index 000000000..512d25efb --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/dotnet5/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet5/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet5/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/12-bookworm/dotnet/dotnet5/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet5/docker-compose.yml new file mode 100644 index 000000000..a9ee52205 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/dotnet6/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet6/Dockerfile new file mode 100644 index 000000000..afa3d0367 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/dotnet6/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet6/Dockerfile.develop new file mode 100644 index 000000000..109df3aeb --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/dotnet6/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet6/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/12-bookworm/dotnet/dotnet6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet6/docker-compose.yml new file mode 100644 index 000000000..8b7917942 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/dotnet7/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet7/Dockerfile new file mode 100644 index 000000000..237a6e78f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/dotnet7/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet7/Dockerfile.develop new file mode 100644 index 000000000..a467c4429 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/dotnet7/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet7/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/12-bookworm/dotnet/dotnet7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet7/docker-compose.yml new file mode 100644 index 000000000..583fe5225 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/dotnet8/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet8/Dockerfile new file mode 100644 index 000000000..1f7d9c1c1 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/dotnet8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet8/Dockerfile.develop new file mode 100644 index 000000000..0e183727e --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/dotnet8/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet8/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet8/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/12-bookworm/dotnet/dotnet8/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet8/docker-compose.yml new file mode 100644 index 000000000..38544bf4c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/dotnet9/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet9/Dockerfile new file mode 100644 index 000000000..62546004d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/dotnet9/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet9/Dockerfile.develop new file mode 100644 index 000000000..865d0693f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/dotnet9/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet9/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet9/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/12-bookworm/dotnet/dotnet9/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/dotnet9/docker-compose.yml new file mode 100644 index 000000000..1600392c5 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/lts/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/lts/Dockerfile new file mode 100644 index 000000000..fbb695310 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/lts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/lts/Dockerfile.develop new file mode 100644 index 000000000..201b64413 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/lts/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/lts/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/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/12-bookworm/dotnet/lts/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/lts/docker-compose.yml new file mode 100644 index 000000000..8ec53ebe4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/sts/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/sts/Dockerfile new file mode 100644 index 000000000..0f9ce699b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/sts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/sts/Dockerfile.develop new file mode 100644 index 000000000..e4f4cd018 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/dotnet/sts/Makefile b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/sts/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/sts/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/12-bookworm/dotnet/sts/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/dotnet/sts/docker-compose.yml new file mode 100644 index 000000000..9b08d4313 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/current/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/current/Dockerfile.develop new file mode 100644 index 000000000..a56ca1d3b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/current/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/current/docker-compose.yml index 9e080af0c..d72624519 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/current/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/current/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:current" + 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/12-bookworm/nodejs/lts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/lts/Dockerfile.develop new file mode 100644 index 000000000..654d78251 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/lts/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/lts/docker-compose.yml index ef4a0868c..ef06ef263 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/lts/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/lts/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:lts" + 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/12-bookworm/nodejs/node0.12/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node0.12/Dockerfile.develop new file mode 100644 index 000000000..20b5bbf7a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node0.12/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node0.12/docker-compose.yml index 08673415b..bf6a592f7 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node0.12/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node0.12/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node0.12" + 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/12-bookworm/nodejs/node10/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node10/Dockerfile.develop new file mode 100644 index 000000000..9c05fa019 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node10/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node10/docker-compose.yml index 80b34523c..0663d553a 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node10/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node10/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node10" + 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/12-bookworm/nodejs/node11/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node11/Dockerfile.develop new file mode 100644 index 000000000..6cc581719 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node11/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node11/docker-compose.yml index e576f971d..f155001bf 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node11/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node11/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node11" + 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/12-bookworm/nodejs/node12/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node12/Dockerfile.develop new file mode 100644 index 000000000..33071bee8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node12/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node12/docker-compose.yml index fb0fca089..9b78d08ec 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node12/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node12/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node12" + 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/12-bookworm/nodejs/node13/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node13/Dockerfile.develop new file mode 100644 index 000000000..1919db0c6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node13/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node13/docker-compose.yml index 8d02684b0..566ea7593 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node13/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node13/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node13" + 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/12-bookworm/nodejs/node14/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node14/Dockerfile.develop new file mode 100644 index 000000000..a372c087e --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node14/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node14/docker-compose.yml index 61c5dab18..3739847a4 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node14/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node14/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node14" + 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/12-bookworm/nodejs/node15/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node15/Dockerfile.develop new file mode 100644 index 000000000..648efb49a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node15/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node15/docker-compose.yml index fc8809226..bf7bb6aa0 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node15/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node15/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node15" + 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/12-bookworm/nodejs/node16/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node16/Dockerfile.develop new file mode 100644 index 000000000..ef81af426 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node16/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node16/docker-compose.yml index c06f33466..11265b66a 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node16/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node16/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node16" + 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/12-bookworm/nodejs/node17/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node17/Dockerfile.develop new file mode 100644 index 000000000..d96782e82 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node17/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node17/docker-compose.yml index 82f42e98c..9767fcf92 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node17/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node17/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node17" + 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/12-bookworm/nodejs/node18/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node18/Dockerfile.develop new file mode 100644 index 000000000..f622842ae --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node18/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node18/docker-compose.yml index 9429a413a..08180963f 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node18/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node18/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node18" + 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/12-bookworm/nodejs/node19/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node19/Dockerfile.develop new file mode 100644 index 000000000..760208433 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node19/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node19/docker-compose.yml index dddae89a8..71556822d 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node19/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node19/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node19" + 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/12-bookworm/nodejs/node20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node20/Dockerfile.develop new file mode 100644 index 000000000..654d78251 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node20/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node20/docker-compose.yml index 3636531cf..1b08d8f67 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node20/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node20/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node20" + 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/12-bookworm/nodejs/node21/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node21/Dockerfile.develop new file mode 100644 index 000000000..fd558c700 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node21/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node21/docker-compose.yml index 77a75b2bd..330846b05 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node21/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node21/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node21" + 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/12-bookworm/nodejs/node22/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node22/Dockerfile.develop new file mode 100644 index 000000000..a56ca1d3b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node22/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node22/docker-compose.yml index cdd2af71e..d17b69a68 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node22/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node22/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node22" + 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/12-bookworm/nodejs/node4/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node4/Dockerfile.develop new file mode 100644 index 000000000..b6411d2b1 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node4/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node4/docker-compose.yml index d8d7f4899..47803de7b 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node4/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node4/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node4" + 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/12-bookworm/nodejs/node5/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node5/Dockerfile.develop new file mode 100644 index 000000000..657a446fd --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node5/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node5/docker-compose.yml index 061167f79..60a16bc93 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node5/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node5/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node5" + 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/12-bookworm/nodejs/node6/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node6/Dockerfile.develop new file mode 100644 index 000000000..0c6ae6eb5 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node6/docker-compose.yml index 46d21cd09..9fcc0dc7c 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node6/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node6/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node6" + 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/12-bookworm/nodejs/node7/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node7/Dockerfile.develop new file mode 100644 index 000000000..8590cb520 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node7/docker-compose.yml index 67bd7484d..b0c4e3b8f 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node7/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node7/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node7" + 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/12-bookworm/nodejs/node8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node8/Dockerfile.develop new file mode 100644 index 000000000..c0deffcab --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node8/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node8/docker-compose.yml index ad95254bb..8f893a534 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node8/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node8/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node8" + 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/12-bookworm/nodejs/node9/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node9/Dockerfile.develop new file mode 100644 index 000000000..3e2b09383 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/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/12-bookworm/nodejs/node9/docker-compose.yml b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node9/docker-compose.yml index 2d3b610e5..b1794482e 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node9/docker-compose.yml +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/nodejs/node9/docker-compose.yml @@ -1,6 +1,11 @@ #version: '3' services: app: - image: "epicmorg/nodejs:node9" + image: "epicmorg/debian:bookworm-nodejs9" build: context: . + app-develop: + image: "epicmorg/debian:bookworm-develop-nodejs9" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/12-bookworm/slim/Dockerfile b/linux/ecosystem/epicmorg/debian/12-bookworm/slim/Dockerfile index 0d2b69d6d..1ca1f3f13 100644 --- a/linux/ecosystem/epicmorg/debian/12-bookworm/slim/Dockerfile +++ b/linux/ecosystem/epicmorg/debian/12-bookworm/slim/Dockerfile @@ -26,6 +26,7 @@ RUN mkdir -p /etc/apt/keyrings # sources list ################################################################## RUN rm -rfv /etc/apt/sources.list +RUN rm -rfv /etc/apt/sources.list.d/debian.sources RUN rm -rfv /etc/locale.gen COPY etc/apt/keyrings/deb-multimedia-keyring.gpg /etc/apt/keyrings/deb-multimedia-keyring.gpg diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/develop/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/develop/Dockerfile new file mode 100644 index 000000000..9a7786471 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/develop/Dockerfile @@ -0,0 +1,1056 @@ +################################################################## +# Temp Layer - Dirty Hack +################################################################## +FROM epicmorg/debian:bookworm as temp-dpkg +RUN mkdir -p /tmp/debs +WORKDIR /tmp/debs +RUN cd /tmp/debs && \ + apt-get update && \ + apt-get download \ + checkinstall + +################################################################## +# Main Layer +################################################################## +FROM epicmorg/debian:trixie +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +# cmake compiller +ENV CMAKE_VERSION=3.30.2 +ENV CMAKE_DIR=${EMG_LOCAL_BASE_DIR}/cmake/${CMAKE_VERSION} +ARG CMAKE_BIN_DIR=${CMAKE_DIR}/bin +ARG CMAKE_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-x86_64.tar.gz +ARG CMAKE_TEMP=/tmp/cmake-${CMAKE_VERSION}-linux-x86_64.tar.gz + +# flutter source tarball +ENV FLUTTER_VERSION=3.22.3 +ENV FLUTTER_CHANNEL=stable +ENV FLUTTER_DIR=${EMG_LOCAL_BASE_DIR}/flutter/${FLUTTER_VERSION} +ARG FLUTTER_BIN_DIR=${FLUTTER_DIR}/bin +ARG FLUTTER_DOWNLOAD_URL=https://storage.googleapis.com/flutter_infra_release/releases/${FLUTTER_CHANNEL}/linux/flutter_linux_${FLUTTER_VERSION}-${FLUTTER_CHANNEL}.tar.xz +ARG FLUTTER_TEMP=/tmp/flutter_linux_${FLUTTER_VERSION}-${FLUTTER_CHANNEL}.tar.xz + +# ninja source tarball +ENV NINJA_VERSION=1.12.1 +ENV NINJA_DIR=${EMG_LOCAL_BASE_DIR}/ninja/${NINJA_VERSION} +ARG NINJA_BIN_DIR=${NINJA_DIR}/bin +ARG NINJA_DOWNLOAD_URL=https://github.com/ninja-build/ninja/releases/download/v${NINJA_VERSION}/ninja-linux.zip +ARG NINJA_TEMP=/tmp/ninja-linux.zip + +# GO source tarball +ENV GO_VERSION=1.22.5 +ENV GO_DIR=${EMG_LOCAL_BASE_DIR}/go/${GO_VERSION} +ARG GO_BIN_DIR=${GO_DIR}/bin +ARG GO_DOWNLOAD_URL=https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz +ARG GO_TEMP=/tmp/go${GO_VERSION}.linux-amd64.tar.gz + +# PCRE source tarball +ENV PCRE_VERSION=10.44 +ENV PCRE_DIR=${EMG_LOCAL_BASE_DIR}/pcre2/${PCRE_VERSION} +ENV PCRE_BIN_DIR=${PCRE_DIR}/bin +ENV PCRE_LIB_DIR=${PCRE_DIR}/lib +ENV PCRE_INC_DIR=${PCRE_DIR}/include +ENV PCRE_SRC_DIR=/usr/local/src/pcre2/${PCRE_VERSION} +ARG PCRE_DOWNLOAD_URL=https://github.com/PCRE2Project/pcre2/releases/download/pcre2-${PCRE_VERSION}/pcre2-${PCRE_VERSION}.tar.gz +ARG PCRE_TEMP=/tmp/pcre2-${PCRE_VERSION}.tar.gz +ARG PCRE_TEMP_SRC=/tmp/pcre2-${PCRE_VERSION} + +# luajit2-openresty source tarball +ENV LUAJIT2OR_VERSION=2.1 +ENV LUAJIT2OR_DIR=${EMG_LOCAL_BASE_DIR}/luajit2/${LUAJIT2OR_VERSION} +ENV LUAJIT2OR_BIN_DIR=${PCRE_DIR}/bin +ENV LUAJIT2OR_LIB_DIR=${LUAJIT2OR_DIR}/lib +ENV LUAJIT2OR_INC_DIR=${LUAJIT2OR_DIR}/include +ENV LUAJIT2OR_SRC_DIR=/usr/local/src/luajit2/${LUAJIT2OR_VERSION} +ARG LUAJIT2OR_DOWNLOAD_URL=https://github.com/openresty/luajit2.git +ARG LUAJIT2OR_TEMP_SRC=/tmp/luajit2 + +# zlib source tarball +ENV ZLIB_VERSION=1.3.1 +ENV ZLIB_DIR=${EMG_LOCAL_BASE_DIR}/zlib/${ZLIB_VERSION} +ENV ZLIB_INC_DIR=${ZLIB_DIR}/include +ENV ZLIB_LIB_DIR=${ZLIB_DIR}/lib +ENV ZLIB_SRC_DIR=/usr/local/src/zlib/${ZLIB_VERSION} +ARG ZLIB_DOWNLOAD_URL=https://zlib.net/fossils/zlib-${ZLIB_VERSION}.tar.gz +ARG ZLIB_TEMP=/tmp/zlib-${ZLIB_VERSION}.tar.gz +ARG ZLIB_TEMP_SRC=/tmp/zlib-${ZLIB_VERSION} + +# zstd source tarball +ENV ZSTD_VERSION=1.5.6 +ENV ZSTD_DIR=${EMG_LOCAL_BASE_DIR}/zstd/${ZLIB_VERSION} +ENV ZSTD_BIN_DIR=${ZSTD_DIR}/bin +ENV ZSTD_INC_DIR=${ZSTD_DIR}/include +ENV ZSTD_LIB_DIR=${ZSTD_DIR}/lib +ENV ZSTD_SRC_DIR=/usr/local/src/zstd/${ZSTD_VERSION} +ARG ZSTD_DOWNLOAD_URL=https://github.com/facebook/zstd/releases/download/v${ZSTD_VERSION}/zstd-${ZSTD_VERSION}.tar.gz +ARG ZSTD_TEMP=/tmp/zstd-${ZSTD_VERSION}.tar.gz +ARG ZSTD_TEMP_SRC=/tmp/zstd-${ZSTD_VERSION} + +# IP2Location-C-Library source tarball +ENV IP2LOC_VERSION=8.7.0 +ENV IP2LOC_DIR=${EMG_LOCAL_BASE_DIR}/ip2location/${IP2LOC_VERSION} +ENV IP2LOC_BIN_DIR=${IP2LOC_DIR}/bin +ENV IP2LOC_INC_DIR=${IP2LOC_DIR}/include +ENV IP2LOC_LIB_DIR=${IP2LOC_DIR}/lib +ENV IP2LOC_SRC_DIR=/usr/local/src/ip2location/${IP2LOC_VERSION} +ARG IP2LOC_DOWNLOAD_URL=https://github.com/chrislim2888/IP2Location-C-Library/archive/refs/heads/master.tar.gz +ARG IP2LOC_TEMP=/tmp/master.tar.gz +ARG IP2LOC_TEMP_SRC=/tmp/IP2Location-C-Library-master + +# libatomic_ops source tarball +ENV LIBATOMICOPS_VERSION=7.8.2 +ENV LIBATOMICOPS_DIR=${EMG_LOCAL_BASE_DIR}/libatomic_ops/${LIBATOMICOPS_VERSION} +ENV LIBATOMICOPS_INC_DIR=${LIBATOMICOPS_DIR}/include +ENV LIBATOMICOPS_LIB_DIR=${LIBATOMICOPS_DIR}/lib +ENV LIBATOMICOPS_SRC_DIR=/usr/local/src/libatomic_ops/${LIBATOMICOPS_VERSION} +ARG LIBATOMICOPS_DOWNLOAD_URL=https://github.com/ivmai/libatomic_ops/releases/download/v${LIBATOMICOPS_VERSION}/libatomic_ops-${LIBATOMICOPS_VERSION}.tar.gz +ARG LIBATOMICOPS_TEMP=/tmp/libatomic_ops-${LIBATOMICOPS_VERSION}.tar.gz +ARG LIBATOMICOPS_TEMP_SRC=/tmp/libatomic_ops-${LIBATOMICOPS_VERSION} + +# libimagequant source +ENV LIBIMAGEQUANT_VERSION=4.3.1 +ARG LIBIMAGEQUANT_DOWNLOAD_URL=https://github.com/ImageOptim/libimagequant +ENV LIBIMAGEQUANT_DIR=${EMG_LOCAL_BASE_DIR}/libimagequant +ENV LIBIMAGEQUANT_SRC_DIR=/usr/local/src/libimagequant/${LIBIMAGEQUANT_VERSION} +ARG LIBIMAGEQUANT_TEMP_SRC=/tmp/libimagequant + +# libraqm source +ENV LIBRAQM_VERSION=0.10.1 +ARG LIBRAQM_DOWNLOAD_URL=https://github.com/HOST-Oman/libraqm +ENV LIBRAQM_DIR=${EMG_LOCAL_BASE_DIR}/libraqm +ENV LIBRAQM_SRC_DIR=/usr/local/src/libraqm/${LIBRAQM_VERSION} +ARG LIBRAQM_TEMP_SRC=/tmp/libraqm + +# libgd source tarball +ENV LIBGD_VERSION=2.3.3 +ENV LIBGD_DIR=${EMG_LOCAL_BASE_DIR}/libgd/${LIBGD_VERSION} +ENV LIBGD_BIN_DIR=${LIBGD_DIR}/bin +ENV LIBGD_INC_DIR=${LIBGD_DIR}/include +ENV LIBGD_LIB_DIR=${LIBGD_DIR}/lib +ENV LIBGD_SRC_DIR=/usr/local/src/libgd/${LIBGD_VERSION} +ARG LIBGD_DOWNLOAD_URL=https://github.com/libgd/libgd/releases/download/gd-${LIBGD_VERSION}/libgd-${LIBGD_VERSION}.tar.gz +ARG LIBGD_TEMP=/tmp/libgd-${LIBGD_VERSION}.tar.gz +ARG LIBGD_TEMP_SRC=/tmp/libgd-${LIBGD_VERSION} + +# libxml2 source tarball +ENV LIBXML2_VERSION=2.13.2 +ENV LIBXML2_DIR=${EMG_LOCAL_BASE_DIR}/libxml2/${LIBXML2_VERSION} +ENV LIBXML2_BIN_DIR=${LIBXML2_DIR}/bin +ENV LIBXML2_INC_DIR=${LIBXML2_DIR}/include +ENV LIBXML2_LIB_DIR=${LIBXML2_DIR}/lib +ENV LIBXML2_SRC_DIR=/usr/local/src/libxml2/${LIBXML2_VERSION} +ARG LIBXML2_DOWNLOAD_URL=https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz +ARG LIBXML2_TEMP=/tmp/libxml2-v${LIBXML2_VERSION}.tar.gz +ARG LIBXML2_TEMP_SRC=/tmp/libxml2-v${LIBXML2_VERSION} + +# libxslt source tarball +ENV LIBXSLT_VERSION=1.1.42 +ENV LIBXSLT_DIR=${EMG_LOCAL_BASE_DIR}/libxslt/${LIBXSLT_VERSION} +ENV LIBXSLT_BIN_DIR=${LIBXSLT_DIR}/bin +ENV LIBXSLT_INC_DIR=${LIBXSLT_DIR}/include +ENV LIBXSLT_LIB_DIR=${LIBXSLT_DIR}/lib +ENV LIBXSLT_SRC_DIR=/usr/local/src/libxslt/${LIBXSLT_VERSION} +ARG LIBXSLT_DOWNLOAD_URL=https://gitlab.gnome.org/GNOME/libxslt/-/archive/v${LIBXSLT_VERSION}/libxslt-v${LIBXSLT_VERSION}.tar.gz +ARG LIBXSLT_TEMP=/tmp/libxslt-v${LIBXSLT_VERSION}.tar.gz +ARG LIBXSLT_TEMP_SRC=/tmp/libxslt-v${LIBXSLT_VERSION} + +# maxmind geoip +ENV MM_GEOIP_VERSION=1.6.12 +ENV MM_GEOIP_DIR=${EMG_LOCAL_BASE_DIR}/geoip/${MM_GEOIP_VERSION} +ENV MM_GEOIP_BIN_DIR=${MM_GEOIP_DIR}/bin +ENV MM_GEOIP_INC_DIR=${MM_GEOIP_DIR}/include +ENV MM_GEOIP_LIB_DIR=${MM_GEOIP_DIR}/lib +ENV MM_GEOIP_SRC_DIR=/usr/local/src/geoip/${MM_GEOIP_VERSION} +ARG MM_GEOIP_DOWNLOAD_URL=https://github.com/maxmind/geoip-api-c/releases/download/v${MM_GEOIP_VERSION}/GeoIP-${MM_GEOIP_VERSION}.tar.gz +ARG MM_GEOIP_TEMP=/tmp/GeoIP-${MM_GEOIP_VERSION}.tar.gz +ARG MM_GEOIP_TEMP_SRC=/tmp/GeoIP-${MM_GEOIP_VERSION} + +# Google perftools +ENV GPERFTOOLS_VERSION=2.15 +ENV GPERFTOOLS_DIR=${EMG_LOCAL_BASE_DIR}/gperftools/${GPERFTOOLS_VERSION} +ENV GPERFTOOLS_BIN_DIR=${GPERFTOOLS_DIR}/bin +ENV GPERFTOOLS_INC_DIR=${GPERFTOOLS_DIR}/include +ENV GPERFTOOLS_LIB_DIR=${GPERFTOOLS_DIR}/lib +ENV GPERFTOOLS_SRC_DIR=/usr/local/src/gperftools/${GPERFTOOLS_VERSION} +ARG GPERFTOOLS_DOWNLOAD_URL=https://github.com/gperftools/gperftools/releases/download/gperftools-${GPERFTOOLS_VERSION}/gperftools-${GPERFTOOLS_VERSION}.tar.gz +ARG GPERFTOOLS_TEMP=/tmp/gperftools-${GPERFTOOLS_VERSION}.tar.gz +ARG GPERFTOOLS_TEMP_SRC=/tmp/gperftools-${GPERFTOOLS_VERSION} + +# OpenSSL 1.1.1 +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} +ARG OPENSSL_111_DOWNLOAD_URL=https://www.openssl.org/source/old/${OPENSSL_111_VERSION}/openssl-${OPENSSL_111_VERSION}w.tar.gz +ARG OPENSSL_111_TEMP=/tmp/openssl-${OPENSSL_111_VERSION}w.tar.gz +ARG OPENSSL_111_TEMP_SRC=/tmp/openssl-${OPENSSL_111_VERSION}w + +# OpenSSL 3.0.14 +ENV OPENSSL_30_VERSION=3.0.14 +ENV OPENSSL_30_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_30_VERSION} +ENV OPENSSL_30_BIN_DIR=${OPENSSL_30_DIR}/bin +ENV OPENSSL_30_INC_DIR=${OPENSSL_30_DIR}/include +ENV OPENSSL_30_LIB_DIR=${OPENSSL_30_DIR}/lib64 +ENV OPENSSL_30_SRC_DIR=/usr/local/src/openssl/${OPENSSL_30_VERSION} +ARG OPENSSL_30_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_30_VERSION}.tar.gz +ARG OPENSSL_30_TEMP=/tmp/openssl-${OPENSSL_30_VERSION}.tar.gz +ARG OPENSSL_30_TEMP_SRC=/tmp/openssl-${OPENSSL_30_VERSION} + +# OpenSSL 3.1.6 +ENV OPENSSL_31_VERSION=3.1.6 +ENV OPENSSL_31_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_31_VERSION} +ENV OPENSSL_31_BIN_DIR=${OPENSSL_31_DIR}/bin +ENV OPENSSL_31_INC_DIR=${OPENSSL_31_DIR}/include +ENV OPENSSL_31_LIB_DIR=${OPENSSL_31_DIR}/lib64 +ENV OPENSSL_31_SRC_DIR=/usr/local/src/openssl/${OPENSSL_31_VERSION} +ARG OPENSSL_31_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_31_VERSION}.tar.gz +ARG OPENSSL_31_TEMP=/tmp/openssl-${OPENSSL_31_VERSION}.tar.gz +ARG OPENSSL_31_TEMP_SRC=/tmp/openssl-${OPENSSL_31_VERSION} + +# OpenSSL 3.2.2 +ENV OPENSSL_32_VERSION=3.2.2 +ENV OPENSSL_32_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_32_VERSION} +ENV OPENSSL_32_BIN_DIR=${OPENSSL_32_DIR}/bin +ENV OPENSSL_32_INC_DIR=${OPENSSL_32_DIR}/include +ENV OPENSSL_32_LIB_DIR=${OPENSSL_32_DIR}/lib64 +ENV OPENSSL_32_SRC_DIR=/usr/local/src/openssl/${OPENSSL_32_VERSION} +ARG OPENSSL_32_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_32_VERSION}.tar.gz +ARG OPENSSL_32_TEMP=/tmp/openssl-${OPENSSL_32_VERSION}.tar.gz +ARG OPENSSL_32_TEMP_SRC=/tmp/openssl-${OPENSSL_32_VERSION} + +# OpenSSL 3.3.1 +ENV OPENSSL_33_VERSION=3.3.1 +ENV OPENSSL_33_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_33_VERSION} +ENV OPENSSL_33_BIN_DIR=${OPENSSL_33_DIR}/bin +ENV OPENSSL_33_INC_DIR=${OPENSSL_33_DIR}/include +ENV OPENSSL_33_LIB_DIR=${OPENSSL_33_DIR}/lib64 +ENV OPENSSL_33_SRC_DIR=/usr/local/src/openssl/${OPENSSL_33_VERSION} +ARG OPENSSL_33_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_33_VERSION}.tar.gz +ARG OPENSSL_33_TEMP=/tmp/openssl-${OPENSSL_33_VERSION}.tar.gz +ARG OPENSSL_33_TEMP_SRC=/tmp/openssl-${OPENSSL_33_VERSION} + +# LibreSSL +ENV LIBRESSL_VERSION=3.9.2 +ENV LIBRESSL_DIR=${EMG_LOCAL_BASE_DIR}/libressl/${LIBRESSL_VERSION} +ENV LIBRESSL_INC_DIR=${LIBRESSL_DIR}/include +ENV LIBRESSL_LIB_DIR=${LIBRESSL_DIR}/lib +ENV LIBRESSL_SRC_DIR=/usr/local/src/libressl/${LIBRESSL_VERSION} +ARG LIBRESSL_DOWNLOAD_URL=https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${LIBRESSL_VERSION}.tar.gz +ARG LIBRESSL_TEMP=/tmp/libressl-${LIBRESSL_VERSION}.tar.gz +ARG LIBRESSL_TEMP_SRC=/tmp/libressl-${LIBRESSL_VERSION} + +# BoringSSL +ENV BORINGSSL_VERSION=master +ENV BORINGSSL_DIR=${EMG_LOCAL_BASE_DIR}/boringssl/${BORINGSSL_VERSION} +ENV BORINGSSL_INC_DIR=${BORINGSSL_DIR}/include +ENV BORINGSSL_LIB_DIR=${BORINGSSL_DIR}/lib +ENV BORINGSSL_SRC_DIR=/usr/local/src/boringssl/${BORINGSSL_VERSION} +ARG BORINGSSL_DOWNLOAD_URL=https://boringssl.googlesource.com/boringssl +ARG BORINGSSL_TEMP_SRC=/tmp/boringssl + +################################################################## +# trixie sources list +################################################################## +RUN apt-get update && \ + apt-get dist-upgrade -y + +################################################################## +# installing +################################################################## +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests --allow-downgrades \ + build-essential \ + autoconf-archive \ + gnu-standards \ + cmake \ + meson \ + libunwind-dev \ + at \ + autopkgtest \ + gcc-multilib \ + g++-multilib \ + libxkbcommon-dev \ + libsqlite3-dev \ + liblzma-dev \ + libgtk-3-dev \ + zlib1g-dev \ + libfreetype6-dev \ + libegl1-mesa-dev \ + libgles2-mesa-dev \ + libgbm-dev \ + uuid-dev \ + nvidia-cg-toolkit \ + nvidia-cg-dev \ + libavutil-dev \ + libavcodec-dev \ + libxvidcore-dev \ + libtwolame-dev \ + libmp3lame-dev \ + libopus-dev \ + libavcodec-extra \ + libtheora-dev \ + libvorbis-dev \ + libflac-dev \ + libx264-dev \ + libx265-dev \ + libaom-dev \ + libdav1d-dev \ + libaio-dev \ + libsdl2-dev \ + libsdl-image1.2-dev \ + libxml2-dev \ + yasm \ + devscripts \ + automake \ + libtool \ + autotools-dev \ + dpkg-dev \ + fakeroot \ +# checkinstall \ + dh-make \ + zlib1g \ + zlib1g-dev \ + libssl-dev \ + libxslt-dev \ + libgd-dev \ + libpcre2-dev \ + libgeoip-dev \ + libxml++*-dev \ + libkrb5-dev \ + libperl-dev \ + krb5-user \ + luajit \ + liblua5.1-0-dev \ + libmaxminddb-dev \ + libpam0g-dev \ + libldap2-dev \ + libavformat-dev \ + libavfilter-dev \ + libswscale-dev \ + libavcodec-dev \ + libz-dev \ + libhiredis-dev \ + libzip-dev \ + libcrypto++-dev \ + libbz2-dev \ + libvpx-dev \ + libsasl2-dev \ + tcl \ + g++ \ + gcc \ + libc6-dev \ + make \ + pkg-config \ + python3-all-dev \ + g++-multilib \ + autoconf \ + automake \ + libtool \ + gdb \ + strace \ + libbsd-dev \ + libedit-dev \ + libmd-dev \ + valgrind \ +# valgrind-dbg \ + valgrind-if-available \ + valgrind-mpi \ + gcovr \ + lcov \ + libsctp-dev \ + libharfbuzz-dev \ + libfribidi-dev \ + libpng-dev \ + libjpeg-dev \ + libfreetype6-dev + +RUN mkdir -p /tmp/debs +COPY --from=temp-dpkg /tmp/debs /tmp/debs +RUN cd /tmp/debs && \ + dpkg -i ./* || true && \ + apt-get -f install -y && \ + dpkg -i ./* + +################################################################## +# Rust compillers +################################################################## +ENV CARGO_HOME=${EMG_LOCAL_BASE_DIR}/cargo +ENV RUSTUP_HOME=${EMG_LOCAL_BASE_DIR}/rustup +ARG CARGO_BIN=${CARGO_HOME}/bin + +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile complete --default-toolchain stable --verbose + +ENV PATH="$CARGO_HOME/bin:${PATH}" + +RUN echo "=============================================" && \ + echo cargo $(cargo --version) && \ + echo rustc $(rustc --version) && \ + echo rustup $(rustup --version) && \ + echo "=============================================" + +################################################################## +# CMake +################################################################## +RUN mkdir -p ${CMAKE_DIR} +ADD ${CMAKE_DOWNLOAD_URL} /tmp + +RUN tar -xf ${CMAKE_TEMP} --directory ${CMAKE_DIR} --strip-components=1 && \ + chmod +x ${CMAKE_BIN_DIR}/ccmake && \ + chmod +x ${CMAKE_BIN_DIR}/cmake && \ + chmod +x ${CMAKE_BIN_DIR}/cmake-gui && \ + chmod +x ${CMAKE_BIN_DIR}/cpack && \ + chmod +x ${CMAKE_BIN_DIR}/ctest + +ENV PATH="${CMAKE_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo $(cmake --version) && \ + echo "=============================================" + +################################################################## +# Flutter SDK +################################################################## +RUN mkdir -p ${FLUTTER_DIR} +ADD ${FLUTTER_DOWNLOAD_URL} /tmp + +RUN tar -xf ${FLUTTER_TEMP} --directory ${FLUTTER_DIR} --strip-components=1 && \ + chmod +x ${FLUTTER_BIN_DIR}/dart && \ + chmod +x ${FLUTTER_BIN_DIR}/flutter && \ + chmod +x ${FLUTTER_BIN_DIR}/internal/shared.sh && \ + chmod +x ${FLUTTER_BIN_DIR}/internal/update_dart_sdk.sh + +ENV PATH="${FLUTTER_BIN_DIR}:${PATH}" + +RUN git config --global --add safe.directory ${FLUTTER_DIR} && \ + flutter precache && \ + flutter config --no-analytics && \ + dart --disable-analytics + +RUN echo "=============================================" && \ + echo dart $(dart --version) && \ + echo flutter $(flutter --version) && \ + echo "=============================================" + +################################################################## +# GO compillers +################################################################## +RUN mkdir -p ${GO_DIR} +ADD ${GO_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${GO_TEMP} --directory ${GO_DIR} --strip-components=1 && \ + chmod +x ${GO_BIN_DIR}/go && \ + chmod +x ${GO_BIN_DIR}/gofmt + +ENV GOPATH=${GO_DIR} +ENV PATH="${GO_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo go $(go version) && \ + echo "=============================================" + +################################################################## +# Get NINJA binary +################################################################## +RUN mkdir -p ${NINJA_BIN_DIR} +ADD ${NINJA_DOWNLOAD_URL} /tmp + +RUN 7zz x ${NINJA_TEMP} -o${NINJA_BIN_DIR} -y && \ + chmod +x ${NINJA_BIN_DIR}/ninja + +ENV PATH="${NINJA_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo ninja $(ninja --version) && \ + echo "=============================================" + +################################################################## +# ZLIB library +################################################################## +RUN mkdir -p ${ZLIB_DIR} ${ZLIB_SRC_DIR} +ADD ${ZLIB_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${ZLIB_TEMP} --directory /tmp && \ + cp -rfv ${ZLIB_TEMP_SRC}/* ${ZLIB_SRC_DIR} && \ + ln -sf ${ZLIB_SRC_DIR} ${ZLIB_DIR}/src && \ + cd ${ZLIB_TEMP_SRC} && \ + ./configure \ +# --static \ + --prefix=${ZLIB_DIR} \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# ZLIB support" >> ${LD_CONF_DIR}/ZLIB.conf && \ + echo ${ZLIB_LIB_DIR} >> ${LD_CONF_DIR}/ZLIB.conf && \ + ldconfig + +################################################################## +# ZSTD library +################################################################## +RUN mkdir -p ${ZSTD_DIR} ${ZSTD_SRC_DIR} +ADD ${ZSTD_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${ZSTD_TEMP} --directory /tmp && \ + cp -rfv ${ZSTD_TEMP_SRC}/* ${ZSTD_SRC_DIR} && \ + ln -sf ${ZSTD_SRC_DIR} ${ZSTD_DIR}/src && \ + cd ${ZSTD_TEMP_SRC} && \ + mkdir -p ${ZSTD_TEMP_SRC}/build/cmake/builddir && \ + cd ${ZSTD_TEMP_SRC}/build/cmake/builddir && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${ZSTD_DIR} -DZSTD_BUILD_STATIC=ON -DZSTD_BUILD_SHARED=ON .. && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# ZSTD support" >> ${LD_CONF_DIR}/ZSTD.conf && \ + echo ${ZSTD_LIB_DIR} >> ${LD_CONF_DIR}/ZSTD.conf && \ + ldconfig + +ENV PATH="${ZSTD_BIN_DIR}:${PATH}" + +################################################################## +# PRCE2 static library +################################################################## +RUN mkdir -p ${PCRE_BIN_DIR} ${PCRE_SRC_DIR} +ADD ${PCRE_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${PCRE_TEMP} --directory /tmp && \ + cp -rfv ${PCRE_TEMP_SRC}/* ${PCRE_SRC_DIR} && \ + ln -sf ${PCRE_SRC_DIR} ${PCRE_DIR}/src && \ + cd ${PCRE_TEMP_SRC} && \ + ./configure --prefix=${PCRE_DIR} \ + --disable-silent-rules \ + --enable-shared \ + --enable-static \ + --enable-rebuild-chartables \ + --enable-pcre2-8 \ + --enable-pcre2-16 \ + --enable-pcre2-32 \ + --enable-jit \ + --enable-newline-is-cr \ + --enable-newline-is-lf \ + --enable-newline-is-anycrlf \ + --enable-newline-is-any \ + --enable-newline-is-nul \ + --enable-bsr-anycrlf \ + --enable-pcre2grep-libz \ + --enable-pcre2grep-libbz2 \ + --enable-pcre2test-libedit \ + --enable-unicode \ + --enable-valgrind \ +# --enable-fuzz-support \ +# --enable-diff-fuzz-support \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# PRCE2 support" >> ${LD_CONF_DIR}/PRCE2.conf && \ + echo ${PCRE_LIB_DIR} >> ${LD_CONF_DIR}/PRCE2.conf && \ + ldconfig + +ENV PATH="${PCRE_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo pcre2 $(pcre2-config --version) && \ + echo "=============================================" + +################################################################## +# LuaJIT2 OpenResty 2.1 +################################################################## +RUN mkdir -p ${LUAJIT2OR_DIR} ${LUAJIT2OR_SRC_DIR} && \ + git clone ${LUAJIT2OR_DOWNLOAD_URL} ${LUAJIT2OR_TEMP_SRC} && \ + cp -rfv ${LUAJIT2OR_TEMP_SRC}/* ${LUAJIT2OR_SRC_DIR} && \ + ln -sf ${LUAJIT2OR_SRC_DIR} ${LUAJIT2OR_DIR}/src && \ + cd ${LUAJIT2OR_TEMP_SRC} && \ +# make -j$(nproc) XCFLAGS='-DLUAJIT_ENABLE_GC64' BUILDMODE=static && \ + make -j$(nproc) XCFLAGS='-DLUAJIT_ENABLE_GC64' BUILDMODE=mixed && \ + make -j$(nproc) install PREFIX=${LUAJIT2OR_DIR} && \ + echo "# LuaJIT2 support" >> ${LD_CONF_DIR}/LuaJIT2.conf && \ + echo ${LUAJIT2OR_LIB_DIR} >> ${LD_CONF_DIR}/LuaJIT2.conf && \ + ldconfig + +ENV PATH="${LUAJIT2OR_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo luajit $(luajit -v) && \ + echo "=============================================" + +################################################################## +# IP2Location +################################################################## +RUN mkdir -p ${IP2LOC_DIR} ${IP2LOC_SRC_DIR} +ADD ${IP2LOC_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${IP2LOC_TEMP} --directory /tmp && \ + cp -rfv ${IP2LOC_TEMP_SRC}/* ${IP2LOC_SRC_DIR} && \ + ln -sf ${IP2LOC_SRC_DIR} ${IP2LOC_DIR}/src && \ + cd ${IP2LOC_TEMP_SRC} && \ + autoreconf -i -v --force && \ + aclocal && \ + automake --gnu --add-missing && \ + autoconf && \ + autoreconf -i -v --force && \ + ./configure \ + --prefix=${IP2LOC_DIR} \ + --disable-silent-rules \ + --enable-shared \ + --enable-static \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# IP2Location support" >> ${LD_CONF_DIR}/IP2Location.conf && \ + echo ${IP2LOC_LIB_DIR} >> ${LD_CONF_DIR}/IP2Location.conf && \ + ldconfig + +ENV PATH="${IP2LOC_BIN_DIR}:${PATH}" + +################################################################## +# libatomic_ops +################################################################## +RUN mkdir -p ${LIBATOMICOPS_DIR} ${LIBATOMICOPS_SRC_DIR} +ADD ${LIBATOMICOPS_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LIBATOMICOPS_TEMP} --directory /tmp && \ + cp -rfv ${LIBATOMICOPS_TEMP_SRC}/* ${LIBATOMICOPS_SRC_DIR} && \ + ln -sf ${LIBATOMICOPS_SRC_DIR} ${LIBATOMICOPS_DIR}/src && \ + cd ${LIBATOMICOPS_TEMP_SRC} && \ + ./autogen.sh && \ + ./configure \ + --prefix=${LIBATOMICOPS_DIR} \ + --disable-silent-rules \ + --enable-shared \ + --enable-static \ + --enable-assertions \ + --with-aix-soname=both \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + ln -sfv ${LIBATOMICOPS_SRC_DIR} ${LIBATOMICOPS_SRC_DIR}/src && \ + echo "# libatomic_ops support" >> ${LD_CONF_DIR}/libatomic_ops.conf && \ + echo ${LIBATOMICOPS_LIB_DIR} >> ${LD_CONF_DIR}/libatomic_ops.conf && \ + ldconfig + +################################################################## +# libimagequant +################################################################## +RUN mkdir -p ${LIBIMAGEQUANT_DIR} ${LIBIMAGEQUANT_SRC_DIR} + +RUN git clone ${LIBIMAGEQUANT_DOWNLOAD_URL} ${LIBIMAGEQUANT_TEMP_SRC} && \ + cp -rfv ${LIBIMAGEQUANT_TEMP_SRC}/* ${LIBIMAGEQUANT_SRC_DIR} && \ + ln -sf ${LIBIMAGEQUANT_SRC_DIR} ${LIBIMAGEQUANT_DIR}/src && \ + cd ${LIBIMAGEQUANT_TEMP_SRC} && \ + cargo build --release && \ + cd ${LIBIMAGEQUANT_TEMP_SRC}/imagequant-sys && \ + cargo build --release && \ + make -j$(nproc) && \ + make -j$(nproc) install + +################################################################## +# libraqm +################################################################## +RUN mkdir -p ${LIBRAQM_DIR} ${LIBRAQM_SRC_DIR} + +RUN git clone ${LIBRAQM_DOWNLOAD_URL} ${LIBRAQM_TEMP_SRC} && \ + cp -rfv ${LIBRAQM_TEMP_SRC}/* ${LIBRAQM_SRC_DIR} && \ + ln -sf ${LIBRAQM_SRC_DIR} ${LIBRAQM_DIR}/src && \ + cd ${LIBRAQM_TEMP_SRC} && \ + meson build && \ + ninja -C build && \ + ninja -C build install + +################################################################## +# libgd +################################################################## +RUN mkdir -p ${LIBGD_DIR} ${LIBGD_SRC_DIR} +ADD ${LIBGD_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LIBGD_TEMP} --directory /tmp && \ + cp -rfv ${LIBGD_TEMP_SRC}/* ${LIBGD_SRC_DIR} && \ + ln -sf ${LIBGD_SRC_DIR} ${LIBGD_DIR}/src && \ + cd ${LIBGD_TEMP_SRC} && \ + ./bootstrap.sh && \ + ./configure \ + --prefix=${LIBGD_DIR} \ + --disable-silent-rules \ + --enable-static \ + --enable-shared \ + --with-aix-soname=both \ + --with-libiconv-prefix \ + --with-zlib=${ZSTD_SRC_DIR} \ + --with-png --with-freetype \ + --with-raqm=${LIBRAQM_SRC_DIR} \ + --with-fontconfig \ + --with-jpeg \ + --with-liq=${LIBIMAGEQUANT_SRC_DIR} \ + --with-xpm \ + --with-gd \ + --enable-gd-formats \ + --with-tiff \ + --with-webp \ + --with-heif \ + --with-avif \ + --with-x \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# libgd support" >> ${LD_CONF_DIR}/libgd.conf && \ + echo ${LIBGD_LIB_DIR} >> ${LD_CONF_DIR}/libgd.conf && \ + ldconfig + +ENV PATH="${LIBGD_BIN_DIR}:${PATH}" + +################################################################## +# libxml2 +################################################################## +RUN mkdir -p ${LIBXML2_DIR} ${LIBXML2_SRC_DIR} +ADD ${LIBXML2_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LIBXML2_TEMP} --directory /tmp && \ + cp -rfv ${LIBXML2_TEMP_SRC}/* ${LIBXML2_SRC_DIR} && \ + ln -sf ${LIBXML2_SRC_DIR} ${LIBXML2_DIR}/src && \ + cd ${LIBXML2_TEMP_SRC} && \ + ./autogen.sh && \ + ./configure \ + --prefix=${LIBXML2_DIR} \ + --disable-silent-rules \ + --enable-static \ + --enable-shared \ + --with-aix-soname=both \ + --with-c14n \ + --with-catalog \ + --with-debug \ + --with-ftp \ + --with-history \ + --with-html \ + --with-http \ + --with-iconv \ + --with-readline \ + --with-http \ + --with-icu \ + --with-iso8859x \ + --with-output \ + --with-pattern \ + --with-push \ + --with-python \ + --with-reader \ + --with-regexps \ + --with-sax1 \ + --with-schemas \ + --with-schematron \ + --with-threads \ + --with-thread-alloc \ + --with-tree \ + --with-valid \ + --with-writer \ + --with-xinclude \ + --with-xpath \ + --with-xptr \ + --with-xptr-locs \ + --with-lzma \ + --with-zlib=${ZSTD_DIR} \ + --with-legacy \ + --with-tls \ + --with-python-sys-prefix \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# libxslt support" >> ${LD_CONF_DIR}/libxml2.conf && \ + echo ${LIBXML2_LIB_DIR} >> ${LD_CONF_DIR}/libxml2.conf && \ + ldconfig + +ENV PATH="${LIBXML2_BIN_DIR}:${PATH}" + +################################################################## +# libxslt +################################################################## +RUN mkdir -p ${LIBXSLT_DIR} ${LIBXSLT_SRC_DIR} +ADD ${LIBXSLT_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LIBXSLT_TEMP} --directory /tmp && \ + cp -rfv ${LIBXSLT_TEMP_SRC}/* ${LIBXSLT_SRC_DIR} && \ + ln -sf ${LIBXSLT_SRC_DIR} ${LIBXSLT_DIR}/src && \ + cd ${LIBXSLT_TEMP_SRC} && \ + ./autogen.sh && \ + ./configure \ + --prefix=${LIBXSLT_DIR} \ + --disable-silent-rules \ + --enable-static \ + --enable-shared \ + --with-aix-soname=both \ + --with-python-sys-prefix \ + --with-crypto \ + --with-debug \ + --with-debugger \ + --with-profiler \ + --with-plugins \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# libxslt support" >> ${LD_CONF_DIR}/libxslt.conf && \ + echo ${LIBXSLT_LIB_DIR} >> ${LD_CONF_DIR}/libxslt.conf && \ + ldconfig + +ENV PATH="${LIBXSLT_BIN_DIR}:${PATH}" + +################################################################## +# MAxMind GeoIP +################################################################## +RUN mkdir -p ${MM_GEOIP_DIR} ${MM_GEOIP_SRC_DIR} +ADD ${MM_GEOIP_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${MM_GEOIP_TEMP} --directory /tmp && \ + cp -rfv ${MM_GEOIP_TEMP_SRC}/* ${MM_GEOIP_SRC_DIR} && \ + ln -sf ${MM_GEOIP_SRC_DIR} ${MM_GEOIP_DIR}/src && \ + cd ${MM_GEOIP_TEMP_SRC} && \ + ./bootstrap && \ + aclocal && \ + autoconf && \ + automake --add-missing && \ + ./configure \ + --prefix=${MM_GEOIP_DIR} \ + --disable-silent-rules \ + --enable-shared \ + --enable-static \ + --enable-assertions \ + --with-aix-soname=both \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# GeoIP support" >> ${LD_CONF_DIR}/GeoIP.conf && \ + echo ${MM_GEOIP_LIB_DIR} >> ${LD_CONF_DIR}/GeoIP.conf && \ + ldconfig + +ENV PATH="${MM_GEOIP_BIN_DIR}:${PATH}" + +################################################################## +# Google perftools +################################################################## +RUN mkdir -p ${GPERFTOOLS_DIR} ${GPERFTOOLS_SRC_DIR} +ADD ${GPERFTOOLS_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${GPERFTOOLS_TEMP} --directory /tmp && \ + cp -rfv ${GPERFTOOLS_TEMP_SRC}/* ${GPERFTOOLS_SRC_DIR} && \ + ln -sf ${GPERFTOOLS_SRC_DIR} ${GPERFTOOLS_DIR}/src && \ + cd ${GPERFTOOLS_TEMP_SRC} && \ + ./configure \ + --prefix=${GPERFTOOLS_DIR} \ + --disable-silent-rules \ + --enable-shared \ + --enable-static \ + --enable-libunwind \ + --with-aix-soname=both \ + --enable-large-alloc-report \ + --enable-aggressive-decommit-by-default \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# Google perftools support" >> ${LD_CONF_DIR}/Googleperftools.conf && \ + echo ${GPERFTOOLS_LIB_DIR} >> ${LD_CONF_DIR}/Googleperftools.conf && \ + ldconfig + +ENV PATH="${GPERFTOOLS_BIN_DIR}:${PATH}" + +################################################################## +# OpenSSL 1.1.1.1 +################################################################## +RUN mkdir -p ${OPENSSL_111_DIR} ${OPENSSL_111_SRC_DIR} +ADD ${OPENSSL_111_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${OPENSSL_111_TEMP} --directory /tmp && \ + cp -rfv ${OPENSSL_111_TEMP_SRC}/* ${OPENSSL_111_SRC_DIR} && \ + ln -sf ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_DIR}/src && \ + cd ${OPENSSL_111_TEMP_SRC} && \ + ./config \ + zlib \ + --with-zlib-include=${ZLIB_DIR}/include \ + --with-zlib-lib=${ZLIB_DIR}/lib \ + enable-ec_nistp_64_gcc_128 \ + enable-egd \ + enable-ssl-trace \ + threads \ + sctp \ + --release \ + --prefix=${OPENSSL_111_DIR} \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install + +################################################################## +# OpenSSL 3.0.14 +################################################################## +RUN mkdir -p ${OPENSSL_30_DIR} ${OPENSSL_30_SRC_DIR} +ADD ${OPENSSL_30_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${OPENSSL_30_TEMP} --directory /tmp && \ + cp -rfv ${OPENSSL_30_TEMP_SRC}/* ${OPENSSL_30_SRC_DIR} && \ + ln -sf ${OPENSSL_30_SRC_DIR} ${OPENSSL_30_DIR}/src && \ + cd ${OPENSSL_30_TEMP_SRC} && \ + ./config \ + zlib \ + --with-zlib-include=${ZLIB_DIR}/include \ + --with-zlib-lib=${ZLIB_DIR}/lib \ + enable-ktls \ + enable-ec_nistp_64_gcc_128 \ + enable-egd \ + enable-fips \ + enable-ssl-trace\ + enable-trace \ + threads \ + sctp \ + --release \ + --prefix=${OPENSSL_30_DIR} \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install + +################################################################## +# OpenSSL 3.1.6 +################################################################## +RUN mkdir -p ${OPENSSL_31_DIR} ${OPENSSL_31_SRC_DIR} +ADD ${OPENSSL_31_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${OPENSSL_31_TEMP} --directory /tmp && \ + cp -rfv ${OPENSSL_31_TEMP_SRC}/* ${OPENSSL_31_SRC_DIR} && \ + ln -sf ${OPENSSL_31_SRC_DIR} ${OPENSSL_31_DIR}/src && \ + cd ${OPENSSL_31_TEMP_SRC} && \ + ./config \ + zlib \ + --with-zlib-include=${ZLIB_DIR}/include \ + --with-zlib-lib=${ZLIB_DIR}/lib \ + enable-ktls \ + enable-ec_nistp_64_gcc_128 \ + enable-egd \ + enable-fips \ + enable-ssl-trace\ + enable-trace \ + threads \ + sctp \ + --release \ + --prefix=${OPENSSL_31_DIR} \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install + +################################################################## +# OpenSSL 3.2.2 +################################################################## +RUN mkdir -p ${OPENSSL_32_DIR} ${OPENSSL_32_SRC_DIR} +ADD ${OPENSSL_32_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${OPENSSL_32_TEMP} --directory /tmp && \ + cp -rfv ${OPENSSL_32_TEMP_SRC}/* ${OPENSSL_32_SRC_DIR} && \ + ln -sf ${OPENSSL_32_SRC_DIR} ${OPENSSL_32_DIR}/src && \ + cd ${OPENSSL_32_TEMP_SRC} && \ + ./config \ + zlib \ + --with-zlib-include=${ZLIB_DIR}/include \ + --with-zlib-lib=${ZLIB_DIR}/lib \ + --with-zstd-include=${ZSTD_DIR}/include \ + --with-zstd-lib=${ZSTD_DIR}/lib \ + enable-ktls \ + enable-ec_nistp_64_gcc_128 \ + enable-egd \ + enable-fips \ + enable-ssl-trace\ + enable-trace \ + threads \ + sctp \ + --release \ + --prefix=${OPENSSL_32_DIR} \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install + +################################################################## +# OpenSSL 3.3.1 +################################################################## +RUN mkdir -p ${OPENSSL_33_DIR} ${OPENSSL_33_SRC_DIR} +ADD ${OPENSSL_33_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${OPENSSL_33_TEMP} --directory /tmp && \ + cp -rfv ${OPENSSL_33_TEMP_SRC}/* ${OPENSSL_33_SRC_DIR} && \ + ln -sf ${OPENSSL_33_SRC_DIR} ${OPENSSL_33_DIR}/src && \ + cd ${OPENSSL_33_TEMP_SRC} && \ + ./config \ + zlib \ + --with-zlib-include=${ZLIB_DIR}/include \ + --with-zlib-lib=${ZLIB_DIR}/lib \ + --with-zstd-include=${ZSTD_DIR}/include \ + --with-zstd-lib=${ZSTD_DIR}/lib \ + enable-ktls \ + enable-ec_nistp_64_gcc_128 \ + enable-egd \ + enable-fips \ + enable-ssl-trace\ + enable-trace \ + threads \ + sctp \ + --release \ + --prefix=${OPENSSL_33_DIR} \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# OpenSSL support" >> ${LD_CONF_DIR}/OpenSSL.conf && \ + echo ${OPENSSL_33_LIB_DIR} >> ${LD_CONF_DIR}/OpenSSL.conf && \ + ldconfig + +################################################################## +# LibreSSL +################################################################## +RUN mkdir -p ${LIBRESSL_DIR} ${LIBRESSL_SRC_DIR} +ADD ${LIBRESSL_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LIBRESSL_TEMP} --directory /tmp && \ + cp -rfv ${LIBRESSL_TEMP_SRC}/* ${LIBRESSL_SRC_DIR} && \ + ln -sfv ${LIBRESSL_SRC_DIR} ${LIBRESSL_DIR}/src && \ + cd ${LIBRESSL_TEMP_SRC} && \ + ./config \ + --enable-static \ + --enable-shared \ + --disable-silent-rules \ + --prefix=${LIBRESSL_DIR} \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ +# echo "# LibreSSL support" >> ${LD_CONF_DIR}/LibreSSL.conf && \ +# echo ${LIBRESSL_LIB_DIR} >> ${LD_CONF_DIR}/LibreSSL.conf && \ + ldconfig + +################################################################## +# BoringSSL +################################################################## +RUN mkdir -p ${BORINGSSL_DIR} ${BORINGSSL_SRC_DIR} && \ + git clone -b ${BORINGSSL_VERSION} ${BORINGSSL_DOWNLOAD_URL} ${BORINGSSL_TEMP_SRC} && \ + cp -rfv ${BORINGSSL_TEMP_SRC}/* ${BORINGSSL_SRC_DIR} && \ + ln -sf ${BORINGSSL_SRC_DIR} ${BORINGSSL_DIR}/src && \ + cd ${BORINGSSL_TEMP_SRC} && \ + mkdir ${BORINGSSL_TEMP_SRC}/build && \ +# cmake -GNinja -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DBUILD_SHARED_LIBS=1 -DCMAKE_INSTALL_PREFIX=${BORINGSSL_DIR} && \ +# ninja -C build && \ + cd ${BORINGSSL_TEMP_SRC}/build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DBUILD_SHARED_LIBS=1 -DCMAKE_INSTALL_PREFIX=${BORINGSSL_DIR} .. && \ + make -j$(if [ $(nproc) -gt 8 ]; then echo $(( $(nproc) / 2 )); else echo $(nproc); fi) && \ + make -j$(nproc) install && \ +# echo "# BoringSSL support" >> ${LD_CONF_DIR}/BoringSSL.conf && \ +# echo ${BORINGSSL_LIB_DIR} >> ${LD_CONF_DIR}/BoringSSL.conf && \ + ldconfig + +################################################################## +# other customisations +################################################################## + +################################################################## +# 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/13-trixie/develop/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/develop/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/develop/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/13-trixie/develop/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/develop/docker-compose.yml new file mode 100644 index 000000000..b3a09ca2b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/develop/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-develop" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet5/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet5/Dockerfile new file mode 100644 index 000000000..b21bf7f83 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet5/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:trixie +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/13-trixie/dotnet/dotnet5/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet5/Dockerfile.develop new file mode 100644 index 000000000..9ebc4e03f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet5/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:trixie-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/13-trixie/dotnet/dotnet5/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet5/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet5/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/13-trixie/dotnet/dotnet5/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet5/docker-compose.yml new file mode 100644 index 000000000..0d5fa5801 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet5/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-dotnet5" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-dotnet5" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet6/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet6/Dockerfile new file mode 100644 index 000000000..655ff2fa8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet6/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:trixie +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/13-trixie/dotnet/dotnet6/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet6/Dockerfile.develop new file mode 100644 index 000000000..155a84d00 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet6/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:trixie-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/13-trixie/dotnet/dotnet6/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet6/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/13-trixie/dotnet/dotnet6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet6/docker-compose.yml new file mode 100644 index 000000000..f5d7b6a3e --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet6/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-dotnet6" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-dotnet6" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet7/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet7/Dockerfile new file mode 100644 index 000000000..fb2b0bf2f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet7/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:trixie +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/13-trixie/dotnet/dotnet7/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet7/Dockerfile.develop new file mode 100644 index 000000000..2de8dcf2f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet7/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:trixie-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/13-trixie/dotnet/dotnet7/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet7/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/13-trixie/dotnet/dotnet7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet7/docker-compose.yml new file mode 100644 index 000000000..8e00734cf --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet7/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-dotnet7" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-dotnet7" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Dockerfile new file mode 100644 index 000000000..65182de85 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:trixie +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/13-trixie/dotnet/dotnet8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Dockerfile.develop new file mode 100644 index 000000000..f71d6fc22 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:trixie-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/13-trixie/dotnet/dotnet8/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/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/13-trixie/dotnet/dotnet8/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/docker-compose.yml new file mode 100644 index 000000000..52907a82c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet8/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-dotnet8" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-dotnet8" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Dockerfile new file mode 100644 index 000000000..5d6811266 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:trixie +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/13-trixie/dotnet/dotnet9/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Dockerfile.develop new file mode 100644 index 000000000..9fd6c81da --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:trixie-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/13-trixie/dotnet/dotnet9/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/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/13-trixie/dotnet/dotnet9/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/docker-compose.yml new file mode 100644 index 000000000..231f16d04 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/dotnet9/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-dotnet9" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-dotnet9" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Dockerfile new file mode 100644 index 000000000..4bfb27e8c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:trixie +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/13-trixie/dotnet/lts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Dockerfile.develop new file mode 100644 index 000000000..1dbffb0f7 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:trixie-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/13-trixie/dotnet/lts/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/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/13-trixie/dotnet/lts/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/docker-compose.yml new file mode 100644 index 000000000..8f6bae314 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/lts/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-dotnet-lts" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-dotnet-lts" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Dockerfile new file mode 100644 index 000000000..3992c09c5 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:trixie +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/13-trixie/dotnet/sts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Dockerfile.develop new file mode 100644 index 000000000..e743d9f98 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:trixie-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/13-trixie/dotnet/sts/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/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/13-trixie/dotnet/sts/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/docker-compose.yml new file mode 100644 index 000000000..7e9aa478f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/dotnet/sts/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-dotnet-sts" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-dotnet-sts" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk11/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk11/Dockerfile new file mode 100644 index 000000000..eda84ba8b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk11/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:trixie +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=11 +ARG K_JDK_FULL_VERSION=jdk-11.0.23 +ARG K_JDK_VERSION=11.0.23 +ARG K_JDK_BUILD_VERSION=9 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java11 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk11/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk11/Dockerfile.develop new file mode 100644 index 000000000..fb5ef17c0 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk11/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:trixie-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=11 +ARG K_JDK_FULL_VERSION=jdk-11.0.23 +ARG K_JDK_VERSION=11.0.23 +ARG K_JDK_BUILD_VERSION=9 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java11 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk11/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk11/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk11/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/13-trixie/jdk/jdk11/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk11/docker-compose.yml new file mode 100644 index 000000000..bc4cef4b9 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk11/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-jdk11" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-jdk11" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk16/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk16/Dockerfile new file mode 100644 index 000000000..26871edfd --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk16/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:trixie +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=16 +ARG K_JDK_FULL_VERSION=jdk-16.0.2 +ARG K_JDK_VERSION=16.0.2 +ARG K_JDK_BUILD_VERSION=7 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java17 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk16/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk16/Dockerfile.develop new file mode 100644 index 000000000..2f7aabdca --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk16/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:trixie-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=16 +ARG K_JDK_FULL_VERSION=jdk-16.0.2 +ARG K_JDK_VERSION=16.0.2 +ARG K_JDK_BUILD_VERSION=7 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java16 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk16/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk16/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk16/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/13-trixie/jdk/jdk16/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk16/docker-compose.yml new file mode 100644 index 000000000..c18dd281b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk16/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-jdk16" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-jdk16" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk17/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk17/Dockerfile new file mode 100644 index 000000000..cf2318062 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk17/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:trixie +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=17 +ARG K_JDK_FULL_VERSION=jdk-17.0.11 +ARG K_JDK_VERSION=17.0.11 +ARG K_JDK_BUILD_VERSION=9 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java17 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk17/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk17/Dockerfile.develop new file mode 100644 index 000000000..33140d1c8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk17/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:trixie-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=17 +ARG K_JDK_FULL_VERSION=jdk-17.0.11 +ARG K_JDK_VERSION=17.0.11 +ARG K_JDK_BUILD_VERSION=9 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java17 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk17/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk17/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk17/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/13-trixie/jdk/jdk17/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk17/docker-compose.yml new file mode 100644 index 000000000..5351cea89 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk17/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-jdk17" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-jdk17" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk18/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk18/Dockerfile new file mode 100644 index 000000000..265cc0ae0 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk18/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:trixie +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=18 +ARG K_JDK_FULL_VERSION=jdk-18.0.2.1 +ARG K_JDK_VERSION=18.0.2.1 +ARG K_JDK_BUILD_VERSION=1 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java18 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk18/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk18/Dockerfile.develop new file mode 100644 index 000000000..0ee96bee9 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk18/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:trixie-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=18 +ARG K_JDK_FULL_VERSION=jdk-18.0.2.1 +ARG K_JDK_VERSION=18.0.2.1 +ARG K_JDK_BUILD_VERSION=1 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java18 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk18/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk18/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk18/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/13-trixie/jdk/jdk18/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk18/docker-compose.yml new file mode 100644 index 000000000..2594a01bd --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk18/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-jdk18" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-jdk18" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk19/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk19/Dockerfile new file mode 100644 index 000000000..0c704e753 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk19/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:trixie +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=19 +ARG K_JDK_FULL_VERSION=jdk-19.0.2 +ARG K_JDK_VERSION=19.0.2 +ARG K_JDK_BUILD_VERSION=7 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java18 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk19/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk19/Dockerfile.develop new file mode 100644 index 000000000..94aca1f19 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk19/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:trixie-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=19 +ARG K_JDK_FULL_VERSION=jdk-19.0.2 +ARG K_JDK_VERSION=19.0.2 +ARG K_JDK_BUILD_VERSION=7 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java18 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk19/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk19/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/jdk/jdk19/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk19/docker-compose.yml new file mode 100644 index 000000000..1f36f93b1 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk19/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-jdk19" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-jdk19" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk20/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk20/Dockerfile new file mode 100644 index 000000000..f9657d1fd --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk20/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:trixie +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=20 +ARG K_JDK_FULL_VERSION=jdk-20.0.2 +ARG K_JDK_VERSION=20.0.2 +ARG K_JDK_BUILD_VERSION=9 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java20 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk20/Dockerfile.develop new file mode 100644 index 000000000..167f1b26c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk20/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:trixie-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=20 +ARG K_JDK_FULL_VERSION=jdk-20.0.2 +ARG K_JDK_VERSION=20.0.2 +ARG K_JDK_BUILD_VERSION=9 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java20 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk20/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk20/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/jdk/jdk20/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk20/docker-compose.yml new file mode 100644 index 000000000..71da88126 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk20/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-jdk20" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-jdk20" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk21/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk21/Dockerfile new file mode 100644 index 000000000..bfeec4f99 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk21/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:trixie +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=21 +ARG K_JDK_FULL_VERSION=jdk-21.0.3 +ARG K_JDK_VERSION=21.0.3 +ARG K_JDK_BUILD_VERSION=9 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java21 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk21/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk21/Dockerfile.develop new file mode 100644 index 000000000..a05f787aa --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk21/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:trixie-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=21 +ARG K_JDK_FULL_VERSION=jdk-21.0.3 +ARG K_JDK_VERSION=21.0.3 +ARG K_JDK_BUILD_VERSION=9 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java21 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk21/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk21/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/jdk/jdk21/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk21/docker-compose.yml new file mode 100644 index 000000000..bda7ddb2a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk21/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-jdk21" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-jdk21" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk22/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk22/Dockerfile new file mode 100644 index 000000000..599745342 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk22/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:trixie +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=22 +ARG K_JDK_FULL_VERSION=jdk-22.0.1 +ARG K_JDK_VERSION=22.0.1 +ARG K_JDK_BUILD_VERSION=8 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java21 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk22/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk22/Dockerfile.develop new file mode 100644 index 000000000..aacc825df --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk22/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:trixie-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=22 +ARG K_JDK_FULL_VERSION=jdk-22.0.1 +ARG K_JDK_VERSION=22.0.1 +ARG K_JDK_BUILD_VERSION=8 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java21 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk22/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk22/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/jdk/jdk22/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk22/docker-compose.yml new file mode 100644 index 000000000..ee642071a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk22/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-jdk22" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-jdk22" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk6/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk6/Dockerfile new file mode 100644 index 000000000..6390e4005 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk6/Dockerfile @@ -0,0 +1,93 @@ +FROM epicmorg/debian:trixie +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_VERSION=6.22.0.3 +ARG K_JDK_BUILD_VERSION=6.0.119 +ARG K_JDK_URL=http://cdn.azul.com/zulu/bin/zulu${K_JDK_VERSION}-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz +ARG K_JDK_TEMP=/tmp/zulu${K_JDK_VERSION}-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz + +ENV JAVA_HOME=/usr/local/zulu${K_JDK_VERSION}-jdk${K_JDK_BUILD_VERSION}-linux_x64 +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java6 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf /tmp/zulu${K_JDK_VERSION}-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.8 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/usr/local/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/usr/local/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +#ENV KTC_VERSION=2.0.0 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +#ENV KTC_ROOT=/usr/local/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} + +#ADD ${MAVEN_LINK} /tmp +#RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v + +################################################################## +# GRADLE +################################################################## +#ADD ${GRADLE_LINK} /tmp +#RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +#ADD ${KTC_LINK} /tmp +#RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +#ADD ${KNPL_LINK} /tmp +#RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +#RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk6/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk6/Dockerfile.develop new file mode 100644 index 000000000..173d409c7 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk6/Dockerfile.develop @@ -0,0 +1,91 @@ +FROM epicmorg/debian:trixie-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_VERSION=6.22.0.3 +ARG K_JDK_BUILD_VERSION=6.0.119 +ARG K_JDK_URL=http://cdn.azul.com/zulu/bin/zulu${K_JDK_VERSION}-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz +ARG K_JDK_TEMP=/tmp/zulu${K_JDK_VERSION}-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz + +ENV JAVA_HOME=/usr/local/zulu${K_JDK_VERSION}-jdk${K_JDK_BUILD_VERSION}-linux_x64 +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java6 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf /tmp/zulu${K_JDK_VERSION}-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.8 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/usr/local/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/usr/local/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +#ENV KTC_VERSION=2.0.0 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +#ENV KTC_ROOT=/usr/local/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} + +#ADD ${MAVEN_LINK} /tmp +#RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v + +################################################################## +# GRADLE +################################################################## +#ADD ${GRADLE_LINK} /tmp +#RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +#ADD ${KTC_LINK} /tmp +#RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +#ADD ${KNPL_LINK} /tmp +#RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +#RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk6/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/jdk/jdk6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk6/docker-compose.yml new file mode 100644 index 000000000..4bd673679 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk6/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-jdk6" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-jdk6" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk7/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk7/Dockerfile new file mode 100644 index 000000000..50b597725 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk7/Dockerfile @@ -0,0 +1,93 @@ +FROM epicmorg/debian:trixie +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_VERSION=7.56.0.11 +ARG K_JDK_BUILD_VERSION=7.0.352 +ARG K_JDK_URL=http://cdn.azul.com/zulu/bin/zulu${K_JDK_VERSION}-ca-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz +ARG K_JDK_TEMP=/tmp/zulu${K_JDK_VERSION}-ca-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz + +ENV JAVA_HOME=/usr/local/zulu${K_JDK_VERSION}-ca-jdk${K_JDK_BUILD_VERSION}-linux_x64 +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java7 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.8 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/usr/local/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/usr/local/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +#ENV KTC_VERSION=2.0.0 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +#ENV KTC_ROOT=/usr/local/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} + +#ADD ${MAVEN_LINK} /tmp +#RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v + +################################################################## +# GRADLE +################################################################## +#ADD ${GRADLE_LINK} /tmp +#RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +#ADD ${KTC_LINK} /tmp +#RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +#ADD ${KNPL_LINK} /tmp +#RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +#RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk7/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk7/Dockerfile.develop new file mode 100644 index 000000000..f19c4e518 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk7/Dockerfile.develop @@ -0,0 +1,91 @@ +FROM epicmorg/debian:trixie-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_VERSION=7.56.0.11 +ARG K_JDK_BUILD_VERSION=7.0.352 +ARG K_JDK_URL=http://cdn.azul.com/zulu/bin/zulu${K_JDK_VERSION}-ca-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz +ARG K_JDK_TEMP=/tmp/zulu${K_JDK_VERSION}-ca-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz + +ENV JAVA_HOME=/usr/local/zulu${K_JDK_VERSION}-ca-jdk${K_JDK_BUILD_VERSION}-linux_x64 +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java7 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.8 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/usr/local/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/usr/local/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +#ENV KTC_VERSION=2.0.0 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +#ENV KTC_ROOT=/usr/local/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} + +#ADD ${MAVEN_LINK} /tmp +#RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v + +################################################################## +# GRADLE +################################################################## +#ADD ${GRADLE_LINK} /tmp +#RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +#ADD ${KTC_LINK} /tmp +#RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +#ADD ${KNPL_LINK} /tmp +#RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +#RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk7/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/jdk/jdk7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk7/docker-compose.yml new file mode 100644 index 000000000..56366ac4c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk7/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-jdk7" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-jdk7" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk8/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk8/Dockerfile new file mode 100644 index 000000000..a78b1bcc9 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk8/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:trixie +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=8 +ARG K_JDK_FULL_VERSION=jdk8u412 +ARG K_JDK_VERSION=8u412 +ARG K_JDK_BUILD_VERSION=b08 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}-${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}-${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java8 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk8/Dockerfile.develop new file mode 100644 index 000000000..24c3be7ef --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk8/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:trixie-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=8 +ARG K_JDK_FULL_VERSION=jdk8u412 +ARG K_JDK_VERSION=8u412 +ARG K_JDK_BUILD_VERSION=b08 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}-${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}-${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java8 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/13-trixie/jdk/jdk8/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk8/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/jdk/jdk8/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk8/docker-compose.yml new file mode 100644 index 000000000..060b4c10a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/jdk/jdk8/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-jdk8" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-jdk8" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/main/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/main/Dockerfile new file mode 100644 index 000000000..93d993e10 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/main/Dockerfile @@ -0,0 +1,346 @@ +FROM epicmorg/debian:trixie-slim +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +RUN echo "Default folder for installation of customized soft is: ${EMG_LOCAL_BASE_DIR}" + +ARG P4_VERSION=r23.2 +ARG P4_BIN_DIR=${EMG_LOCAL_BASE_DIR}/p4/${P4_VERSION}/bin +ARG P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 + +ARG SZ_VERSION=7z2407 +ARG SZ_BIN_DIR=${EMG_LOCAL_BASE_DIR}/7z/${SZ_VERSION}/bin +ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz +ARG SZ_TEMP=/tmp/${SZ_VERSION}-linux-x64.tar.xz + +ARG LAZYGIT_VERSION=0.42.0 +ARG LAZYGIT_BIN_DIR=${EMG_LOCAL_BASE_DIR}/lazygit/${LAZYGIT_VERSION}/bin +ARG LAZYGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz +ARG LAZYGIT_TEMP=/tmp/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz + +ARG LAZYCLI_VERSION=0.1.15 +ARG LAZYCLI_BIN_DIR=${EMG_LOCAL_BASE_DIR}/lazycli/${LAZYCLI_VERSION}/bin +ARG LAZYCLI_DOWNLOAD_URL=https://github.com/jesseduffield/lazycli/releases/download/v${LAZYCLI_VERSION}/lazycli-linux-x64.tar.gz +ARG LAZYCLI_TEMP=/tmp/lazycli-linux-x64.tar.gz + +ARG LAZYNPM_VERSION=0.1.4 +ARG LAZYNPM_BIN_DIR=${EMG_LOCAL_BASE_DIR}/lazynpm/${LAZYNPM_VERSION}/bin +ARG LAZYNPM_DOWNLOAD_URL=https://github.com/jesseduffield/lazynpm/releases/download/v${LAZYNPM_VERSION}/lazynpm_${LAZYNPM_VERSION}_Linux_x86_64.tar.gz +ARG LAZYNPM_TEMP=/tmp/lazynpm_${LAZYNPM_VERSION}_Linux_x86_64.tar.gz + +ARG LAZYDOCKER_VERSION=0.23.3 +ARG LAZYDOCKER_BIN_DIR=${EMG_LOCAL_BASE_DIR}/lazydocker/${LAZYDOCKER_VERSION}/bin +ARG LAZYDOCKER_DOWNLOAD_URL=https://github.com/jesseduffield/lazydocker/releases/download/v${LAZYDOCKER_VERSION}/lazydocker_${LAZYDOCKER_VERSION}_Linux_x86_64.tar.gz +ARG LAZYDOCKER_TEMP=/tmp/lazydocker_${LAZYDOCKER_VERSION}_Linux_x86_64.tar.gz + +ARG DUMB_INIT_VERSION=1.2.5 +ARG DUMB_INIT_BIN_DIR=${EMG_LOCAL_BASE_DIR}/dumb-init/${DUMB_INIT_VERSION}/bin +ARG DUMB_INIT_DOWNLOAD_URL=https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 + +ARG GOSU_VERSION=1.17 +ARG GOSU_BIN_DIR=${EMG_LOCAL_BASE_DIR}/gosu/${GOSU_VERSION}/bin +ARG GOSU_DOWNLOAD_URL=https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-amd64 + +################################################################## +# update lists +################################################################## +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get update + +################################################################## +# installing utils +################################################################## +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + bzip2 \ + cmatrix \ + cmatrix-xfont \ + cron \ + curl \ + clzip \ + dos2unix \ + ffmpeg \ + fontconfig \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp \ + gnupg \ + gnupg2 \ + graphicsmagick \ + gzip \ + htop \ + iftop \ + iotop \ + iperf \ + iperf3 \ + iputils-ping \ + jq \ + kmod \ + libxml2-dev \ + libxml2-utils \ +# lbzip2 \ + libsvn-java \ + locales \ + lsb-release \ + lsof \ + lynx \ + lzma \ + lzip \ + lzop \ + mc \ + mercurial \ + nano \ + nload \ + nmap \ + openssl \ + perl \ + procps \ + pbzip2 \ + plzip \ + p7zip-full \ + p7zip-rar \ + rsync \ + rar \ + screenfetch \ + smbclient \ + subversion \ + telnet \ + tmux \ + tree \ + util-linux \ + uuid-runtime \ + unrar \ + xz-utils \ + wget \ + zip \ + tini \ +# libzip4 \ + acl \ + aptitude \ + sudo \ + cvs \ + python3-pip \ + python3-all \ + rclone \ + logrotate \ + subversion-tools \ + pev + +################################################################## +# installing fs-tools +################################################################## +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + btrfs-progs \ + e2fsprogs \ + f2fs-tools \ + dosfstools \ +# hfsutils \ + hfsprogs \ + jfsutils \ + mdadm \ + util-linux \ + cryptsetup \ + lvm2 \ + nilfs-tools \ + ntfs-3g \ + reiser4progs \ + reiserfsprogs \ + udftools \ + xfsprogs \ + xfsdump + +################################################################## +# git fresh binary +################################################################## +RUN gpg --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ + gpg --export --output /etc/apt/keyrings/launchpad-git.gpg A1715D88E1DF1F24 && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list +COPY etc/apt/sources.list.d/launchpad_git-mainline.list /etc/apt/sources.list.d/launchpad_git-mainline.list +COPY etc/apt/sources.list.d/launchpad_git-stable.list /etc/apt/sources.list.d/launchpad_git-stable.list +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo "=============================================" + +################################################################## +# git-lfs official binary +################################################################## +RUN curl -fsSL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list +COPY etc/apt/sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-lfs && \ + git-lfs install --skip-repo + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# gh official binary +################################################################## +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ + apt-get update && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + gh + +RUN echo "=============================================" && \ + echo gh $(gh --version) && \ + echo "=============================================" + +################################################################## +# Install p4client +################################################################## +RUN mkdir -p ${P4_BIN_DIR} +ADD ${P4_DOWNLOAD_URL} ${P4_BIN_DIR} +RUN chmod +x ${P4_BIN_DIR}/p4 +ENV PATH="${P4_BIN_DIR}:${PATH}" + +################################################################## +# Install 7z official binary +################################################################## +RUN mkdir -p ${SZ_BIN_DIR} +ADD ${SZ_DOWNLOAD_URL} /tmp + +RUN tar -xf ${SZ_TEMP} --directory ${SZ_BIN_DIR} && \ + chmod +x ${SZ_BIN_DIR}/7zz && \ + chmod +x ${SZ_BIN_DIR}/7zzs && \ + find ${SZ_BIN_DIR} -maxdepth 1 -mindepth 1 ! -name '7zz' ! -name '7zzs' -exec mv {} ${SZ_BIN_DIR}/.. \; + +ENV PATH="${SZ_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo 7zz $(7zz | head -4) && \ + echo 7z $(7z | head -4) && \ + echo "=============================================" + +################################################################## +# Install LazyGit official binary +################################################################## +RUN mkdir -p ${LAZYGIT_BIN_DIR} +ADD ${LAZYGIT_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LAZYGIT_TEMP} --directory ${LAZYGIT_BIN_DIR} && \ + chmod +x ${LAZYGIT_BIN_DIR}/lazygit && \ + find ${LAZYGIT_BIN_DIR} -maxdepth 1 -mindepth 1 ! -name 'lazygit' -exec mv {} ${LAZYGIT_BIN_DIR}/.. \; + +ENV PATH="${LAZYGIT_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo lazygit $(lazygit --version) && \ + echo "=============================================" + +################################################################## +# Install LazyCLI official binary +################################################################## +RUN mkdir -p ${LAZYCLI_BIN_DIR} +ADD ${LAZYCLI_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LAZYCLI_TEMP} --directory ${LAZYCLI_BIN_DIR} && \ + chmod +x ${LAZYCLI_BIN_DIR}/lazycli && \ + find ${LAZYCLI_BIN_DIR} -maxdepth 1 -mindepth 1 ! -name 'lazycli' -exec mv {} ${LAZYCLI_BIN_DIR}/.. \; + +ENV PATH="${LAZYCLI_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo lazycli $(lazycli --version) && \ + echo "=============================================" + +################################################################## +# Install LazyNPM official binary +################################################################## +RUN mkdir -p ${LAZYNPM_BIN_DIR} +ADD ${LAZYNPM_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LAZYNPM_TEMP} --directory ${LAZYNPM_BIN_DIR} && \ + chmod +x ${LAZYNPM_BIN_DIR}/lazynpm && \ + find ${LAZYNPM_BIN_DIR} -maxdepth 1 -mindepth 1 ! -name 'lazynpm' -exec mv {} ${LAZYNPM_BIN_DIR}/.. \; + +ENV PATH="${LAZYNPM_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo lazynpm $(lazynpm --version) && \ + echo "=============================================" + +################################################################## +# Install LazyDocker official binary +################################################################## +RUN mkdir -p ${LAZYDOCKER_BIN_DIR} +ADD ${LAZYDOCKER_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LAZYDOCKER_TEMP} --directory ${LAZYDOCKER_BIN_DIR} && \ + chmod +x -R ${LAZYDOCKER_BIN_DIR}/lazydocker && \ + find ${LAZYDOCKER_BIN_DIR} -maxdepth 1 -mindepth 1 ! -name 'lazydocker' -exec mv {} ${LAZYDOCKER_BIN_DIR}/.. \; + +ENV PATH="${LAZYDOCKER_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo lazydocker $(lazydocker --version) && \ + echo "=============================================" + +################################################################## +# dumb init +################################################################## +RUN mkdir -p ${DUMB_INIT_BIN_DIR} +ADD ${DUMB_INIT_DOWNLOAD_URL} ${DUMB_INIT_BIN_DIR} + +RUN mv -fv ${DUMB_INIT_BIN_DIR}/dumb-init_${DUMB_INIT_VERSION}_x86_64 ${DUMB_INIT_BIN_DIR}/dumb-init && \ + chmod +x ${DUMB_INIT_BIN_DIR}/dumb-init + +ENV PATH="${DUMB_INIT_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo dumb-init $(dumb-init --version) && \ + echo "=============================================" + +################################################################## +# gosu for easy step-down from root +################################################################## +RUN mkdir -p ${GOSU_BIN_DIR} +ADD ${GOSU_DOWNLOAD_URL} ${GOSU_BIN_DIR} + +RUN mv -fv ${GOSU_BIN_DIR}/gosu-amd64 ${GOSU_BIN_DIR}/gosu && \ + chmod +x -R ${GOSU_BIN_DIR}/gosu + +ENV PATH="${GOSU_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo gosu $(gosu --version) && \ + echo "=============================================" + +################################################################## +# Generate ssl key +################################################################## +RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 + +################################################################## +# 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/13-trixie/main/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/main/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/main/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/13-trixie/main/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/main/docker-compose.yml new file mode 100644 index 000000000..ad1f42f8e --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/main/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/main/etc/apt/sources.list.d/github_git-lfs.list b/linux/ecosystem/epicmorg/debian/13-trixie/main/etc/apt/sources.list.d/github_git-lfs.list new file mode 100644 index 000000000..3e472861e --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/main/etc/apt/sources.list.d/github_git-lfs.list @@ -0,0 +1,2 @@ +deb [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ trixie main +deb-src [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ trixie main diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/main/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/ecosystem/epicmorg/debian/13-trixie/main/etc/apt/sources.list.d/launchpad_git-mainline.list new file mode 100644 index 000000000..e9602c33a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/main/etc/apt/sources.list.d/launchpad_git-mainline.list @@ -0,0 +1,5 @@ +# mainline +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu noble main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu noble main + + diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/main/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/ecosystem/epicmorg/debian/13-trixie/main/etc/apt/sources.list.d/launchpad_git-stable.list new file mode 100644 index 000000000..a12ae44f4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/main/etc/apt/sources.list.d/launchpad_git-stable.list @@ -0,0 +1,3 @@ +# stable +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu noble main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu noble main diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Dockerfile new file mode 100644 index 000000000..654faba0a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/current/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Dockerfile.develop new file mode 100644 index 000000000..ac7dfb993 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie-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/13-trixie/nodejs/current/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/current/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/current/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/docker-compose.yml new file mode 100644 index 000000000..84fbd4285 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/current/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs-current" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs-current" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Dockerfile new file mode 100644 index 000000000..0affa2b2f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/lts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Dockerfile.develop new file mode 100644 index 000000000..c14229f94 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie-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/13-trixie/nodejs/lts/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/lts/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/lts/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/docker-compose.yml new file mode 100644 index 000000000..64e95e0ba --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/lts/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs-lts" + build: + context: . + app-develop: + image: "epicmorg/debian:trixieevelop-nodejs-lts" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node0.12/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node0.12/Dockerfile new file mode 100644 index 000000000..260d69d8c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node0.12/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node0.12/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node0.12/Dockerfile.develop new file mode 100644 index 000000000..ef554d358 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node0.12/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie-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/13-trixie/nodejs/node0.12/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node0.12/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node0.12/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node0.12/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node0.12/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node0.12/docker-compose.yml new file mode 100644 index 000000000..e252a8e72 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node0.12/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs0.12" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs0.12" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node10/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node10/Dockerfile new file mode 100644 index 000000000..85114e41a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node10/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node10/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node10/Dockerfile.develop new file mode 100644 index 000000000..14dd403ef --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node10/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie-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/13-trixie/nodejs/node10/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node10/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node10/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node10/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node10/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node10/docker-compose.yml new file mode 100644 index 000000000..88e46e552 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node10/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs10" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs10" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node11/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node11/Dockerfile new file mode 100644 index 000000000..ecfe51111 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node11/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node11/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node11/Dockerfile.develop new file mode 100644 index 000000000..52651dfe3 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node11/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixieevelop +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/13-trixie/nodejs/node11/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node11/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node11/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node11/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node11/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node11/docker-compose.yml new file mode 100644 index 000000000..8ea119da0 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node11/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs11" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs11" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node12/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node12/Dockerfile new file mode 100644 index 000000000..faa437ee1 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node12/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node12/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node12/Dockerfile.develop new file mode 100644 index 000000000..3cee1dded --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node12/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixieevelop +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/13-trixie/nodejs/node12/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node12/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node12/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node12/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node12/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node12/docker-compose.yml new file mode 100644 index 000000000..7b82e18ee --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node12/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs12" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs12" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node13/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node13/Dockerfile new file mode 100644 index 000000000..10e7a5848 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node13/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node13/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node13/Dockerfile.develop new file mode 100644 index 000000000..6bd6e1581 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node13/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie-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/13-trixie/nodejs/node13/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node13/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node13/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node13/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node13/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node13/docker-compose.yml new file mode 100644 index 000000000..46040e96d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node13/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs13" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs13" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node14/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node14/Dockerfile new file mode 100644 index 000000000..05485a8cf --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node14/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node14/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node14/Dockerfile.develop new file mode 100644 index 000000000..f91064fd8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node14/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie-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/13-trixie/nodejs/node14/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node14/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node14/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node14/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node14/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node14/docker-compose.yml new file mode 100644 index 000000000..c7c600a08 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node14/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs14" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs14" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node15/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node15/Dockerfile new file mode 100644 index 000000000..740d6f834 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node15/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node15/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node15/Dockerfile.develop new file mode 100644 index 000000000..dacb1b282 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node15/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:trixie-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/13-trixie/nodejs/node15/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node15/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node15/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node15/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node15/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node15/docker-compose.yml new file mode 100644 index 000000000..0fd190a0b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node15/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs15" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs15" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node16/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node16/Dockerfile new file mode 100644 index 000000000..6c697fbf6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node16/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node16/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node16/Dockerfile.develop new file mode 100644 index 000000000..4e0be7d53 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node16/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:trixie-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/13-trixie/nodejs/node16/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node16/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node16/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node16/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node16/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node16/docker-compose.yml new file mode 100644 index 000000000..c4cb4d944 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node16/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs16" + build: + context: . + app-develop: + image: "epicmorg/debian:trixieevelop-nodejs16" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node17/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node17/Dockerfile new file mode 100644 index 000000000..1da69b5fa --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node17/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node17/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node17/Dockerfile.develop new file mode 100644 index 000000000..e7268430f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node17/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:trixie-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/13-trixie/nodejs/node17/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node17/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node17/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node17/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node17/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node17/docker-compose.yml new file mode 100644 index 000000000..c2017bf47 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node17/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs17" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs17" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node18/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node18/Dockerfile new file mode 100644 index 000000000..4c59a6f65 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node18/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node18/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node18/Dockerfile.develop new file mode 100644 index 000000000..4c59a6f65 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node18/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node18/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node18/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node18/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node18/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node18/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node18/docker-compose.yml new file mode 100644 index 000000000..7140b7b9a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node18/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixieodejs18" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs18" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node19/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node19/Dockerfile new file mode 100644 index 000000000..f632771fb --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node19/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node19/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node19/Dockerfile.develop new file mode 100644 index 000000000..2416ae663 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node19/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixieop +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/13-trixie/nodejs/node19/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node19/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node19/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node19/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node19/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node19/docker-compose.yml new file mode 100644 index 000000000..d2d072516 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node19/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs19" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs19" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Dockerfile new file mode 100644 index 000000000..0affa2b2f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Dockerfile.develop new file mode 100644 index 000000000..c14229f94 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie-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/13-trixie/nodejs/node20/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node20/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node20/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/docker-compose.yml new file mode 100644 index 000000000..9c8444b0b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node20/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs20" + build: + context: . + app-develop: + image: "epicmorg/debian:trixieop-nodejs20" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node21/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node21/Dockerfile new file mode 100644 index 000000000..dd7cbcd66 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node21/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node21/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node21/Dockerfile.develop new file mode 100644 index 000000000..4ac6e08f4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node21/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixieop +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/13-trixie/nodejs/node21/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node21/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node21/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node21/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node21/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node21/docker-compose.yml new file mode 100644 index 000000000..f2dc1d1ed --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node21/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs21" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-nodejs21" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node22/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node22/Dockerfile new file mode 100644 index 000000000..654faba0a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node22/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node22/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node22/Dockerfile.develop new file mode 100644 index 000000000..cab725003 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node22/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixieevelop +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/13-trixie/nodejs/node22/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node22/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node22/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node22/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node22/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node22/docker-compose.yml new file mode 100644 index 000000000..7581b47a0 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node22/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs22" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs22" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node4/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node4/Dockerfile new file mode 100644 index 000000000..3e147e513 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node4/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node4/Dockerfile.develop new file mode 100644 index 000000000..941576ce3 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node4/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:trixie-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/13-trixie/nodejs/node4/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node4/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node4/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node4/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node4/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node4/docker-compose.yml new file mode 100644 index 000000000..c68a8937a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node4/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs4" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs4" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node5/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node5/Dockerfile new file mode 100644 index 000000000..173b817b2 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node5/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node5/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node5/Dockerfile.develop new file mode 100644 index 000000000..534c7b2fa --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node5/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:trixieelop +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/13-trixie/nodejs/node5/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node5/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node5/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node5/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node5/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node5/docker-compose.yml new file mode 100644 index 000000000..235ae41d1 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node5/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixies5" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs5" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node6/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node6/Dockerfile new file mode 100644 index 000000000..d4883caa0 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node6/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node6/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node6/Dockerfile.develop new file mode 100644 index 000000000..47c808562 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node6/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:trixie-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/13-trixie/nodejs/node6/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node6/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node6/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node6/docker-compose.yml new file mode 100644 index 000000000..440f69917 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node6/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs6" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs6" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node7/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node7/Dockerfile new file mode 100644 index 000000000..6e4e8da05 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node7/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node7/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node7/Dockerfile.develop new file mode 100644 index 000000000..80229bf15 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node7/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie-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/13-trixie/nodejs/node7/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node7/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node7/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node7/docker-compose.yml new file mode 100644 index 000000000..7077c6683 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node7/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs7" + build: + context: . + app-develop: + image: "epicmorg/debian:trixieelop-nodejs7" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8/Dockerfile new file mode 100644 index 000000000..b50ad0a0c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8/Dockerfile.develop new file mode 100644 index 000000000..df7e42dc6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie-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/13-trixie/nodejs/node8/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node8/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node8/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8/docker-compose.yml new file mode 100644 index 000000000..93b27ffdb --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node8/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs8" + build: + context: . + app-develop: + image: "epicmorg/debian:trixieevelop-nodejs8" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node9/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node9/Dockerfile new file mode 100644 index 000000000..f9b0a5b34 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node9/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie +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/13-trixie/nodejs/node9/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node9/Dockerfile.develop new file mode 100644 index 000000000..b9fed3dcf --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node9/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:trixie-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/13-trixie/nodejs/node9/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node9/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node9/README.md b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node9/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/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/13-trixie/nodejs/node9/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node9/docker-compose.yml new file mode 100644 index 000000000..c3a00ec62 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/nodejs/node9/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-nodejs9" + build: + context: . + app-develop: + image: "epicmorg/debian:trixie-develop-nodejs9" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/slim/Dockerfile b/linux/ecosystem/epicmorg/debian/13-trixie/slim/Dockerfile new file mode 100644 index 000000000..da413ea1a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/slim/Dockerfile @@ -0,0 +1,101 @@ +FROM debian:trixie-slim +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +LABEL org.opencontainers.image.vendor="EpicMorg DevTeam, developer@epicm.org" +LABEL org.opencontainers.image.authors="STAM, kasthack, Aleks-Z" +LABEL org.opencontainers.image.source="https://github.com/EpicMorg/docker" +LABEL org.opencontainers.image.url="https://github.com/EpicMorg/docker" +LABEL donate.crypto.TON="EQDvHXRK-K1ZieJhgTD9JZQk7xCnWzRbctYnUkWq1lZq1bUg" +LABEL donate.crypto.ETH="0x26a8443a694f08cdfec966aa6fd72c45068753ec" +LABEL donate.crypto.BTC="bc1querz8ug9asjmsuy6yn4a94a2athgprnu7e5zq2" +LABEL donate.crypto.LTC="ltc1qtwwacq8f0n76fer2y83wxu540hddnmf8cdrlvg" +LABEL donate.crypto.NVC="4SbMynYETyhmKdggu8f38ULU6yQKiJPuo6" +LABEL donate.crypto.DOGE="DHyfE1CZzWtyaQiaMmv6g4KvXVQRUgrYE6" +LABEL donate.crypto.PPC="pQWArPzYoLppNe7ew3QPfto1k1eq66BYUB" +LABEL donate.crypto.RVN="R9t2LKeLhDSZBKNgUzSDZAossA3UqNvbV3" +LABEL donate.crypto.ZEC="t1KRMMmwMSZth8vJcd2ZHtPEFKTQ74yVixE" +LABEL donate.crypto.XMR="884PqZ1gDjWW7fKxtbaeRoBeSh9EGZbkqUyLriWmuKbwLZrAJdYUs4wQxoVfEJoW7LBhdQMP9cFhZQpJr6xvg7esHLdCbb1" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# prepare system +################################################################## +RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done +RUN mkdir -p /etc/apt/keyrings + +################################################################## +# sources list +################################################################## +RUN rm -rfv /etc/apt/sources.list +RUN rm -rfv /etc/apt/sources.list.d/debian.sources +RUN rm -rfv /etc/locale.gen + +COPY etc/apt/keyrings/deb-multimedia-keyring.gpg /etc/apt/keyrings/deb-multimedia-keyring.gpg +COPY etc/apt/apt.conf.d/99-no-check-valid-until /etc/apt/apt.conf.d/99-no-check-valid-until +COPY etc/apt/apt.conf.d/98-allow-unauthenticated /etc/apt/apt.conf.d/98-allow-unauthenticated +COPY etc/apt/apt.conf.d/97-allow-cert-exp /etc/apt/apt.conf.d/97-allow-cert-exp +COPY etc/apt/apt.conf.d/96-apt-retries /etc/apt/apt.conf.d/96-apt-retries +COPY etc/apt/sources.list /etc/apt/sources.list +COPY etc/locale.gen /etc/locale.gen +COPY usr/local/share/ca-certificates /usr/local/share/ca-certificates + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get dist-upgrade -y + +################################################################## +# installing utils +################################################################## +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + apt-transport-https \ + apt-utils \ + gnupg \ + gnupg1 \ + gnupg2 \ + aptitude \ + bash \ + binutils \ + ca-certificates \ + locales \ + software-properties-common \ + curl \ + wget \ + locate \ + sudo + +RUN apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys +RUN apt-key list | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | xargs -n1 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys + +RUN update-ca-certificates --fresh + +################################################################## +# update locales +################################################################## +RUN locale-gen + +################################################################## +# Create Base directory for various soft +################################################################## +ENV EMG_LOCAL_BASE_DIR=/usr/local/share/epicmorg +RUN mkdir -p ${EMG_LOCAL_BASE_DIR} +COPY usr/local/epicmorg ${EMG_LOCAL_BASE_DIR} + +################################################################## +# Set default workdir +################################################################## +WORKDIR ${EMG_LOCAL_BASE_DIR} + +################################################################## +# 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 + +################################################################## +# update file db +################################################################## +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/slim/Makefile b/linux/ecosystem/epicmorg/debian/13-trixie/slim/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/slim/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/13-trixie/slim/docker-compose.yml b/linux/ecosystem/epicmorg/debian/13-trixie/slim/docker-compose.yml new file mode 100644 index 000000000..fdf5188a2 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/slim/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:trixie-slim" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/apt.conf.d/96-apt-retries b/linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/apt.conf.d/96-apt-retries new file mode 100644 index 000000000..73262ccc3 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/apt.conf.d/96-apt-retries @@ -0,0 +1 @@ +Acquire::Retries "9"; diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/apt.conf.d/97-allow-cert-exp new file mode 100644 index 000000000..e7ec46810 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/apt.conf.d/97-allow-cert-exp @@ -0,0 +1,2 @@ +Acquire::https::Verify-Peer "false"; +Acquire::https::Verify-Host "false"; diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/apt.conf.d/98-allow-unauthenticated new file mode 100644 index 000000000..b36cd01c8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/apt.conf.d/98-allow-unauthenticated @@ -0,0 +1 @@ +APT::Get::AllowUnauthenticated "true"; diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/apt.conf.d/99-no-check-valid-until b/linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/apt.conf.d/99-no-check-valid-until new file mode 100644 index 000000000..4e6d9209d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/apt.conf.d/99-no-check-valid-until @@ -0,0 +1 @@ +Acquire::Check-Valid-Until no; diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/keyrings/deb-multimedia-keyring.gpg b/linux/ecosystem/epicmorg/debian/13-trixie/slim/etc/apt/keyrings/deb-multimedia-keyring.gpg new file mode 100644 index 0000000000000000000000000000000000000000..a4f2b1006e8a1c556adb8801ed5ac01fc4124d96 GIT binary patch literal 7607 zcma)>RZtz;wrv*+cM0z9Zh_$L?gR<$?(PJK;I6?I?(PuW-Q6WXa9O;)&$+kWe&^%V z`YJ9cov(3>nfXGm4*fX^dXn=bkQsMB{lDKAigCaascMFgYGc@7j z#e#?THo2dU=HOE@uw&T3m9mq$bGOLT-Wd3GR!1cGb`pT#Y8<+zOnzL5!ga@4(m(h) zJjLz}o%r+uw<V;bV&7%M)n5%-)uO#14}KKSH_^owTvFQ~%l<#E0Qr znWHWqot*l;w&XMs8*u}>OE+%`^4@vHq~(#2D*h02jx$eq(eHOBwFG9gxyaxSi|>lB z#jCTmF<)m*$?socm%1Y~;rnXwK{zwhY3@7dGf#FC-IXn8!5e1GMGehRDx^n^=Vi`B zStg0?L|vKIU5~)fiVP9}Is^cskygyo*~-P$%E+En!N}Rl*4D_Cl;7@uPQs>U#(&)~ zJ2+biMgqS;eS&}kPyz`cp%LNXU?HKg5a8hup|OFG5C9-C1P~_>8mNXnR}aL403g7l z=>^6xm}vyzcs8Sc*y>aCb&HqCtBV{bL%ux5aIUR}QH;Ew@a>49@QSIFq!yGWUjK@z zv%kT|%4w00p!5qs(;(ydIH#Z2D=`T9x^MlIo*@@|(O_J4d&i@L1w{0p+BbL>Bj@^(qGl;iPmtm4!X3 zU2L0fCxqyp16j{Vg-YICOIrA;z`fxjs==|CCdWB4rk)(d<%9_4`fUZt$3&~W^X{po z#iBlX+H34lXv2*13I8iBAf=OWx=C(y(@(&|b|jT=H5|~t<7kXpu}xCcLC}0K zex3I*BO|S_;3XZ1G;=Glz!fkBVc6sL;J+;-;F68SMg_}NKQlATxf$2akL*o#A+X9L zRWi6qg?zO>t|}C>q=i0@hX3o#D4%pn!{OCwtjyud!t$_N-qfb`3&Tg*sAIqMWGU5t z8~zefXoMsb8af;R<}W~e#OD8|19n4GfJCGXmh2pmC)0dnvYf|_Us>@hl$VrH0M#h# z9*`#~Ln3k%T=M*^`;IM;O-21Z%dj;PNC<@n0sQx%?3}*`RrVgBX^iQ(dm^I&f?5LB zvQz~{8dM+5bJ~mMP$O*ul-~OM^orhz#1FJ_MCaeoZO-Sr8JY6{oVbFrM-2DNFkS?Kn@+X}&pH;~Cv_erev z-emrxpIH+(#WejcL=?w44ZBkH-Z{i4L5)3;=0MRU#6o!!;GT7A-6f?Rr05e$4NGrD zz!z@jd6nk(GLeA9Ad?E+pr@}?<7Hs5nfap+j;Da0oYe0=Xdw_HU)9| z;V52oUgM%MSoa&yjnuxC-9;rtHqi*Z+qIg0>NQ;q7j!LwxLL3BKk@KK_52%;0@3qI z9+qPgH+$3%v(AA(9Z!}6L4}n@5~=HJyhP}l!XKl1?(wG*IqT|h3Q0<0gg+>XLe??Q zb3H;gFGkfgZ2MDHN$~=ITy4>gmlK&Sl#RG1%A5J0mTc)d+^xQY4uWapefT13ompkm28gFO%sLm)^${MkdhPT7V38Pn~2C6VlsmCK^W@P!C zdz%;k`lM{Nnz@aC9OM`sF*+(|Vglk84}c3QyL(BVG=bT<8-~bljjS1xo)aPHdV(S+ z{b~|_>{fzaI`=loJRMGhl?9_Or-=HPw*+?!3laS}#Gfr<;wTQ&MOu{mnfN#ctWf~Y z9X!zOVYxa$9Z}5J&MAxtiVr3{D#tjn~Wdk}0j%|Jig@7J^>ir_C@ z>Z4Wbj(v!ShKD^#*}LTeW{LFtrrq%Cft4tR!&f})!l%M7INXbc*n^l^Rx>$X1b+fo zUL2K7x`HUyj=XVSA{k~889Z=C!KQ{{GeI@C#F%kaO1M#Uy*3ET&=YM0qJ<8oo_L;H zT^zIh9+dc-jSFvoyn$=g2-LUAh2Uji`z&hn*{<}=<@6FTmPhXd_L_~^Mtc#jd{~m@ z!_I>bq2*vHj-A4HoU}t?4|7qf8hWKnCHr!+9pFVS)?(@T&3*5sOy^w>Y)~WRgQT?k z^p6w@sqp%n4kcoE*y_$>60ZnAo{z?(_lNj1?}}J?e<0>t02!PIF(8+cmw7K_q0}eP zA%W)Er`A(fMV53)&TI`26pq$^}Z1Awro7I+92Z846%=U_{}!(;+SA2wn>+Wnkd3r~8FBs2!v#%o-PYuKr`IsdnzM5+!1+x3*}a3? zv_e$=+kA#e;F;!m&SHQdi{PEgtGFFf#In;PGh4ckk`oLE)OAkF#@hB&j_!#hX{KZ! zzomLz9o(Ftgj=ZDET(;bF*cr7=CIgx%Bm>gTw55z*c_jhIDjYV1ik)MPVXc z!@ABxh;yxrT#Jioha0^mEc%d13i>%bpsj!mK3NpZIWNlzbXRec%z^}!_Fdl*gxvYw z9=%Go5U#w2P5gp|UU<&^W*P-g31tx$(x2Qo%b?eLBIHEz=WP)2Wr)jZE7L#AC+{k0 zkBgl83HAvU5)>OSA1ev{l3V;JeAP=*TdbTxd>>Y-@1vObiYu3G8nVfW>J)1laKOh7 z*Wa|Z-3j_3XtXZPCIb&As$5f$n8*&1GG`OQ?%3Ri)b~>HEzjz<1NrnONMSs9DpcGK zpkF{x_D9`Or;#E!ShW2&y{!zg1(QP{^LA}$EdzUD!r{7n04?VUF%35q5;LhHz zQ94Qtljt;R_R9|~hw`S zkf+?tx96Ml{bTZn&+{8VvNks=518g%Fk3nH!CUH^j)iTA^*fvX8SL)w9a zHqOj~_(<*oBEkA*8BRAB!r=8;i+&f3FCNHooT(zjo0)shoaQsb1!pomvg7VT>?08p z4d~?UX0glVOO8b<+}3X32+Y6=`KQ>5*6M3w<2O%J3dkNjw_8%;W48jxbH#AX3#g0) z`T0d}v?7)~BnH>-7U?Q5ZFHPBRVB|>9oE| zv)$7P4eIl`zM!h?bSTjM!0@a?NmcgHm|N~yRMv*~xqDNc2aY5PUP~#f?V||#V7I^z zctDCnmbSRBjgB|k6%`UYwRK78X+^ibA(@aVXMqJq`!cYnL|4pL()H>IW_%0x?mRI_ zw8n_aY{lfB>90)Tr@lVHeJm&&^SXtolzI>Q z%ZPQO|HR`zY>JQ`70gi-{a8BX)mA}X@uE%%HNwmz(@m>apznf~z3qt{BbaNm>Bn%Z z&KuL-kG?uTVoUaf+HCEf$TwW$sQ2aJf!z0n=Ez=xwi{+z;Lx&WGg?k35Uk>CDEf(;E}SnivdGIQ{KUkpuHQf3#jq0~b)Y)z8G>5nd}LNk@3 z6ize+#y9!kVPJeNYA8t>M&1immIMU+%TreC)4XuLX$Aomm6)EARb0_dpeRMBTduIT zM+;NbT~ry0*ro{6NS_*eZN3RrRcP97OVQE{9k1`@P6ntHHuVeXoOB?2z=>P#s>^qF zna4AO8xy~|;Um9LC}bA^{Zj$|pUq!s_LT#(#uuku*E>E4c;_94=vB3dypoz*t7@;d z4e5nbg4z;!j)&xGoB`gZ(T*{;gkiS_cd#9_bXt%bge|zXtbZiq(#t!?3&z@{H`QX_ zaF~wRk=M^>KfNppFV$I2G=b-`Gq3nMj@HVwGpdeJVs^RmL+Y zEY^?6jv1UL$6Zz0x`EoPLXyx+z^cpz=VG5iJh`&q^ZdabmLGc+r973UI9=|Xyxnzn z*Y7Z79A(5n!*D*O(AG0M$j7IHo4EhGpE>qe>5~4yN4to2BYScTq809oA&IKx%FV-+ zsYSd{seW|TM*((aaAVEhZW z%$mx1lhzlKhNBE-Xd?3|m95((C(|zIyK98O&i*e%)U{~y{L2x}C&x4lO%x7BwR+Ne z4lT)S`~;8WW!u-d)e6NuQzNC7A+*yYOj3RLJhMQG5RiIxjrKRGWRaQ%%HAHY7ya)d z^#^U5yK2es6EzM*yeT^w^_RFDXI=UBUvS)mrFK9T#k+LWtdl!S|dbSEeH_N*3mx>sz@3l>En%9=7 zv4L5acCh>>B(dW}t8 zPPyyT1)Y{lE2&*kQ-YH$Ui)9Ncf+%hi|Lllu5wj8L;abrg6Bdf0~)zbVA&0;t>QcL zyMCKAIpsiR>{9Xgm7X<1*@KjZyi^2cI$Ha+3f5`&^i= zjb>|2$c=V^W_C8X+=WCs7oP&o0>7twZ*N_NpPKWDW(_$k zyV!*2jN6k$XRCMOmz>Avg<)TKT*{*8d4}cw>8DW#Rb9H9_>m6`g-{|7)%6Tnmi3oh z3DQKiKI{|>)NKIsRv>?FzG=FfJWO096Glr+d}NY%N4 z8Iv&+@F*58?aoSxJf-xH6pF)${+o_8bgXFx973N{;YdWLHDXJ4&i_;ate zF#a<@E@SzlCBu1Yxn`z%yn0U_O(QF8NF(cimG-|Dp-gsewysuoW~Np~|FaPNzy996 zi1q*J@9w2&fClMl0okVUv*#PT)YSJ`MQYJ7_eG5WzL|g#p#I>mks)KzI(_TT zsv_;HEnZ>zm?Jiuutgo!?>#}04BGgsGO_DQ*6AcUs>H}OiBjgxFA2x;T$cq+cs2fp zIO_BWFibnmQ0NrDr9kZrSX84q(MPiqo-<$jvMGz|h#bmd6ZVIBS}?arSD@OKwV)z+ zM*<&NVyFD7qBj>lb<7Y*$8e%wXoCpOq?ePBzSEPs6$+T#-c{u7a{dy5rqrE;ABRNg zF%PEI^qa}HC^cSgvM&Nf3~9^yVbp=-d5Va*`L)hJqxiel#>SW4J~%6Su=g1wI;42G zyua);(T?NnXj>YYYu(7?CiqRVu=?yNVXnv6+n%OhxH*W7`@VW_H&h!xc4uaz1vt3P#w!$>$c-}=8L764p?`)%z_hkA?2;F+1@woX_!|l4FMGxAt zFG0-*wVkhFs55_&k{T@OmBk>%e+A)bqNBaW@xCix3pp|y%BK@nII-UYiAx15$52fb zq7+i+C~3P%bGYCuHYA)Bzd@PDW1`X*9;h>UL-_#JxeR690Lm~Dklmq%44uc5!5?9Q z_y`YdP~Am=WMCR|AQQ8xu@l%k9~}NHfE!ClOs{{y7L&)^@&|ptPwNa%vADJ-J0=rp z=iU~R`(so#Z#UsI?24FOW(e7*vAr%gn*E20FH9bWM7{ zItk6WHs<;38my@cX5!!lUfD37Y%i-lumoMBpnZ)3Ebmu%i;l2+&*$luB>*Peh-q64D;1K&?ok>kj3R=Bf^i-UCI;Lu7G%45-NCr=^FW`$Hj_IZ@*ENgbz8Fri*e*%sB$?Dt6PE;fjH=M&)Ze#C9 zF01qt8}?8li%>#`) will be added to `$PATH`. + +# Structure +pattern: `/usr/local/epicmorg///<..some data and files..>` + +example: +``` +/usr/local/epicmorg/ +|-- 7z +| `-- 7z2407 +| |-- History.txt +| |-- License.txt +| |-- MANUAL +| |-- bin +| `-- readme.txt +|-- dumb-init +| `-- 1.2.5 +| `-- bin +|-- gosu +| `-- 1.17 +| `-- bin +|-- lazycli +| `-- 0.1.15 +| `-- bin +|-- lazydocker +| `-- 0.23.3 +| |-- LICENSE +| |-- README.md +| `-- bin +|-- lazygit +| `-- 0.42.0 +| |-- LICENSE +| |-- README.md +| `-- bin +|-- lazynpm +| `-- 0.1.4 +| |-- LICENSE +| |-- README.md +| `-- bin +`-- p4 + `-- r23.2 + `-- bin +``` diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/slim/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt b/linux/ecosystem/epicmorg/debian/13-trixie/slim/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt new file mode 100644 index 000000000..4c143a21f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/slim/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt @@ -0,0 +1,33 @@ +-----BEGIN CERTIFICATE----- +MIIFwjCCA6qgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjIwMzAxMjEwNDE1WhcNMzIwMjI3MjEwNDE1WjBwMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMSAwHgYDVQQDDBdSdXNzaWFuIFRydXN0ZWQgUm9v +dCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMfFOZ8pUAL3+r2n +qqE0Zp52selXsKGFYoG0GM5bwz1bSFtCt+AZQMhkWQheI3poZAToYJu69pHLKS6Q +XBiwBC1cvzYmUYKMYZC7jE5YhEU2bSL0mX7NaMxMDmH2/NwuOVRj8OImVa5s1F4U +zn4Kv3PFlDBjjSjXKVY9kmjUBsXQrIHeaqmUIsPIlNWUnimXS0I0abExqkbdrXbX +YwCOXhOO2pDUx3ckmJlCMUGacUTnylyQW2VsJIyIGA8V0xzdaeUXg0VZ6ZmNUr5Y +Ber/EAOLPb8NYpsAhJe2mXjMB/J9HNsoFMBFJ0lLOT/+dQvjbdRZoOT8eqJpWnVD +U+QL/qEZnz57N88OWM3rabJkRNdU/Z7x5SFIM9FrqtN8xewsiBWBI0K6XFuOBOTD +4V08o4TzJ8+Ccq5XlCUW2L48pZNCYuBDfBh7FxkB7qDgGDiaftEkZZfApRg2E+M9 +G8wkNKTPLDc4wH0FDTijhgxR3Y4PiS1HL2Zhw7bD3CbslmEGgfnnZojNkJtcLeBH +BLa52/dSwNU4WWLubaYSiAmA9IUMX1/RpfpxOxd4Ykmhz97oFbUaDJFipIggx5sX +ePAlkTdWnv+RWBxlJwMQ25oEHmRguNYf4Zr/Rxr9cS93Y+mdXIZaBEE0KS2iLRqa +OiWBki9IMQU4phqPOBAaG7A+eP8PAgMBAAGjZjBkMB0GA1UdDgQWBBTh0YHlzlpf +BKrS6badZrHF+qwshzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qwshzAS +BgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF +AAOCAgEAALIY1wkilt/urfEVM5vKzr6utOeDWCUczmWX/RX4ljpRdgF+5fAIS4vH +tmXkqpSCOVeWUrJV9QvZn6L227ZwuE15cWi8DCDal3Ue90WgAJJZMfTshN4OI8cq +W9E4EG9wglbEtMnObHlms8F3CHmrw3k6KmUkWGoa+/ENmcVl68u/cMRl1JbW2bM+ +/3A+SAg2c6iPDlehczKx2oa95QW0SkPPWGuNA/CE8CpyANIhu9XFrj3RQ3EqeRcS +AQQod1RNuHpfETLU/A2gMmvn/w/sx7TB3W5BPs6rprOA37tutPq9u6FTZOcG1Oqj +C/B7yTqgI7rbyvox7DEXoX7rIiEqyNNUguTk/u3SZ4VXE2kmxdmSh3TQvybfbnXV +4JbCZVaqiZraqc7oZMnRoWrXRG3ztbnbes/9qhRGI7PqXqeKJBztxRTEVj8ONs1d +WN5szTwaPIvhkhO3CO5ErU2rVdUr89wKpNXbBODFKRtgxUT70YpmJ46VVaqdAhOZ +D9EUUn4YaeLaS8AjSF/h7UkjOibNc4qVDiPP+rkehFWM66PVnP1Msh93tc+taIfC +EYVMxjh8zNbFuoc7fzvvrFILLe7ifvEIUqSVIC/AzplM/Jxw7buXFeGP1qVCBEHq +391d/9RAfaZ12zkwFsl+IKwE/OZxW8AHa9i1p4GO0YSNuczzEm4= +-----END CERTIFICATE----- \ No newline at end of file diff --git a/linux/ecosystem/epicmorg/debian/13-trixie/slim/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt b/linux/ecosystem/epicmorg/debian/13-trixie/slim/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt new file mode 100644 index 000000000..2e3f8285d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/13-trixie/slim/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt @@ -0,0 +1,41 @@ +-----BEGIN CERTIFICATE----- +MIIHQjCCBSqgAwIBAgICEAIwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjIwMzAyMTEyNTE5WhcNMjcwMzA2MTEyNTE5WjBvMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMR8wHQYDVQQDDBZSdXNzaWFuIFRydXN0ZWQgU3Vi +IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9YPqBKOk19NFymrE +wehzrhBEgT2atLezpduB24mQ7CiOa/HVpFCDRZzdxqlh8drku408/tTmWzlNH/br +HuQhZ/miWKOf35lpKzjyBd6TPM23uAfJvEOQ2/dnKGGJbsUo1/udKSvxQwVHpVv3 +S80OlluKfhWPDEXQpgyFqIzPoxIQTLZ0deirZwMVHarZ5u8HqHetRuAtmO2ZDGQn +vVOJYAjls+Hiueq7Lj7Oce7CQsTwVZeP+XQx28PAaEZ3y6sQEt6rL06ddpSdoTMp +BnCqTbxW+eWMyjkIn6t9GBtUV45yB1EkHNnj2Ex4GwCiN9T84QQjKSr+8f0psGrZ +vPbCbQAwNFJjisLixnjlGPLKa5vOmNwIh/LAyUW5DjpkCx004LPDuqPpFsKXNKpa +L2Dm6uc0x4Jo5m+gUTVORB6hOSzWnWDj2GWfomLzzyjG81DRGFBpco/O93zecsIN +3SL2Ysjpq1zdoS01CMYxie//9zWvYwzI25/OZigtnpCIrcd2j1Y6dMUFQAzAtHE+ +qsXflSL8HIS+IJEFIQobLlYhHkoE3avgNx5jlu+OLYe0dF0Ykx1PGNjbwqvTX37R +Cn32NMjlotW2QcGEZhDKj+3urZizp5xdTPZitA+aEjZM/Ni71VOdiOP0igbw6asZ +2fxdozZ1TnSSYNYvNATwthNmZysCAwEAAaOCAeUwggHhMBIGA1UdEwEB/wQIMAYB +Af8CAQAwDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTR4XENCy2BTm6KSo9MI7NM +XqtpCzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qwshzCBxwYIKwYBBQUH +AQEEgbowgbcwOwYIKwYBBQUHMAKGL2h0dHA6Ly9yb3N0ZWxlY29tLnJ1L2NkcC9y +b290Y2Ffc3NsX3JzYTIwMjIuY3J0MDsGCCsGAQUFBzAChi9odHRwOi8vY29tcGFu +eS5ydC5ydS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNydDA7BggrBgEFBQcwAoYv +aHR0cDovL3JlZXN0ci1wa2kucnUvY2RwL3Jvb3RjYV9zc2xfcnNhMjAyMi5jcnQw +gbAGA1UdHwSBqDCBpTA1oDOgMYYvaHR0cDovL3Jvc3RlbGVjb20ucnUvY2RwL3Jv +b3RjYV9zc2xfcnNhMjAyMi5jcmwwNaAzoDGGL2h0dHA6Ly9jb21wYW55LnJ0LnJ1 +L2NkcC9yb290Y2Ffc3NsX3JzYTIwMjIuY3JsMDWgM6Axhi9odHRwOi8vcmVlc3Ry +LXBraS5ydS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNybDANBgkqhkiG9w0BAQsF +AAOCAgEARBVzZls79AdiSCpar15dA5Hr/rrT4WbrOfzlpI+xrLeRPrUG6eUWIW4v +Sui1yx3iqGLCjPcKb+HOTwoRMbI6ytP/ndp3TlYua2advYBEhSvjs+4vDZNwXr/D +anbwIWdurZmViQRBDFebpkvnIvru/RpWud/5r624Wp8voZMRtj/cm6aI9LtvBfT9 +cfzhOaexI/99c14dyiuk1+6QhdwKaCRTc1mdfNQmnfWNRbfWhWBlK3h4GGE9JK33 +Gk8ZS8DMrkdAh0xby4xAQ/mSWAfWrBmfzlOqGyoB1U47WTOeqNbWkkoAP2ys94+s +Jg4NTkiDVtXRF6nr6fYi0bSOvOFg0IQrMXO2Y8gyg9ARdPJwKtvWX8VPADCYMiWH +h4n8bZokIrImVKLDQKHY4jCsND2HHdJfnrdL2YJw1qFskNO4cSNmZydw0Wkgjv9k +F+KxqrDKlB8MZu2Hclph6v/CZ0fQ9YuE8/lsHZ0Qc2HyiSMnvjgK5fDc3TD4fa8F +E8gMNurM+kV8PT8LNIM+4Zs+LKEV8nqRWBaxkIVJGekkVKO8xDBOG/aN62AZKHOe +GcyIdu7yNMMRihGVZCYr8rYiJoKiOzDqOkPkLOPdhtVlgnhowzHDxMHND/E2WA5p +ZHuNM/m0TXt2wTTPL7JH2YC0gPz/BvvSzjksgzU5rLbRyUKQkgU= +-----END CERTIFICATE----- \ No newline at end of file diff --git a/linux/ecosystem/epicmorg/debian/sid/develop/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/develop/Dockerfile new file mode 100644 index 000000000..e4a17b486 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/develop/Dockerfile @@ -0,0 +1,1035 @@ +FROM epicmorg/debian:sid +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +# /etc/ld.so.conf.d/ +ARG LD_CONF_DIR=/etc/ld.so.conf.d/ + +# cmake compiller +ENV CMAKE_VERSION=3.30.2 +ENV CMAKE_DIR=${EMG_LOCAL_BASE_DIR}/cmake/${CMAKE_VERSION} +ARG CMAKE_BIN_DIR=${CMAKE_DIR}/bin +ARG CMAKE_DOWNLOAD_URL=https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-linux-x86_64.tar.gz +ARG CMAKE_TEMP=/tmp/cmake-${CMAKE_VERSION}-linux-x86_64.tar.gz + +# flutter source tarball +ENV FLUTTER_VERSION=3.22.3 +ENV FLUTTER_CHANNEL=stable +ENV FLUTTER_DIR=${EMG_LOCAL_BASE_DIR}/flutter/${FLUTTER_VERSION} +ARG FLUTTER_BIN_DIR=${FLUTTER_DIR}/bin +ARG FLUTTER_DOWNLOAD_URL=https://storage.googleapis.com/flutter_infra_release/releases/${FLUTTER_CHANNEL}/linux/flutter_linux_${FLUTTER_VERSION}-${FLUTTER_CHANNEL}.tar.xz +ARG FLUTTER_TEMP=/tmp/flutter_linux_${FLUTTER_VERSION}-${FLUTTER_CHANNEL}.tar.xz + +# ninja source tarball +ENV NINJA_VERSION=1.12.1 +ENV NINJA_DIR=${EMG_LOCAL_BASE_DIR}/ninja/${NINJA_VERSION} +ARG NINJA_BIN_DIR=${NINJA_DIR}/bin +ARG NINJA_DOWNLOAD_URL=https://github.com/ninja-build/ninja/releases/download/v${NINJA_VERSION}/ninja-linux.zip +ARG NINJA_TEMP=/tmp/ninja-linux.zip + +# GO source tarball +ENV GO_VERSION=1.22.5 +ENV GO_DIR=${EMG_LOCAL_BASE_DIR}/go/${GO_VERSION} +ARG GO_BIN_DIR=${GO_DIR}/bin +ARG GO_DOWNLOAD_URL=https://go.dev/dl/go${GO_VERSION}.linux-amd64.tar.gz +ARG GO_TEMP=/tmp/go${GO_VERSION}.linux-amd64.tar.gz + +# PCRE source tarball +ENV PCRE_VERSION=10.44 +ENV PCRE_DIR=${EMG_LOCAL_BASE_DIR}/pcre2/${PCRE_VERSION} +ENV PCRE_BIN_DIR=${PCRE_DIR}/bin +ENV PCRE_LIB_DIR=${PCRE_DIR}/lib +ENV PCRE_INC_DIR=${PCRE_DIR}/include +ENV PCRE_SRC_DIR=/usr/local/src/pcre2/${PCRE_VERSION} +ARG PCRE_DOWNLOAD_URL=https://github.com/PCRE2Project/pcre2/releases/download/pcre2-${PCRE_VERSION}/pcre2-${PCRE_VERSION}.tar.gz +ARG PCRE_TEMP=/tmp/pcre2-${PCRE_VERSION}.tar.gz +ARG PCRE_TEMP_SRC=/tmp/pcre2-${PCRE_VERSION} + +# luajit2-openresty source tarball +ENV LUAJIT2OR_VERSION=2.1 +ENV LUAJIT2OR_DIR=${EMG_LOCAL_BASE_DIR}/luajit2/${LUAJIT2OR_VERSION} +ENV LUAJIT2OR_BIN_DIR=${PCRE_DIR}/bin +ENV LUAJIT2OR_LIB_DIR=${LUAJIT2OR_DIR}/lib +ENV LUAJIT2OR_INC_DIR=${LUAJIT2OR_DIR}/include +ENV LUAJIT2OR_SRC_DIR=/usr/local/src/luajit2/${LUAJIT2OR_VERSION} +ARG LUAJIT2OR_DOWNLOAD_URL=https://github.com/openresty/luajit2.git +ARG LUAJIT2OR_TEMP_SRC=/tmp/luajit2 + +# zlib source tarball +ENV ZLIB_VERSION=1.3.1 +ENV ZLIB_DIR=${EMG_LOCAL_BASE_DIR}/zlib/${ZLIB_VERSION} +ENV ZLIB_INC_DIR=${ZLIB_DIR}/include +ENV ZLIB_LIB_DIR=${ZLIB_DIR}/lib +ENV ZLIB_SRC_DIR=/usr/local/src/zlib/${ZLIB_VERSION} +ARG ZLIB_DOWNLOAD_URL=https://zlib.net/fossils/zlib-${ZLIB_VERSION}.tar.gz +ARG ZLIB_TEMP=/tmp/zlib-${ZLIB_VERSION}.tar.gz +ARG ZLIB_TEMP_SRC=/tmp/zlib-${ZLIB_VERSION} + +# zstd source tarball +ENV ZSTD_VERSION=1.5.6 +ENV ZSTD_DIR=${EMG_LOCAL_BASE_DIR}/zstd/${ZLIB_VERSION} +ENV ZSTD_BIN_DIR=${ZSTD_DIR}/bin +ENV ZSTD_INC_DIR=${ZSTD_DIR}/include +ENV ZSTD_LIB_DIR=${ZSTD_DIR}/lib +ENV ZSTD_SRC_DIR=/usr/local/src/zstd/${ZSTD_VERSION} +ARG ZSTD_DOWNLOAD_URL=https://github.com/facebook/zstd/releases/download/v${ZSTD_VERSION}/zstd-${ZSTD_VERSION}.tar.gz +ARG ZSTD_TEMP=/tmp/zstd-${ZSTD_VERSION}.tar.gz +ARG ZSTD_TEMP_SRC=/tmp/zstd-${ZSTD_VERSION} + +# IP2Location-C-Library source tarball +ENV IP2LOC_VERSION=8.7.0 +ENV IP2LOC_DIR=${EMG_LOCAL_BASE_DIR}/ip2location/${IP2LOC_VERSION} +ENV IP2LOC_BIN_DIR=${IP2LOC_DIR}/bin +ENV IP2LOC_INC_DIR=${IP2LOC_DIR}/include +ENV IP2LOC_LIB_DIR=${IP2LOC_DIR}/lib +ENV IP2LOC_SRC_DIR=/usr/local/src/ip2location/${IP2LOC_VERSION} +ARG IP2LOC_DOWNLOAD_URL=https://github.com/chrislim2888/IP2Location-C-Library/archive/refs/heads/master.tar.gz +ARG IP2LOC_TEMP=/tmp/master.tar.gz +ARG IP2LOC_TEMP_SRC=/tmp/IP2Location-C-Library-master + +# libatomic_ops source tarball +ENV LIBATOMICOPS_VERSION=7.8.2 +ENV LIBATOMICOPS_DIR=${EMG_LOCAL_BASE_DIR}/libatomic_ops/${LIBATOMICOPS_VERSION} +ENV LIBATOMICOPS_INC_DIR=${LIBATOMICOPS_DIR}/include +ENV LIBATOMICOPS_LIB_DIR=${LIBATOMICOPS_DIR}/lib +ENV LIBATOMICOPS_SRC_DIR=/usr/local/src/libatomic_ops/${LIBATOMICOPS_VERSION} +ARG LIBATOMICOPS_DOWNLOAD_URL=https://github.com/ivmai/libatomic_ops/releases/download/v${LIBATOMICOPS_VERSION}/libatomic_ops-${LIBATOMICOPS_VERSION}.tar.gz +ARG LIBATOMICOPS_TEMP=/tmp/libatomic_ops-${LIBATOMICOPS_VERSION}.tar.gz +ARG LIBATOMICOPS_TEMP_SRC=/tmp/libatomic_ops-${LIBATOMICOPS_VERSION} + +# libimagequant source +ENV LIBIMAGEQUANT_VERSION=4.3.1 +ARG LIBIMAGEQUANT_DOWNLOAD_URL=https://github.com/ImageOptim/libimagequant +ENV LIBIMAGEQUANT_DIR=${EMG_LOCAL_BASE_DIR}/libimagequant +ENV LIBIMAGEQUANT_SRC_DIR=/usr/local/src/libimagequant/${LIBIMAGEQUANT_VERSION} +ARG LIBIMAGEQUANT_TEMP_SRC=/tmp/libimagequant + +# libraqm source +ENV LIBRAQM_VERSION=0.10.1 +ARG LIBRAQM_DOWNLOAD_URL=https://github.com/HOST-Oman/libraqm +ENV LIBRAQM_DIR=${EMG_LOCAL_BASE_DIR}/libraqm +ENV LIBRAQM_SRC_DIR=/usr/local/src/libraqm/${LIBRAQM_VERSION} +ARG LIBRAQM_TEMP_SRC=/tmp/libraqm + +# libgd source tarball +ENV LIBGD_VERSION=2.3.3 +ENV LIBGD_DIR=${EMG_LOCAL_BASE_DIR}/libgd/${LIBGD_VERSION} +ENV LIBGD_BIN_DIR=${LIBGD_DIR}/bin +ENV LIBGD_INC_DIR=${LIBGD_DIR}/include +ENV LIBGD_LIB_DIR=${LIBGD_DIR}/lib +ENV LIBGD_SRC_DIR=/usr/local/src/libgd/${LIBGD_VERSION} +ARG LIBGD_DOWNLOAD_URL=https://github.com/libgd/libgd/releases/download/gd-${LIBGD_VERSION}/libgd-${LIBGD_VERSION}.tar.gz +ARG LIBGD_TEMP=/tmp/libgd-${LIBGD_VERSION}.tar.gz +ARG LIBGD_TEMP_SRC=/tmp/libgd-${LIBGD_VERSION} + +# libxml2 source tarball +ENV LIBXML2_VERSION=2.13.2 +ENV LIBXML2_DIR=${EMG_LOCAL_BASE_DIR}/libxml2/${LIBXML2_VERSION} +ENV LIBXML2_BIN_DIR=${LIBXML2_DIR}/bin +ENV LIBXML2_INC_DIR=${LIBXML2_DIR}/include +ENV LIBXML2_LIB_DIR=${LIBXML2_DIR}/lib +ENV LIBXML2_SRC_DIR=/usr/local/src/libxml2/${LIBXML2_VERSION} +ARG LIBXML2_DOWNLOAD_URL=https://gitlab.gnome.org/GNOME/libxml2/-/archive/v${LIBXML2_VERSION}/libxml2-v${LIBXML2_VERSION}.tar.gz +ARG LIBXML2_TEMP=/tmp/libxml2-v${LIBXML2_VERSION}.tar.gz +ARG LIBXML2_TEMP_SRC=/tmp/libxml2-v${LIBXML2_VERSION} + +# libxslt source tarball +ENV LIBXSLT_VERSION=1.1.42 +ENV LIBXSLT_DIR=${EMG_LOCAL_BASE_DIR}/libxslt/${LIBXSLT_VERSION} +ENV LIBXSLT_BIN_DIR=${LIBXSLT_DIR}/bin +ENV LIBXSLT_INC_DIR=${LIBXSLT_DIR}/include +ENV LIBXSLT_LIB_DIR=${LIBXSLT_DIR}/lib +ENV LIBXSLT_SRC_DIR=/usr/local/src/libxslt/${LIBXSLT_VERSION} +ARG LIBXSLT_DOWNLOAD_URL=https://gitlab.gnome.org/GNOME/libxslt/-/archive/v${LIBXSLT_VERSION}/libxslt-v${LIBXSLT_VERSION}.tar.gz +ARG LIBXSLT_TEMP=/tmp/libxslt-v${LIBXSLT_VERSION}.tar.gz +ARG LIBXSLT_TEMP_SRC=/tmp/libxslt-v${LIBXSLT_VERSION} + +# maxmind geoip +ENV MM_GEOIP_VERSION=1.6.12 +ENV MM_GEOIP_DIR=${EMG_LOCAL_BASE_DIR}/geoip/${MM_GEOIP_VERSION} +ENV MM_GEOIP_BIN_DIR=${MM_GEOIP_DIR}/bin +ENV MM_GEOIP_INC_DIR=${MM_GEOIP_DIR}/include +ENV MM_GEOIP_LIB_DIR=${MM_GEOIP_DIR}/lib +ENV MM_GEOIP_SRC_DIR=/usr/local/src/geoip/${MM_GEOIP_VERSION} +ARG MM_GEOIP_DOWNLOAD_URL=https://github.com/maxmind/geoip-api-c/releases/download/v${MM_GEOIP_VERSION}/GeoIP-${MM_GEOIP_VERSION}.tar.gz +ARG MM_GEOIP_TEMP=/tmp/GeoIP-${MM_GEOIP_VERSION}.tar.gz +ARG MM_GEOIP_TEMP_SRC=/tmp/GeoIP-${MM_GEOIP_VERSION} + +# Google perftools +ENV GPERFTOOLS_VERSION=2.15 +ENV GPERFTOOLS_DIR=${EMG_LOCAL_BASE_DIR}/gperftools/${GPERFTOOLS_VERSION} +ENV GPERFTOOLS_BIN_DIR=${GPERFTOOLS_DIR}/bin +ENV GPERFTOOLS_INC_DIR=${GPERFTOOLS_DIR}/include +ENV GPERFTOOLS_LIB_DIR=${GPERFTOOLS_DIR}/lib +ENV GPERFTOOLS_SRC_DIR=/usr/local/src/gperftools/${GPERFTOOLS_VERSION} +ARG GPERFTOOLS_DOWNLOAD_URL=https://github.com/gperftools/gperftools/releases/download/gperftools-${GPERFTOOLS_VERSION}/gperftools-${GPERFTOOLS_VERSION}.tar.gz +ARG GPERFTOOLS_TEMP=/tmp/gperftools-${GPERFTOOLS_VERSION}.tar.gz +ARG GPERFTOOLS_TEMP_SRC=/tmp/gperftools-${GPERFTOOLS_VERSION} + +# OpenSSL 1.1.1 +ENV OPENSSL_111_VERSION=1.1.1 +ENV OPENSSL_111_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_111_VERSION} +ENV OPENSSL_111_BIN_DIR=${OPENSSL_111_DIR}/bin +ENV OPENSSL_111_INC_DIR=${OPENSSL_111_DIR}/include +ENV OPENSSL_111_LIB_DIR=${OPENSSL_111_DIR}/lib +ENV OPENSSL_111_SRC_DIR=/usr/local/src/openssl/${OPENSSL_111_VERSION} +ARG OPENSSL_111_DOWNLOAD_URL=https://www.openssl.org/source/old/${OPENSSL_111_VERSION}/openssl-${OPENSSL_111_VERSION}w.tar.gz +ARG OPENSSL_111_TEMP=/tmp/openssl-${OPENSSL_111_VERSION}w.tar.gz +ARG OPENSSL_111_TEMP_SRC=/tmp/openssl-${OPENSSL_111_VERSION}w + +# OpenSSL 3.0.14 +ENV OPENSSL_30_VERSION=3.0.14 +ENV OPENSSL_30_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_30_VERSION} +ENV OPENSSL_30_BIN_DIR=${OPENSSL_30_DIR}/bin +ENV OPENSSL_30_INC_DIR=${OPENSSL_30_DIR}/include +ENV OPENSSL_30_LIB_DIR=${OPENSSL_30_DIR}/lib64 +ENV OPENSSL_30_SRC_DIR=/usr/local/src/openssl/${OPENSSL_30_VERSION} +ARG OPENSSL_30_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_30_VERSION}.tar.gz +ARG OPENSSL_30_TEMP=/tmp/openssl-${OPENSSL_30_VERSION}.tar.gz +ARG OPENSSL_30_TEMP_SRC=/tmp/openssl-${OPENSSL_30_VERSION} + +# OpenSSL 3.1.6 +ENV OPENSSL_31_VERSION=3.1.6 +ENV OPENSSL_31_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_31_VERSION} +ENV OPENSSL_31_BIN_DIR=${OPENSSL_31_DIR}/bin +ENV OPENSSL_31_INC_DIR=${OPENSSL_31_DIR}/include +ENV OPENSSL_31_LIB_DIR=${OPENSSL_31_DIR}/lib64 +ENV OPENSSL_31_SRC_DIR=/usr/local/src/openssl/${OPENSSL_31_VERSION} +ARG OPENSSL_31_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_31_VERSION}.tar.gz +ARG OPENSSL_31_TEMP=/tmp/openssl-${OPENSSL_31_VERSION}.tar.gz +ARG OPENSSL_31_TEMP_SRC=/tmp/openssl-${OPENSSL_31_VERSION} + +# OpenSSL 3.2.2 +ENV OPENSSL_32_VERSION=3.2.2 +ENV OPENSSL_32_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_32_VERSION} +ENV OPENSSL_32_BIN_DIR=${OPENSSL_32_DIR}/bin +ENV OPENSSL_32_INC_DIR=${OPENSSL_32_DIR}/include +ENV OPENSSL_32_LIB_DIR=${OPENSSL_32_DIR}/lib64 +ENV OPENSSL_32_SRC_DIR=/usr/local/src/openssl/${OPENSSL_32_VERSION} +ARG OPENSSL_32_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_32_VERSION}.tar.gz +ARG OPENSSL_32_TEMP=/tmp/openssl-${OPENSSL_32_VERSION}.tar.gz +ARG OPENSSL_32_TEMP_SRC=/tmp/openssl-${OPENSSL_32_VERSION} + +# OpenSSL 3.3.1 +ENV OPENSSL_33_VERSION=3.3.1 +ENV OPENSSL_33_DIR=${EMG_LOCAL_BASE_DIR}/openssl/${OPENSSL_33_VERSION} +ENV OPENSSL_33_BIN_DIR=${OPENSSL_33_DIR}/bin +ENV OPENSSL_33_INC_DIR=${OPENSSL_33_DIR}/include +ENV OPENSSL_33_LIB_DIR=${OPENSSL_33_DIR}/lib64 +ENV OPENSSL_33_SRC_DIR=/usr/local/src/openssl/${OPENSSL_33_VERSION} +ARG OPENSSL_33_DOWNLOAD_URL=https://www.openssl.org/source/openssl-${OPENSSL_33_VERSION}.tar.gz +ARG OPENSSL_33_TEMP=/tmp/openssl-${OPENSSL_33_VERSION}.tar.gz +ARG OPENSSL_33_TEMP_SRC=/tmp/openssl-${OPENSSL_33_VERSION} + +# LibreSSL +ENV LIBRESSL_VERSION=3.9.2 +ENV LIBRESSL_DIR=${EMG_LOCAL_BASE_DIR}/libressl/${LIBRESSL_VERSION} +ENV LIBRESSL_INC_DIR=${LIBRESSL_DIR}/include +ENV LIBRESSL_LIB_DIR=${LIBRESSL_DIR}/lib +ENV LIBRESSL_SRC_DIR=/usr/local/src/libressl/${LIBRESSL_VERSION} +ARG LIBRESSL_DOWNLOAD_URL=https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${LIBRESSL_VERSION}.tar.gz +ARG LIBRESSL_TEMP=/tmp/libressl-${LIBRESSL_VERSION}.tar.gz +ARG LIBRESSL_TEMP_SRC=/tmp/libressl-${LIBRESSL_VERSION} + +# BoringSSL +ENV BORINGSSL_VERSION=master +ENV BORINGSSL_DIR=${EMG_LOCAL_BASE_DIR}/boringssl/${BORINGSSL_VERSION} +ENV BORINGSSL_INC_DIR=${BORINGSSL_DIR}/include +ENV BORINGSSL_LIB_DIR=${BORINGSSL_DIR}/lib +ENV BORINGSSL_SRC_DIR=/usr/local/src/boringssl/${BORINGSSL_VERSION} +ARG BORINGSSL_DOWNLOAD_URL=https://boringssl.googlesource.com/boringssl +ARG BORINGSSL_TEMP_SRC=/tmp/boringssl + +################################################################## +# sid sources list +################################################################## +RUN apt-get update && \ + apt-get dist-upgrade -y + +################################################################## +# installing +################################################################## +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests --allow-downgrades \ + build-essential \ + autoconf-archive \ + gnu-standards \ + cmake \ + meson \ + libunwind-dev \ + at \ + autopkgtest \ + gcc-multilib \ + g++-multilib \ + libxkbcommon-dev \ + libsqlite3-dev \ + liblzma-dev \ + libgtk-3-dev \ + zlib1g-dev \ + libfreetype6-dev \ + libegl1-mesa-dev \ + libgles2-mesa-dev \ + libgbm-dev \ + uuid-dev \ + nvidia-cg-toolkit \ + nvidia-cg-dev \ + libavutil-dev \ + libavcodec-dev \ + libxvidcore-dev \ + libtwolame-dev \ + libmp3lame-dev \ + libopus-dev \ + libavcodec-extra \ + libtheora-dev \ + libvorbis-dev \ + libflac-dev \ + libx264-dev \ + libx265-dev \ + libaom-dev \ + libdav1d-dev \ + libaio-dev \ + libsdl2-dev \ + libsdl-image1.2-dev \ + libxml2-dev \ + yasm \ + devscripts \ + automake \ + libtool \ + autotools-dev \ + dpkg-dev \ + fakeroot \ + checkinstall \ + dh-make \ + zlib1g \ + zlib1g-dev \ + libssl-dev \ + libxslt-dev \ + libgd-dev \ + libpcre2-dev \ + libgeoip-dev \ + libxml++*-dev \ + libkrb5-dev \ + libperl-dev \ + krb5-user \ + luajit \ + liblua5.1-0-dev \ + libmaxminddb-dev \ + libpam0g-dev \ + libldap2-dev \ + libavformat-dev \ + libavfilter-dev \ + libswscale-dev \ + libavcodec-dev \ + libz-dev \ + libhiredis-dev \ + libzip-dev \ + libcrypto++-dev \ + libbz2-dev \ + libvpx-dev \ + libsasl2-dev \ + tcl \ + g++ \ + gcc \ + libc6-dev \ + make \ + pkg-config \ + python3-all-dev \ + g++-multilib \ + autoconf \ + automake \ + libtool \ + gdb \ + strace \ + libbsd-dev \ + libedit-dev \ + libmd-dev \ + valgrind \ +# valgrind-dbg \ + valgrind-if-available \ + valgrind-mpi \ + gcovr \ + lcov \ + libsctp-dev \ + libharfbuzz-dev \ + libfribidi-dev \ + libpng-dev \ + libjpeg-dev \ + libfreetype6-dev + +################################################################## +# Rust compillers +################################################################## +ENV CARGO_HOME=${EMG_LOCAL_BASE_DIR}/cargo +ENV RUSTUP_HOME=${EMG_LOCAL_BASE_DIR}/rustup +ARG CARGO_BIN=${CARGO_HOME}/bin + +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile complete --default-toolchain stable --verbose + +ENV PATH="$CARGO_HOME/bin:${PATH}" + +RUN echo "=============================================" && \ + echo cargo $(cargo --version) && \ + echo rustc $(rustc --version) && \ + echo rustup $(rustup --version) && \ + echo "=============================================" + +################################################################## +# CMake +################################################################## +RUN mkdir -p ${CMAKE_DIR} +ADD ${CMAKE_DOWNLOAD_URL} /tmp + +RUN tar -xf ${CMAKE_TEMP} --directory ${CMAKE_DIR} --strip-components=1 && \ + chmod +x ${CMAKE_BIN_DIR}/ccmake && \ + chmod +x ${CMAKE_BIN_DIR}/cmake && \ + chmod +x ${CMAKE_BIN_DIR}/cmake-gui && \ + chmod +x ${CMAKE_BIN_DIR}/cpack && \ + chmod +x ${CMAKE_BIN_DIR}/ctest + +ENV PATH="${CMAKE_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo $(cmake --version) && \ + echo "=============================================" + +################################################################## +# Flutter SDK +################################################################## +RUN mkdir -p ${FLUTTER_DIR} +ADD ${FLUTTER_DOWNLOAD_URL} /tmp + +RUN tar -xf ${FLUTTER_TEMP} --directory ${FLUTTER_DIR} --strip-components=1 && \ + chmod +x ${FLUTTER_BIN_DIR}/dart && \ + chmod +x ${FLUTTER_BIN_DIR}/flutter && \ + chmod +x ${FLUTTER_BIN_DIR}/internal/shared.sh && \ + chmod +x ${FLUTTER_BIN_DIR}/internal/update_dart_sdk.sh + +ENV PATH="${FLUTTER_BIN_DIR}:${PATH}" + +RUN git config --global --add safe.directory ${FLUTTER_DIR} && \ + flutter precache && \ + flutter config --no-analytics && \ + dart --disable-analytics + +RUN echo "=============================================" && \ + echo dart $(dart --version) && \ + echo flutter $(flutter --version) && \ + echo "=============================================" + +################################################################## +# GO compillers +################################################################## +RUN mkdir -p ${GO_DIR} +ADD ${GO_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${GO_TEMP} --directory ${GO_DIR} --strip-components=1 && \ + chmod +x ${GO_BIN_DIR}/go && \ + chmod +x ${GO_BIN_DIR}/gofmt + +ENV GOPATH=${GO_DIR} +ENV PATH="${GO_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo go $(go version) && \ + echo "=============================================" + +################################################################## +# Get NINJA binary +################################################################## +RUN mkdir -p ${NINJA_BIN_DIR} +ADD ${NINJA_DOWNLOAD_URL} /tmp + +RUN 7zz x ${NINJA_TEMP} -o${NINJA_BIN_DIR} -y && \ + chmod +x ${NINJA_BIN_DIR}/ninja + +ENV PATH="${NINJA_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo ninja $(ninja --version) && \ + echo "=============================================" + +################################################################## +# ZLIB library +################################################################## +RUN mkdir -p ${ZLIB_DIR} ${ZLIB_SRC_DIR} +ADD ${ZLIB_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${ZLIB_TEMP} --directory /tmp && \ + cp -rfv ${ZLIB_TEMP_SRC}/* ${ZLIB_SRC_DIR} && \ + ln -sf ${ZLIB_SRC_DIR} ${ZLIB_DIR}/src && \ + cd ${ZLIB_TEMP_SRC} && \ + ./configure \ +# --static \ + --prefix=${ZLIB_DIR} \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# ZLIB support" >> ${LD_CONF_DIR}/ZLIB.conf && \ + echo ${ZLIB_LIB_DIR} >> ${LD_CONF_DIR}/ZLIB.conf && \ + ldconfig + +################################################################## +# ZSTD library +################################################################## +RUN mkdir -p ${ZSTD_DIR} ${ZSTD_SRC_DIR} +ADD ${ZSTD_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${ZSTD_TEMP} --directory /tmp && \ + cp -rfv ${ZSTD_TEMP_SRC}/* ${ZSTD_SRC_DIR} && \ + ln -sf ${ZSTD_SRC_DIR} ${ZSTD_DIR}/src && \ + cd ${ZSTD_TEMP_SRC} && \ + mkdir -p ${ZSTD_TEMP_SRC}/build/cmake/builddir && \ + cd ${ZSTD_TEMP_SRC}/build/cmake/builddir && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${ZSTD_DIR} -DZSTD_BUILD_STATIC=ON -DZSTD_BUILD_SHARED=ON .. && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# ZSTD support" >> ${LD_CONF_DIR}/ZSTD.conf && \ + echo ${ZSTD_LIB_DIR} >> ${LD_CONF_DIR}/ZSTD.conf && \ + ldconfig + +ENV PATH="${ZSTD_BIN_DIR}:${PATH}" + +################################################################## +# PRCE2 static library +################################################################## +RUN mkdir -p ${PCRE_BIN_DIR} ${PCRE_SRC_DIR} +ADD ${PCRE_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${PCRE_TEMP} --directory /tmp && \ + cp -rfv ${PCRE_TEMP_SRC}/* ${PCRE_SRC_DIR} && \ + ln -sf ${PCRE_SRC_DIR} ${PCRE_DIR}/src && \ + cd ${PCRE_TEMP_SRC} && \ + ./configure --prefix=${PCRE_DIR} \ + --disable-silent-rules \ + --enable-shared \ + --enable-static \ + --enable-rebuild-chartables \ + --enable-pcre2-8 \ + --enable-pcre2-16 \ + --enable-pcre2-32 \ + --enable-jit \ + --enable-newline-is-cr \ + --enable-newline-is-lf \ + --enable-newline-is-anycrlf \ + --enable-newline-is-any \ + --enable-newline-is-nul \ + --enable-bsr-anycrlf \ + --enable-pcre2grep-libz \ + --enable-pcre2grep-libbz2 \ + --enable-pcre2test-libedit \ + --enable-unicode \ + --enable-valgrind \ +# --enable-fuzz-support \ +# --enable-diff-fuzz-support \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# PRCE2 support" >> ${LD_CONF_DIR}/PRCE2.conf && \ + echo ${PCRE_LIB_DIR} >> ${LD_CONF_DIR}/PRCE2.conf && \ + ldconfig + +ENV PATH="${PCRE_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo pcre2 $(pcre2-config --version) && \ + echo "=============================================" + +################################################################## +# LuaJIT2 OpenResty 2.1 +################################################################## +RUN mkdir -p ${LUAJIT2OR_DIR} ${LUAJIT2OR_SRC_DIR} && \ + git clone ${LUAJIT2OR_DOWNLOAD_URL} ${LUAJIT2OR_TEMP_SRC} && \ + cp -rfv ${LUAJIT2OR_TEMP_SRC}/* ${LUAJIT2OR_SRC_DIR} && \ + ln -sf ${LUAJIT2OR_SRC_DIR} ${LUAJIT2OR_DIR}/src && \ + cd ${LUAJIT2OR_TEMP_SRC} && \ +# make -j$(nproc) XCFLAGS='-DLUAJIT_ENABLE_GC64' BUILDMODE=static && \ + make -j$(nproc) XCFLAGS='-DLUAJIT_ENABLE_GC64' BUILDMODE=mixed && \ + make -j$(nproc) install PREFIX=${LUAJIT2OR_DIR} && \ + echo "# LuaJIT2 support" >> ${LD_CONF_DIR}/LuaJIT2.conf && \ + echo ${LUAJIT2OR_LIB_DIR} >> ${LD_CONF_DIR}/LuaJIT2.conf && \ + ldconfig + +ENV PATH="${LUAJIT2OR_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo luajit $(luajit -v) && \ + echo "=============================================" + +################################################################## +# IP2Location +################################################################## +RUN mkdir -p ${IP2LOC_DIR} ${IP2LOC_SRC_DIR} +ADD ${IP2LOC_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${IP2LOC_TEMP} --directory /tmp && \ + cp -rfv ${IP2LOC_TEMP_SRC}/* ${IP2LOC_SRC_DIR} && \ + ln -sf ${IP2LOC_SRC_DIR} ${IP2LOC_DIR}/src && \ + cd ${IP2LOC_TEMP_SRC} && \ + autoreconf -i -v --force && \ + aclocal && \ + automake --gnu --add-missing && \ + autoconf && \ + autoreconf -i -v --force && \ + ./configure \ + --prefix=${IP2LOC_DIR} \ + --disable-silent-rules \ + --enable-shared \ + --enable-static \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# IP2Location support" >> ${LD_CONF_DIR}/IP2Location.conf && \ + echo ${IP2LOC_LIB_DIR} >> ${LD_CONF_DIR}/IP2Location.conf && \ + ldconfig + +ENV PATH="${IP2LOC_BIN_DIR}:${PATH}" + +################################################################## +# libatomic_ops +################################################################## +RUN mkdir -p ${LIBATOMICOPS_DIR} ${LIBATOMICOPS_SRC_DIR} +ADD ${LIBATOMICOPS_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LIBATOMICOPS_TEMP} --directory /tmp && \ + cp -rfv ${LIBATOMICOPS_TEMP_SRC}/* ${LIBATOMICOPS_SRC_DIR} && \ + ln -sf ${LIBATOMICOPS_SRC_DIR} ${LIBATOMICOPS_DIR}/src && \ + cd ${LIBATOMICOPS_TEMP_SRC} && \ + ./autogen.sh && \ + ./configure \ + --prefix=${LIBATOMICOPS_DIR} \ + --disable-silent-rules \ + --enable-shared \ + --enable-static \ + --enable-assertions \ + --with-aix-soname=both \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + ln -sfv ${LIBATOMICOPS_SRC_DIR} ${LIBATOMICOPS_SRC_DIR}/src && \ + echo "# libatomic_ops support" >> ${LD_CONF_DIR}/libatomic_ops.conf && \ + echo ${LIBATOMICOPS_LIB_DIR} >> ${LD_CONF_DIR}/libatomic_ops.conf && \ + ldconfig + +################################################################## +# libimagequant +################################################################## +RUN mkdir -p ${LIBIMAGEQUANT_DIR} ${LIBIMAGEQUANT_SRC_DIR} + +RUN git clone ${LIBIMAGEQUANT_DOWNLOAD_URL} ${LIBIMAGEQUANT_TEMP_SRC} && \ + cp -rfv ${LIBIMAGEQUANT_TEMP_SRC}/* ${LIBIMAGEQUANT_SRC_DIR} && \ + ln -sf ${LIBIMAGEQUANT_SRC_DIR} ${LIBIMAGEQUANT_DIR}/src && \ + cd ${LIBIMAGEQUANT_TEMP_SRC} && \ + cargo build --release && \ + cd ${LIBIMAGEQUANT_TEMP_SRC}/imagequant-sys && \ + cargo build --release && \ + make -j$(nproc) && \ + make -j$(nproc) install + +################################################################## +# libraqm +################################################################## +RUN mkdir -p ${LIBRAQM_DIR} ${LIBRAQM_SRC_DIR} + +RUN git clone ${LIBRAQM_DOWNLOAD_URL} ${LIBRAQM_TEMP_SRC} && \ + cp -rfv ${LIBRAQM_TEMP_SRC}/* ${LIBRAQM_SRC_DIR} && \ + ln -sf ${LIBRAQM_SRC_DIR} ${LIBRAQM_DIR}/src && \ + cd ${LIBRAQM_TEMP_SRC} && \ + meson build && \ + ninja -C build && \ + ninja -C build install + +################################################################## +# libgd +################################################################## +RUN mkdir -p ${LIBGD_DIR} ${LIBGD_SRC_DIR} +ADD ${LIBGD_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LIBGD_TEMP} --directory /tmp && \ + cp -rfv ${LIBGD_TEMP_SRC}/* ${LIBGD_SRC_DIR} && \ + ln -sf ${LIBGD_SRC_DIR} ${LIBGD_DIR}/src && \ + cd ${LIBGD_TEMP_SRC} && \ + ./bootstrap.sh && \ + ./configure \ + --prefix=${LIBGD_DIR} \ + --disable-silent-rules \ + --enable-static \ + --enable-shared \ + --with-aix-soname=both \ + --with-libiconv-prefix \ + --with-zlib=${ZSTD_SRC_DIR} \ + --with-png --with-freetype \ + --with-raqm=${LIBRAQM_SRC_DIR} \ + --with-fontconfig \ + --with-jpeg \ + --with-liq=${LIBIMAGEQUANT_SRC_DIR} \ + --with-xpm \ + --with-gd \ + --enable-gd-formats \ + --with-tiff \ + --with-webp \ + --with-heif \ + --with-avif \ + --with-x \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# libgd support" >> ${LD_CONF_DIR}/libgd.conf && \ + echo ${LIBGD_LIB_DIR} >> ${LD_CONF_DIR}/libgd.conf && \ + ldconfig + +ENV PATH="${LIBGD_BIN_DIR}:${PATH}" + +################################################################## +# libxml2 +################################################################## +RUN mkdir -p ${LIBXML2_DIR} ${LIBXML2_SRC_DIR} +ADD ${LIBXML2_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LIBXML2_TEMP} --directory /tmp && \ + cp -rfv ${LIBXML2_TEMP_SRC}/* ${LIBXML2_SRC_DIR} && \ + ln -sf ${LIBXML2_SRC_DIR} ${LIBXML2_DIR}/src && \ + cd ${LIBXML2_TEMP_SRC} && \ + ./autogen.sh && \ + ./configure \ + --prefix=${LIBXML2_DIR} \ + --disable-silent-rules \ + --enable-static \ + --enable-shared \ + --with-aix-soname=both \ + --with-c14n \ + --with-catalog \ + --with-debug \ + --with-ftp \ + --with-history \ + --with-html \ + --with-http \ + --with-iconv \ + --with-readline \ + --with-http \ + --with-icu \ + --with-iso8859x \ + --with-output \ + --with-pattern \ + --with-push \ + --with-python \ + --with-reader \ + --with-regexps \ + --with-sax1 \ + --with-schemas \ + --with-schematron \ + --with-threads \ + --with-thread-alloc \ + --with-tree \ + --with-valid \ + --with-writer \ + --with-xinclude \ + --with-xpath \ + --with-xptr \ + --with-xptr-locs \ + --with-lzma \ + --with-zlib=${ZSTD_DIR} \ + --with-legacy \ + --with-tls \ + --with-python-sys-prefix \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# libxslt support" >> ${LD_CONF_DIR}/libxml2.conf && \ + echo ${LIBXML2_LIB_DIR} >> ${LD_CONF_DIR}/libxml2.conf && \ + ldconfig + +ENV PATH="${LIBXML2_BIN_DIR}:${PATH}" + +################################################################## +# libxslt +################################################################## +RUN mkdir -p ${LIBXSLT_DIR} ${LIBXSLT_SRC_DIR} +ADD ${LIBXSLT_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LIBXSLT_TEMP} --directory /tmp && \ + cp -rfv ${LIBXSLT_TEMP_SRC}/* ${LIBXSLT_SRC_DIR} && \ + ln -sf ${LIBXSLT_SRC_DIR} ${LIBXSLT_DIR}/src && \ + cd ${LIBXSLT_TEMP_SRC} && \ + ./autogen.sh && \ + ./configure \ + --prefix=${LIBXSLT_DIR} \ + --disable-silent-rules \ + --enable-static \ + --enable-shared \ + --with-aix-soname=both \ + --with-python-sys-prefix \ + --with-crypto \ + --with-debug \ + --with-debugger \ + --with-profiler \ + --with-plugins \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# libxslt support" >> ${LD_CONF_DIR}/libxslt.conf && \ + echo ${LIBXSLT_LIB_DIR} >> ${LD_CONF_DIR}/libxslt.conf && \ + ldconfig + +ENV PATH="${LIBXSLT_BIN_DIR}:${PATH}" + +################################################################## +# MAxMind GeoIP +################################################################## +RUN mkdir -p ${MM_GEOIP_DIR} ${MM_GEOIP_SRC_DIR} +ADD ${MM_GEOIP_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${MM_GEOIP_TEMP} --directory /tmp && \ + cp -rfv ${MM_GEOIP_TEMP_SRC}/* ${MM_GEOIP_SRC_DIR} && \ + ln -sf ${MM_GEOIP_SRC_DIR} ${MM_GEOIP_DIR}/src && \ + cd ${MM_GEOIP_TEMP_SRC} && \ + ./bootstrap && \ + aclocal && \ + autoconf && \ + automake --add-missing && \ + ./configure \ + --prefix=${MM_GEOIP_DIR} \ + --disable-silent-rules \ + --enable-shared \ + --enable-static \ + --enable-assertions \ + --with-aix-soname=both \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# GeoIP support" >> ${LD_CONF_DIR}/GeoIP.conf && \ + echo ${MM_GEOIP_LIB_DIR} >> ${LD_CONF_DIR}/GeoIP.conf && \ + ldconfig + +ENV PATH="${MM_GEOIP_BIN_DIR}:${PATH}" + +################################################################## +# Google perftools +################################################################## +RUN mkdir -p ${GPERFTOOLS_DIR} ${GPERFTOOLS_SRC_DIR} +ADD ${GPERFTOOLS_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${GPERFTOOLS_TEMP} --directory /tmp && \ + cp -rfv ${GPERFTOOLS_TEMP_SRC}/* ${GPERFTOOLS_SRC_DIR} && \ + ln -sf ${GPERFTOOLS_SRC_DIR} ${GPERFTOOLS_DIR}/src && \ + cd ${GPERFTOOLS_TEMP_SRC} && \ + ./configure \ + --prefix=${GPERFTOOLS_DIR} \ + --disable-silent-rules \ + --enable-shared \ + --enable-static \ + --enable-libunwind \ + --with-aix-soname=both \ + --enable-large-alloc-report \ + --enable-aggressive-decommit-by-default \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# Google perftools support" >> ${LD_CONF_DIR}/Googleperftools.conf && \ + echo ${GPERFTOOLS_LIB_DIR} >> ${LD_CONF_DIR}/Googleperftools.conf && \ + ldconfig + +ENV PATH="${GPERFTOOLS_BIN_DIR}:${PATH}" + +################################################################## +# OpenSSL 1.1.1.1 +################################################################## +RUN mkdir -p ${OPENSSL_111_DIR} ${OPENSSL_111_SRC_DIR} +ADD ${OPENSSL_111_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${OPENSSL_111_TEMP} --directory /tmp && \ + cp -rfv ${OPENSSL_111_TEMP_SRC}/* ${OPENSSL_111_SRC_DIR} && \ + ln -sf ${OPENSSL_111_SRC_DIR} ${OPENSSL_111_DIR}/src && \ + cd ${OPENSSL_111_TEMP_SRC} && \ + ./config \ + zlib \ + --with-zlib-include=${ZLIB_DIR}/include \ + --with-zlib-lib=${ZLIB_DIR}/lib \ + enable-ec_nistp_64_gcc_128 \ + enable-egd \ + enable-ssl-trace \ + threads \ + sctp \ + --release \ + --prefix=${OPENSSL_111_DIR} \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install + +################################################################## +# OpenSSL 3.0.14 +################################################################## +RUN mkdir -p ${OPENSSL_30_DIR} ${OPENSSL_30_SRC_DIR} +ADD ${OPENSSL_30_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${OPENSSL_30_TEMP} --directory /tmp && \ + cp -rfv ${OPENSSL_30_TEMP_SRC}/* ${OPENSSL_30_SRC_DIR} && \ + ln -sf ${OPENSSL_30_SRC_DIR} ${OPENSSL_30_DIR}/src && \ + cd ${OPENSSL_30_TEMP_SRC} && \ + ./config \ + zlib \ + --with-zlib-include=${ZLIB_DIR}/include \ + --with-zlib-lib=${ZLIB_DIR}/lib \ + enable-ktls \ + enable-ec_nistp_64_gcc_128 \ + enable-egd \ + enable-fips \ + enable-ssl-trace\ + enable-trace \ + threads \ + sctp \ + --release \ + --prefix=${OPENSSL_30_DIR} \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install + +################################################################## +# OpenSSL 3.1.6 +################################################################## +RUN mkdir -p ${OPENSSL_31_DIR} ${OPENSSL_31_SRC_DIR} +ADD ${OPENSSL_31_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${OPENSSL_31_TEMP} --directory /tmp && \ + cp -rfv ${OPENSSL_31_TEMP_SRC}/* ${OPENSSL_31_SRC_DIR} && \ + ln -sf ${OPENSSL_31_SRC_DIR} ${OPENSSL_31_DIR}/src && \ + cd ${OPENSSL_31_TEMP_SRC} && \ + ./config \ + zlib \ + --with-zlib-include=${ZLIB_DIR}/include \ + --with-zlib-lib=${ZLIB_DIR}/lib \ + enable-ktls \ + enable-ec_nistp_64_gcc_128 \ + enable-egd \ + enable-fips \ + enable-ssl-trace\ + enable-trace \ + threads \ + sctp \ + --release \ + --prefix=${OPENSSL_31_DIR} \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install + +################################################################## +# OpenSSL 3.2.2 +################################################################## +RUN mkdir -p ${OPENSSL_32_DIR} ${OPENSSL_32_SRC_DIR} +ADD ${OPENSSL_32_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${OPENSSL_32_TEMP} --directory /tmp && \ + cp -rfv ${OPENSSL_32_TEMP_SRC}/* ${OPENSSL_32_SRC_DIR} && \ + ln -sf ${OPENSSL_32_SRC_DIR} ${OPENSSL_32_DIR}/src && \ + cd ${OPENSSL_32_TEMP_SRC} && \ + ./config \ + zlib \ + --with-zlib-include=${ZLIB_DIR}/include \ + --with-zlib-lib=${ZLIB_DIR}/lib \ + --with-zstd-include=${ZSTD_DIR}/include \ + --with-zstd-lib=${ZSTD_DIR}/lib \ + enable-ktls \ + enable-ec_nistp_64_gcc_128 \ + enable-egd \ + enable-fips \ + enable-ssl-trace\ + enable-trace \ + threads \ + sctp \ + --release \ + --prefix=${OPENSSL_32_DIR} \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install + +################################################################## +# OpenSSL 3.3.1 +################################################################## +RUN mkdir -p ${OPENSSL_33_DIR} ${OPENSSL_33_SRC_DIR} +ADD ${OPENSSL_33_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${OPENSSL_33_TEMP} --directory /tmp && \ + cp -rfv ${OPENSSL_33_TEMP_SRC}/* ${OPENSSL_33_SRC_DIR} && \ + ln -sf ${OPENSSL_33_SRC_DIR} ${OPENSSL_33_DIR}/src && \ + cd ${OPENSSL_33_TEMP_SRC} && \ + ./config \ + zlib \ + --with-zlib-include=${ZLIB_DIR}/include \ + --with-zlib-lib=${ZLIB_DIR}/lib \ + --with-zstd-include=${ZSTD_DIR}/include \ + --with-zstd-lib=${ZSTD_DIR}/lib \ + enable-ktls \ + enable-ec_nistp_64_gcc_128 \ + enable-egd \ + enable-fips \ + enable-ssl-trace\ + enable-trace \ + threads \ + sctp \ + --release \ + --prefix=${OPENSSL_33_DIR} \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ + echo "# OpenSSL support" >> ${LD_CONF_DIR}/OpenSSL.conf && \ + echo ${OPENSSL_33_LIB_DIR} >> ${LD_CONF_DIR}/OpenSSL.conf && \ + ldconfig + +################################################################## +# LibreSSL +################################################################## +RUN mkdir -p ${LIBRESSL_DIR} ${LIBRESSL_SRC_DIR} +ADD ${LIBRESSL_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LIBRESSL_TEMP} --directory /tmp && \ + cp -rfv ${LIBRESSL_TEMP_SRC}/* ${LIBRESSL_SRC_DIR} && \ + ln -sfv ${LIBRESSL_SRC_DIR} ${LIBRESSL_DIR}/src && \ + cd ${LIBRESSL_TEMP_SRC} && \ + ./config \ + --enable-static \ + --enable-shared \ + --disable-silent-rules \ + --prefix=${LIBRESSL_DIR} \ + && \ + make -j$(nproc) && \ + make -j$(nproc) install && \ +# echo "# LibreSSL support" >> ${LD_CONF_DIR}/LibreSSL.conf && \ +# echo ${LIBRESSL_LIB_DIR} >> ${LD_CONF_DIR}/LibreSSL.conf && \ + ldconfig + +################################################################## +# BoringSSL +################################################################## +RUN mkdir -p ${BORINGSSL_DIR} ${BORINGSSL_SRC_DIR} && \ + git clone -b ${BORINGSSL_VERSION} ${BORINGSSL_DOWNLOAD_URL} ${BORINGSSL_TEMP_SRC} && \ + cp -rfv ${BORINGSSL_TEMP_SRC}/* ${BORINGSSL_SRC_DIR} && \ + ln -sf ${BORINGSSL_SRC_DIR} ${BORINGSSL_DIR}/src && \ + cd ${BORINGSSL_TEMP_SRC} && \ + mkdir ${BORINGSSL_TEMP_SRC}/build && \ +# cmake -GNinja -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DBUILD_SHARED_LIBS=1 -DCMAKE_INSTALL_PREFIX=${BORINGSSL_DIR} && \ +# ninja -C build && \ + cd ${BORINGSSL_TEMP_SRC}/build && \ + cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DBUILD_SHARED_LIBS=1 -DCMAKE_INSTALL_PREFIX=${BORINGSSL_DIR} .. && \ + make -j$(if [ $(nproc) -gt 8 ]; then echo $(( $(nproc) / 2 )); else echo $(nproc); fi) && \ + make -j$(nproc) install && \ +# echo "# BoringSSL support" >> ${LD_CONF_DIR}/BoringSSL.conf && \ +# echo ${BORINGSSL_LIB_DIR} >> ${LD_CONF_DIR}/BoringSSL.conf && \ + ldconfig + +################################################################## +# other customisations +################################################################## + +################################################################## +# 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/sid/develop/Makefile b/linux/ecosystem/epicmorg/debian/sid/develop/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/develop/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/sid/develop/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/develop/docker-compose.yml new file mode 100644 index 000000000..79b227d46 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/develop/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-develop" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet5/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet5/Dockerfile new file mode 100644 index 000000000..3ae817b74 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet5/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:sid +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/sid/dotnet/dotnet5/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet5/Dockerfile.develop new file mode 100644 index 000000000..0bd5c412f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet5/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:sid-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/sid/dotnet/dotnet5/Makefile b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet5/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet5/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/sid/dotnet/dotnet5/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet5/docker-compose.yml new file mode 100644 index 000000000..fa644d6d8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet5/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-dotnet5" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-dotnet5" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet6/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet6/Dockerfile new file mode 100644 index 000000000..1fa25ae7f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet6/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:sid +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/sid/dotnet/dotnet6/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet6/Dockerfile.develop new file mode 100644 index 000000000..9fa32c1fe --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet6/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:sid-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/sid/dotnet/dotnet6/Makefile b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet6/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/sid/dotnet/dotnet6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet6/docker-compose.yml new file mode 100644 index 000000000..be6eb4b23 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet6/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-dotnet6" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-dotnet6" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet7/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet7/Dockerfile new file mode 100644 index 000000000..894635fb7 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet7/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:sid +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/sid/dotnet/dotnet7/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet7/Dockerfile.develop new file mode 100644 index 000000000..ecd52b668 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet7/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:sid-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/sid/dotnet/dotnet7/Makefile b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet7/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/sid/dotnet/dotnet7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet7/docker-compose.yml new file mode 100644 index 000000000..a152b44ec --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet7/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-dotnet7" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-dotnet7" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Dockerfile new file mode 100644 index 000000000..995daeb19 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:sid +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/sid/dotnet/dotnet8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Dockerfile.develop new file mode 100644 index 000000000..ef5b4fc90 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:sid-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/sid/dotnet/dotnet8/Makefile b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/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/sid/dotnet/dotnet8/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/docker-compose.yml new file mode 100644 index 000000000..d8c2c3ba8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet8/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-dotnet8" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-dotnet8" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Dockerfile new file mode 100644 index 000000000..93be6d988 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:sid +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/sid/dotnet/dotnet9/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Dockerfile.develop new file mode 100644 index 000000000..e60699edf --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:sid-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/sid/dotnet/dotnet9/Makefile b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/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/sid/dotnet/dotnet9/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/docker-compose.yml new file mode 100644 index 000000000..6e0881cd4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/dotnet9/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-dotnet9" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-dotnet9" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Dockerfile new file mode 100644 index 000000000..534d1be58 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:sid +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/sid/dotnet/lts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Dockerfile.develop new file mode 100644 index 000000000..54874505f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:sid-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/sid/dotnet/lts/Makefile b/linux/ecosystem/epicmorg/debian/sid/dotnet/lts/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/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/sid/dotnet/lts/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/dotnet/lts/docker-compose.yml new file mode 100644 index 000000000..a090fc921 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/lts/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-dotnet-lts" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-dotnet-lts" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Dockerfile new file mode 100644 index 000000000..a3d93ba15 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Dockerfile @@ -0,0 +1,54 @@ +FROM epicmorg/debian:sid +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/sid/dotnet/sts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Dockerfile.develop new file mode 100644 index 000000000..1ecf362a2 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Dockerfile.develop @@ -0,0 +1,53 @@ +FROM epicmorg/debian:sid-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/sid/dotnet/sts/Makefile b/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/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/sid/dotnet/sts/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/docker-compose.yml new file mode 100644 index 000000000..de0b2ddb3 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/dotnet/sts/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-dotnet-sts" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-dotnet-sts" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/jdk/jdk11/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk11/Dockerfile new file mode 100644 index 000000000..50edbc930 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk11/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:sid +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=11 +ARG K_JDK_FULL_VERSION=jdk-11.0.23 +ARG K_JDK_VERSION=11.0.23 +ARG K_JDK_BUILD_VERSION=9 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java11 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk11/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk11/Dockerfile.develop new file mode 100644 index 000000000..651293dcb --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk11/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:sid-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=11 +ARG K_JDK_FULL_VERSION=jdk-11.0.23 +ARG K_JDK_VERSION=11.0.23 +ARG K_JDK_BUILD_VERSION=9 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java11 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk11/Makefile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk11/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk11/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/sid/jdk/jdk11/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk11/docker-compose.yml new file mode 100644 index 000000000..df9815259 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk11/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-jdk11" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-jdk11" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/jdk/jdk16/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk16/Dockerfile new file mode 100644 index 000000000..9e058219a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk16/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:sid +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=16 +ARG K_JDK_FULL_VERSION=jdk-16.0.2 +ARG K_JDK_VERSION=16.0.2 +ARG K_JDK_BUILD_VERSION=7 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java17 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk16/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk16/Dockerfile.develop new file mode 100644 index 000000000..9cfd4de89 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk16/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:sid-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=16 +ARG K_JDK_FULL_VERSION=jdk-16.0.2 +ARG K_JDK_VERSION=16.0.2 +ARG K_JDK_BUILD_VERSION=7 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java16 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk16/Makefile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk16/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk16/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/sid/jdk/jdk16/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk16/docker-compose.yml new file mode 100644 index 000000000..b5cdbfb17 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk16/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-jdk16" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-jdk16" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/jdk/jdk17/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk17/Dockerfile new file mode 100644 index 000000000..d32736482 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk17/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:sid +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=17 +ARG K_JDK_FULL_VERSION=jdk-17.0.11 +ARG K_JDK_VERSION=17.0.11 +ARG K_JDK_BUILD_VERSION=9 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java17 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk17/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk17/Dockerfile.develop new file mode 100644 index 000000000..1704113a7 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk17/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:sid-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=17 +ARG K_JDK_FULL_VERSION=jdk-17.0.11 +ARG K_JDK_VERSION=17.0.11 +ARG K_JDK_BUILD_VERSION=9 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java17 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk17/Makefile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk17/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk17/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/sid/jdk/jdk17/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk17/docker-compose.yml new file mode 100644 index 000000000..6245960f4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk17/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-jdk17" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-jdk17" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/jdk/jdk18/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk18/Dockerfile new file mode 100644 index 000000000..6c6202642 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk18/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:sid +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=18 +ARG K_JDK_FULL_VERSION=jdk-18.0.2.1 +ARG K_JDK_VERSION=18.0.2.1 +ARG K_JDK_BUILD_VERSION=1 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java18 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk18/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk18/Dockerfile.develop new file mode 100644 index 000000000..f1f8923a8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk18/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:sid-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=18 +ARG K_JDK_FULL_VERSION=jdk-18.0.2.1 +ARG K_JDK_VERSION=18.0.2.1 +ARG K_JDK_BUILD_VERSION=1 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java18 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk18/Makefile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk18/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk18/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/sid/jdk/jdk18/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk18/docker-compose.yml new file mode 100644 index 000000000..78cef6870 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk18/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-jdk18" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-jdk18" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/jdk/jdk19/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk19/Dockerfile new file mode 100644 index 000000000..7711c1b85 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk19/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:sid +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=19 +ARG K_JDK_FULL_VERSION=jdk-19.0.2 +ARG K_JDK_VERSION=19.0.2 +ARG K_JDK_BUILD_VERSION=7 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java18 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk19/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk19/Dockerfile.develop new file mode 100644 index 000000000..24aab74e7 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk19/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:sid-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=19 +ARG K_JDK_FULL_VERSION=jdk-19.0.2 +ARG K_JDK_VERSION=19.0.2 +ARG K_JDK_BUILD_VERSION=7 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java18 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk19/Makefile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk19/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/jdk/jdk19/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk19/docker-compose.yml new file mode 100644 index 000000000..f81e28058 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk19/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-jdk19" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-jdk19" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/jdk/jdk20/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk20/Dockerfile new file mode 100644 index 000000000..860f69ff1 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk20/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:sid +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=20 +ARG K_JDK_FULL_VERSION=jdk-20.0.2 +ARG K_JDK_VERSION=20.0.2 +ARG K_JDK_BUILD_VERSION=9 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java20 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk20/Dockerfile.develop new file mode 100644 index 000000000..6d9fb5424 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk20/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:sid-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=20 +ARG K_JDK_FULL_VERSION=jdk-20.0.2 +ARG K_JDK_VERSION=20.0.2 +ARG K_JDK_BUILD_VERSION=9 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java20 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk20/Makefile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk20/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/jdk/jdk20/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk20/docker-compose.yml new file mode 100644 index 000000000..8ce08a17d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk20/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-jdk20" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-jdk20" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/jdk/jdk21/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk21/Dockerfile new file mode 100644 index 000000000..0aeef155f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk21/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:sid +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=21 +ARG K_JDK_FULL_VERSION=jdk-21.0.3 +ARG K_JDK_VERSION=21.0.3 +ARG K_JDK_BUILD_VERSION=9 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java21 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk21/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk21/Dockerfile.develop new file mode 100644 index 000000000..1308c2a86 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk21/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:sid-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=21 +ARG K_JDK_FULL_VERSION=jdk-21.0.3 +ARG K_JDK_VERSION=21.0.3 +ARG K_JDK_BUILD_VERSION=9 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java21 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk21/Makefile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk21/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/jdk/jdk21/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk21/docker-compose.yml new file mode 100644 index 000000000..e13237e1e --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk21/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-jdk21" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-jdk21" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/jdk/jdk22/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk22/Dockerfile new file mode 100644 index 000000000..8809278fa --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk22/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:sid +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=22 +ARG K_JDK_FULL_VERSION=jdk-22.0.1 +ARG K_JDK_VERSION=22.0.1 +ARG K_JDK_BUILD_VERSION=8 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java21 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk22/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk22/Dockerfile.develop new file mode 100644 index 000000000..0a4af9f2f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk22/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:sid-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=22 +ARG K_JDK_FULL_VERSION=jdk-22.0.1 +ARG K_JDK_VERSION=22.0.1 +ARG K_JDK_BUILD_VERSION=8 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}_${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}+${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java21 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk22/Makefile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk22/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/jdk/jdk22/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk22/docker-compose.yml new file mode 100644 index 000000000..c5c5ce508 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk22/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-jdk22" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-jdk22" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/jdk/jdk6/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk6/Dockerfile new file mode 100644 index 000000000..11a72fe11 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk6/Dockerfile @@ -0,0 +1,93 @@ +FROM epicmorg/debian:sid +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_VERSION=6.22.0.3 +ARG K_JDK_BUILD_VERSION=6.0.119 +ARG K_JDK_URL=http://cdn.azul.com/zulu/bin/zulu${K_JDK_VERSION}-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz +ARG K_JDK_TEMP=/tmp/zulu${K_JDK_VERSION}-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz + +ENV JAVA_HOME=/usr/local/zulu${K_JDK_VERSION}-jdk${K_JDK_BUILD_VERSION}-linux_x64 +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java6 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf /tmp/zulu${K_JDK_VERSION}-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.8 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/usr/local/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/usr/local/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +#ENV KTC_VERSION=2.0.0 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +#ENV KTC_ROOT=/usr/local/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} + +#ADD ${MAVEN_LINK} /tmp +#RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v + +################################################################## +# GRADLE +################################################################## +#ADD ${GRADLE_LINK} /tmp +#RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +#ADD ${KTC_LINK} /tmp +#RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +#ADD ${KNPL_LINK} /tmp +#RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +#RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk6/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk6/Dockerfile.develop new file mode 100644 index 000000000..e2f0e649e --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk6/Dockerfile.develop @@ -0,0 +1,91 @@ +FROM epicmorg/debian:sid-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_VERSION=6.22.0.3 +ARG K_JDK_BUILD_VERSION=6.0.119 +ARG K_JDK_URL=http://cdn.azul.com/zulu/bin/zulu${K_JDK_VERSION}-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz +ARG K_JDK_TEMP=/tmp/zulu${K_JDK_VERSION}-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz + +ENV JAVA_HOME=/usr/local/zulu${K_JDK_VERSION}-jdk${K_JDK_BUILD_VERSION}-linux_x64 +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java6 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf /tmp/zulu${K_JDK_VERSION}-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.8 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/usr/local/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/usr/local/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +#ENV KTC_VERSION=2.0.0 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +#ENV KTC_ROOT=/usr/local/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} + +#ADD ${MAVEN_LINK} /tmp +#RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v + +################################################################## +# GRADLE +################################################################## +#ADD ${GRADLE_LINK} /tmp +#RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +#ADD ${KTC_LINK} /tmp +#RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +#ADD ${KNPL_LINK} /tmp +#RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +#RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk6/Makefile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/jdk/jdk6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk6/docker-compose.yml new file mode 100644 index 000000000..123747130 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk6/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-jdk6" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-jdk6" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/jdk/jdk7/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk7/Dockerfile new file mode 100644 index 000000000..22224eed4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk7/Dockerfile @@ -0,0 +1,93 @@ +FROM epicmorg/debian:sid +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_VERSION=7.56.0.11 +ARG K_JDK_BUILD_VERSION=7.0.352 +ARG K_JDK_URL=http://cdn.azul.com/zulu/bin/zulu${K_JDK_VERSION}-ca-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz +ARG K_JDK_TEMP=/tmp/zulu${K_JDK_VERSION}-ca-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz + +ENV JAVA_HOME=/usr/local/zulu${K_JDK_VERSION}-ca-jdk${K_JDK_BUILD_VERSION}-linux_x64 +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java7 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.8 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/usr/local/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/usr/local/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +#ENV KTC_VERSION=2.0.0 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +#ENV KTC_ROOT=/usr/local/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} + +#ADD ${MAVEN_LINK} /tmp +#RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v + +################################################################## +# GRADLE +################################################################## +#ADD ${GRADLE_LINK} /tmp +#RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +#ADD ${KTC_LINK} /tmp +#RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +#ADD ${KNPL_LINK} /tmp +#RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +#RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk7/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk7/Dockerfile.develop new file mode 100644 index 000000000..f34a0359f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk7/Dockerfile.develop @@ -0,0 +1,91 @@ +FROM epicmorg/debian:sid-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_VERSION=7.56.0.11 +ARG K_JDK_BUILD_VERSION=7.0.352 +ARG K_JDK_URL=http://cdn.azul.com/zulu/bin/zulu${K_JDK_VERSION}-ca-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz +ARG K_JDK_TEMP=/tmp/zulu${K_JDK_VERSION}-ca-jdk${K_JDK_BUILD_VERSION}-linux_x64.tar.gz + +ENV JAVA_HOME=/usr/local/zulu${K_JDK_VERSION}-ca-jdk${K_JDK_BUILD_VERSION}-linux_x64 +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java7 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +#ENV MAVEN_VERSION=3.9.8 +#ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +#ENV MAVEN_ROOT=/usr/local/maven +#ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +#ENV MAVEN_BIN=${MAVEN_PATH}/bin +#ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +#ENV GRADLE_VERSION=7.6.4 +#ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +#ENV GRADLE_ROOT=/usr/local/gradle +#ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +#ENV GRADLE_BIN=${GRADLE_PATH}/bin +#ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +#ENV KTC_VERSION=2.0.0 +#ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +#ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +#ENV KTC_ROOT=/usr/local/kotlin +#ENV KTC_PATH=${KTC_ROOT}/kotlinc +#ENV KTC_BIN=${KTC_PATH}/bin + +#RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +#ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +#ENV MAVEN_HOME=${MAVEN_ROOT} +#ENV M2_HOME=${MAVEN_ROOT} + +#ADD ${MAVEN_LINK} /tmp +#RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +#RUN chmod +x -R ${MAVEN_BIN} +#RUN mvn -v + +################################################################## +# GRADLE +################################################################## +#ADD ${GRADLE_LINK} /tmp +#RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +#RUN chmod +x -R ${GRADLE_BIN} +#RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +#ADD ${KTC_LINK} /tmp +#RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +#RUN chmod +x -R ${KTC_BIN} +#RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +#ADD ${KNPL_LINK} /tmp +#RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +#RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk7/Makefile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/jdk/jdk7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk7/docker-compose.yml new file mode 100644 index 000000000..71e9e0f25 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk7/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-jdk7" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-jdk7" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/jdk/jdk8/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk8/Dockerfile new file mode 100644 index 000000000..3340a89f1 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk8/Dockerfile @@ -0,0 +1,102 @@ +FROM epicmorg/debian:sid +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=8 +ARG K_JDK_FULL_VERSION=jdk8u412 +ARG K_JDK_VERSION=8u412 +ARG K_JDK_BUILD_VERSION=b08 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}-${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}-${K_JDK_BUILD_VERSION} +ENV JRE_HOME=${JAVA_HOME} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java8 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + ln -sfv ${JAVA_HOME} /usr/jre && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk8/Dockerfile.develop new file mode 100644 index 000000000..7f0173f83 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk8/Dockerfile.develop @@ -0,0 +1,100 @@ +FROM epicmorg/debian:sid-develop +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +ARG K_JDK_MAJOR_VERSION=8 +ARG K_JDK_FULL_VERSION=jdk8u412 +ARG K_JDK_VERSION=8u412 +ARG K_JDK_BUILD_VERSION=b08 +ARG K_JDK_URL=https://github.com/adoptium/temurin${K_JDK_MAJOR_VERSION}-binaries/releases/download/${K_JDK_FULL_VERSION}-${K_JDK_BUILD_VERSION}/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}${K_JDK_BUILD_VERSION}.tar.gz +ARG K_JDK_TEMP=/tmp/OpenJDK${K_JDK_MAJOR_VERSION}U-jdk_x64_linux_hotspot_${K_JDK_VERSION}${K_JDK_BUILD_VERSION}.tar.gz + +ENV JAVA_HOME=/usr/local/${K_JDK_FULL_VERSION}-${K_JDK_BUILD_VERSION} +ENV PATH=$PATH:${JAVA_HOME}/bin + +################################################################## +# installing java8 +################################################################## +ADD ${K_JDK_URL} /tmp +RUN tar -xvzf ${K_JDK_TEMP} --directory /usr/local && \ + java -version + +################################################################## +# Additional settings +################################################################## +ENV MAVEN_VERSION=3.9.8 +ENV MAVEN_LINK=https://dlcdn.apache.org/maven/maven-3/${MAVEN_VERSION}/binaries/apache-maven-${MAVEN_VERSION}-bin.zip +ENV MAVEN_ROOT=/usr/local/maven +ENV MAVEN_PATH=${MAVEN_ROOT}/apache-maven-${MAVEN_VERSION} +ENV MAVEN_BIN=${MAVEN_PATH}/bin +ARG MAVEN_TEMP=/tmp/apache-maven-${MAVEN_VERSION}-bin.zip + +ENV GRADLE_VERSION=8.8 +ENV GRADLE_LINK=https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip +ENV GRADLE_ROOT=/usr/local/gradle +ENV GRADLE_PATH=${GRADLE_ROOT}/gradle-${GRADLE_VERSION} +ENV GRADLE_BIN=${GRADLE_PATH}/bin +ARG GRADLE_TEMP=/tmp/gradle-${GRADLE_VERSION}-all.zip + +ENV KTC_VERSION=2.0.0 +ENV KTC_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KTC_VERSION}/kotlin-compiler-${KTC_VERSION}.zip +ARG KTC_TEMP=/tmp/kotlin-compiler-${KTC_VERSION}.zip +ENV KTC_ROOT=/usr/local/kotlin +ENV KTC_PATH=${KTC_ROOT}/kotlinc +ENV KTC_BIN=${KTC_PATH}/bin + +ENV KNPL_VERSION=${KTC_VERSION} +ENV KNPL_LINK=https://github.com/JetBrains/kotlin/releases/download/v${KNPL_VERSION}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ARG KNPL_TEMP=/tmp/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION}.tar.gz +ENV KNPL_ROOT=/usr/local/kotlin +ENV KNPL_PATH=${KNPL_ROOT}/kotlin-native-prebuilt-linux-x86_64-${KNPL_VERSION} +ENV KNPL_BIN=${KNPL_PATH}/bin + +RUN mkdir -p ${MAVEN_PATH} ${KTC_PATH} ${KNPL_PATH} ${GRADLE_PATH} +ENV PATH=${PATH}:${MAVEN_BIN}:${GRADLE_BIN}:${KTC_BIN}:${KNPL_BIN} + +################################################################## +# Maven +################################################################## +ENV MAVEN_HOME=${MAVEN_ROOT} +ENV M2_HOME=${MAVEN_ROOT} + +ADD ${MAVEN_LINK} /tmp +RUN 7zz x ${MAVEN_TEMP} -o${MAVEN_ROOT} +RUN chmod +x -R ${MAVEN_BIN} +RUN mvn -v + +################################################################## +# GRADLE +################################################################## +ADD ${GRADLE_LINK} /tmp +RUN 7zz x ${GRADLE_TEMP} -o${GRADLE_ROOT} +RUN chmod +x -R ${GRADLE_BIN} +RUN gradle -v + +################################################################## +# kotlin-compiler +################################################################## +ADD ${KTC_LINK} /tmp +RUN 7zz x ${KTC_TEMP} -o${KTC_ROOT} +RUN chmod +x -R ${KTC_BIN} +RUN kotlin -version + +################################################################## +# kotlin-native-prebuilt-linux +################################################################## +ADD ${KNPL_LINK} /tmp +RUN tar -xvzf ${KNPL_TEMP} --directory ${KTC_ROOT} +RUN chmod +x -R ${KNPL_BIN} + +################################################################## +# 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/sid/jdk/jdk8/Makefile b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk8/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/jdk/jdk8/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk8/docker-compose.yml new file mode 100644 index 000000000..fc620eed4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/jdk/jdk8/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-jdk8" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-jdk8" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/main/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/main/Dockerfile new file mode 100644 index 000000000..84fc73ccf --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/main/Dockerfile @@ -0,0 +1,346 @@ +FROM epicmorg/debian:sid-slim +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## +RUN echo "Default folder for installation of customized soft is: ${EMG_LOCAL_BASE_DIR}" + +ARG P4_VERSION=r23.2 +ARG P4_BIN_DIR=${EMG_LOCAL_BASE_DIR}/p4/${P4_VERSION}/bin +ARG P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4 + +ARG SZ_VERSION=7z2407 +ARG SZ_BIN_DIR=${EMG_LOCAL_BASE_DIR}/7z/${SZ_VERSION}/bin +ARG SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz +ARG SZ_TEMP=/tmp/${SZ_VERSION}-linux-x64.tar.xz + +ARG LAZYGIT_VERSION=0.42.0 +ARG LAZYGIT_BIN_DIR=${EMG_LOCAL_BASE_DIR}/lazygit/${LAZYGIT_VERSION}/bin +ARG LAZYGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz +ARG LAZYGIT_TEMP=/tmp/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz + +ARG LAZYCLI_VERSION=0.1.15 +ARG LAZYCLI_BIN_DIR=${EMG_LOCAL_BASE_DIR}/lazycli/${LAZYCLI_VERSION}/bin +ARG LAZYCLI_DOWNLOAD_URL=https://github.com/jesseduffield/lazycli/releases/download/v${LAZYCLI_VERSION}/lazycli-linux-x64.tar.gz +ARG LAZYCLI_TEMP=/tmp/lazycli-linux-x64.tar.gz + +ARG LAZYNPM_VERSION=0.1.4 +ARG LAZYNPM_BIN_DIR=${EMG_LOCAL_BASE_DIR}/lazynpm/${LAZYNPM_VERSION}/bin +ARG LAZYNPM_DOWNLOAD_URL=https://github.com/jesseduffield/lazynpm/releases/download/v${LAZYNPM_VERSION}/lazynpm_${LAZYNPM_VERSION}_Linux_x86_64.tar.gz +ARG LAZYNPM_TEMP=/tmp/lazynpm_${LAZYNPM_VERSION}_Linux_x86_64.tar.gz + +ARG LAZYDOCKER_VERSION=0.23.3 +ARG LAZYDOCKER_BIN_DIR=${EMG_LOCAL_BASE_DIR}/lazydocker/${LAZYDOCKER_VERSION}/bin +ARG LAZYDOCKER_DOWNLOAD_URL=https://github.com/jesseduffield/lazydocker/releases/download/v${LAZYDOCKER_VERSION}/lazydocker_${LAZYDOCKER_VERSION}_Linux_x86_64.tar.gz +ARG LAZYDOCKER_TEMP=/tmp/lazydocker_${LAZYDOCKER_VERSION}_Linux_x86_64.tar.gz + +ARG DUMB_INIT_VERSION=1.2.5 +ARG DUMB_INIT_BIN_DIR=${EMG_LOCAL_BASE_DIR}/dumb-init/${DUMB_INIT_VERSION}/bin +ARG DUMB_INIT_DOWNLOAD_URL=https://github.com/Yelp/dumb-init/releases/download/v${DUMB_INIT_VERSION}/dumb-init_${DUMB_INIT_VERSION}_x86_64 + +ARG GOSU_VERSION=1.17 +ARG GOSU_BIN_DIR=${EMG_LOCAL_BASE_DIR}/gosu/${GOSU_VERSION}/bin +ARG GOSU_DOWNLOAD_URL=https://github.com/tianon/gosu/releases/download/${GOSU_VERSION}/gosu-amd64 + +################################################################## +# update lists +################################################################## +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get update + +################################################################## +# installing utils +################################################################## +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + bzip2 \ + cmatrix \ + cmatrix-xfont \ + cron \ + curl \ + clzip \ + dos2unix \ + ffmpeg \ + fontconfig \ + git \ + git-extras \ + git-flow \ + git-cvs \ + git-doc \ + git-email \ + git-mediawiki \ + git-crypt \ + git-lfs \ + git-ftp \ + gnupg \ + gnupg2 \ + graphicsmagick \ + gzip \ + htop \ + iftop \ + iotop \ + iperf \ + iperf3 \ + iputils-ping \ + jq \ + kmod \ + libxml2-dev \ + libxml2-utils \ + lbzip2 \ + libsvn-java \ + locales \ + lsb-release \ + lsof \ + lynx \ + lzma \ + lzip \ + lzop \ + mc \ + mercurial \ + nano \ + nload \ + nmap \ + openssl \ + perl \ + procps \ + pbzip2 \ + plzip \ + p7zip-full \ + p7zip-rar \ + rsync \ + rar \ + screenfetch \ + smbclient \ + subversion \ + telnet \ + tmux \ + tree \ + util-linux \ + uuid-runtime \ + unrar \ + xz-utils \ + wget \ + zip \ + tini \ + libzip4 \ + acl \ + aptitude \ + sudo \ + cvs \ + python3-pip \ + python3-all \ + rclone \ + logrotate \ + subversion-tools \ + pev + +################################################################## +# installing fs-tools +################################################################## +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + btrfs-progs \ + e2fsprogs \ + f2fs-tools \ + dosfstools \ + hfsutils \ + hfsprogs \ + jfsutils \ + mdadm \ + util-linux \ + cryptsetup \ + lvm2 \ + nilfs-tools \ + ntfs-3g \ + reiser4progs \ + reiserfsprogs \ + udftools \ + xfsprogs \ + xfsdump + +################################################################## +# git fresh binary +################################################################## +RUN gpg --keyserver keyserver.ubuntu.com --recv-keys A1715D88E1DF1F24 && \ + gpg --export --output /etc/apt/keyrings/launchpad-git.gpg A1715D88E1DF1F24 && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-mainline.list && \ + rm -rfv /etc/apt/sources.list.d/launchpad_git-stable.list +COPY etc/apt/sources.list.d/launchpad_git-mainline.list /etc/apt/sources.list.d/launchpad_git-mainline.list +COPY etc/apt/sources.list.d/launchpad_git-stable.list /etc/apt/sources.list.d/launchpad_git-stable.list +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo "=============================================" + +################################################################## +# git-lfs official binary +################################################################## +RUN curl -fsSL https://packagecloud.io/github/git-lfs/gpgkey | gpg --dearmor > /etc/apt/keyrings/github_git-lfs-archive-keyring.gpg && \ + rm -rfv /etc/apt/sources.list.d/github_git-lfs.list +COPY etc/apt/sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list +RUN apt-get update && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + git \ + git-lfs && \ + git-lfs install --skip-repo + +RUN echo "=============================================" && \ + echo git $(git --version) && \ + echo git-lfs $(git-lfs --version) && \ + echo "=============================================" + +################################################################## +# gh official binary +################################################################## +RUN curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + chmod go+r /etc/apt/keyrings/githubcli-archive-keyring.gpg && \ + echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list && \ + apt-get update && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + gh + +RUN echo "=============================================" && \ + echo gh $(gh --version) && \ + echo "=============================================" + +################################################################## +# Install p4client +################################################################## +RUN mkdir -p ${P4_BIN_DIR} +ADD ${P4_DOWNLOAD_URL} ${P4_BIN_DIR} +RUN chmod +x ${P4_BIN_DIR}/p4 +ENV PATH="${P4_BIN_DIR}:${PATH}" + +################################################################## +# Install 7z official binary +################################################################## +RUN mkdir -p ${SZ_BIN_DIR} +ADD ${SZ_DOWNLOAD_URL} /tmp + +RUN tar -xf ${SZ_TEMP} --directory ${SZ_BIN_DIR} && \ + chmod +x ${SZ_BIN_DIR}/7zz && \ + chmod +x ${SZ_BIN_DIR}/7zzs && \ + find ${SZ_BIN_DIR} -maxdepth 1 -mindepth 1 ! -name '7zz' ! -name '7zzs' -exec mv {} ${SZ_BIN_DIR}/.. \; + +ENV PATH="${SZ_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo 7zz $(7zz | head -4) && \ + echo 7z $(7z | head -4) && \ + echo "=============================================" + +################################################################## +# Install LazyGit official binary +################################################################## +RUN mkdir -p ${LAZYGIT_BIN_DIR} +ADD ${LAZYGIT_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LAZYGIT_TEMP} --directory ${LAZYGIT_BIN_DIR} && \ + chmod +x ${LAZYGIT_BIN_DIR}/lazygit && \ + find ${LAZYGIT_BIN_DIR} -maxdepth 1 -mindepth 1 ! -name 'lazygit' -exec mv {} ${LAZYGIT_BIN_DIR}/.. \; + +ENV PATH="${LAZYGIT_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo lazygit $(lazygit --version) && \ + echo "=============================================" + +################################################################## +# Install LazyCLI official binary +################################################################## +RUN mkdir -p ${LAZYCLI_BIN_DIR} +ADD ${LAZYCLI_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LAZYCLI_TEMP} --directory ${LAZYCLI_BIN_DIR} && \ + chmod +x ${LAZYCLI_BIN_DIR}/lazycli && \ + find ${LAZYCLI_BIN_DIR} -maxdepth 1 -mindepth 1 ! -name 'lazycli' -exec mv {} ${LAZYCLI_BIN_DIR}/.. \; + +ENV PATH="${LAZYCLI_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo lazycli $(lazycli --version) && \ + echo "=============================================" + +################################################################## +# Install LazyNPM official binary +################################################################## +RUN mkdir -p ${LAZYNPM_BIN_DIR} +ADD ${LAZYNPM_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LAZYNPM_TEMP} --directory ${LAZYNPM_BIN_DIR} && \ + chmod +x ${LAZYNPM_BIN_DIR}/lazynpm && \ + find ${LAZYNPM_BIN_DIR} -maxdepth 1 -mindepth 1 ! -name 'lazynpm' -exec mv {} ${LAZYNPM_BIN_DIR}/.. \; + +ENV PATH="${LAZYNPM_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo lazynpm $(lazynpm --version) && \ + echo "=============================================" + +################################################################## +# Install LazyDocker official binary +################################################################## +RUN mkdir -p ${LAZYDOCKER_BIN_DIR} +ADD ${LAZYDOCKER_DOWNLOAD_URL} /tmp + +RUN tar -xzf ${LAZYDOCKER_TEMP} --directory ${LAZYDOCKER_BIN_DIR} && \ + chmod +x -R ${LAZYDOCKER_BIN_DIR}/lazydocker && \ + find ${LAZYDOCKER_BIN_DIR} -maxdepth 1 -mindepth 1 ! -name 'lazydocker' -exec mv {} ${LAZYDOCKER_BIN_DIR}/.. \; + +ENV PATH="${LAZYDOCKER_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo lazydocker $(lazydocker --version) && \ + echo "=============================================" + +################################################################## +# dumb init +################################################################## +RUN mkdir -p ${DUMB_INIT_BIN_DIR} +ADD ${DUMB_INIT_DOWNLOAD_URL} ${DUMB_INIT_BIN_DIR} + +RUN mv -fv ${DUMB_INIT_BIN_DIR}/dumb-init_${DUMB_INIT_VERSION}_x86_64 ${DUMB_INIT_BIN_DIR}/dumb-init && \ + chmod +x ${DUMB_INIT_BIN_DIR}/dumb-init + +ENV PATH="${DUMB_INIT_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo dumb-init $(dumb-init --version) && \ + echo "=============================================" + +################################################################## +# gosu for easy step-down from root +################################################################## +RUN mkdir -p ${GOSU_BIN_DIR} +ADD ${GOSU_DOWNLOAD_URL} ${GOSU_BIN_DIR} + +RUN mv -fv ${GOSU_BIN_DIR}/gosu-amd64 ${GOSU_BIN_DIR}/gosu && \ + chmod +x -R ${GOSU_BIN_DIR}/gosu + +ENV PATH="${GOSU_BIN_DIR}:${PATH}" + +RUN echo "=============================================" && \ + echo gosu $(gosu --version) && \ + echo "=============================================" + +################################################################## +# Generate ssl key +################################################################## +RUN openssl dhparam -out /etc/ssl/dhparam.pem 4096 + +################################################################## +# 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/sid/main/Makefile b/linux/ecosystem/epicmorg/debian/sid/main/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/main/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/sid/main/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/main/docker-compose.yml new file mode 100644 index 000000000..f2c219009 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/main/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/main/etc/apt/sources.list.d/github_git-lfs.list b/linux/ecosystem/epicmorg/debian/sid/main/etc/apt/sources.list.d/github_git-lfs.list new file mode 100644 index 000000000..356409129 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/main/etc/apt/sources.list.d/github_git-lfs.list @@ -0,0 +1,2 @@ +deb [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ sid main +deb-src [signed-by=/etc/apt/keyrings/github_git-lfs-archive-keyring.gpg] https://packagecloud.io/github/git-lfs/debian/ sid main diff --git a/linux/ecosystem/epicmorg/debian/sid/main/etc/apt/sources.list.d/launchpad_git-mainline.list b/linux/ecosystem/epicmorg/debian/sid/main/etc/apt/sources.list.d/launchpad_git-mainline.list new file mode 100644 index 000000000..e9602c33a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/main/etc/apt/sources.list.d/launchpad_git-mainline.list @@ -0,0 +1,5 @@ +# mainline +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu noble main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/candidate/ubuntu noble main + + diff --git a/linux/ecosystem/epicmorg/debian/sid/main/etc/apt/sources.list.d/launchpad_git-stable.list b/linux/ecosystem/epicmorg/debian/sid/main/etc/apt/sources.list.d/launchpad_git-stable.list new file mode 100644 index 000000000..a12ae44f4 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/main/etc/apt/sources.list.d/launchpad_git-stable.list @@ -0,0 +1,3 @@ +# stable +deb [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu noble main +deb-src [signed-by=/etc/apt/keyrings/launchpad-git.gpg] https://ppa.launchpadcontent.net/git-core/ppa/ubuntu noble main diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/current/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/current/Dockerfile new file mode 100644 index 000000000..5a9e6a3dc --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/current/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/current/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/current/Dockerfile.develop new file mode 100644 index 000000000..3d14bb5f2 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/current/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid-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/sid/nodejs/current/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/current/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/current/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/current/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/current/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/current/docker-compose.yml new file mode 100644 index 000000000..b9e5e5d2e --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/current/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs-current" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs-current" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Dockerfile new file mode 100644 index 000000000..1b0df15b6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/lts/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Dockerfile.develop new file mode 100644 index 000000000..206a9bc35 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid-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/sid/nodejs/lts/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/lts/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/lts/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/docker-compose.yml new file mode 100644 index 000000000..b6672fda7 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/lts/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs-lts" + build: + context: . + app-develop: + image: "epicmorg/debian:sidevelop-nodejs-lts" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node0.12/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node0.12/Dockerfile new file mode 100644 index 000000000..3ef00642b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node0.12/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node0.12/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node0.12/Dockerfile.develop new file mode 100644 index 000000000..8c855025c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node0.12/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid-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/sid/nodejs/node0.12/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node0.12/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node0.12/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node0.12/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node0.12/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node0.12/docker-compose.yml new file mode 100644 index 000000000..98868d90c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node0.12/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs0.12" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs0.12" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node10/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node10/Dockerfile new file mode 100644 index 000000000..edee24913 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node10/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node10/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node10/Dockerfile.develop new file mode 100644 index 000000000..68f422da1 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node10/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid-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/sid/nodejs/node10/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node10/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node10/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node10/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node10/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node10/docker-compose.yml new file mode 100644 index 000000000..1a17b76ea --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node10/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs10" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs10" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node11/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node11/Dockerfile new file mode 100644 index 000000000..5b0c24eba --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node11/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node11/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node11/Dockerfile.develop new file mode 100644 index 000000000..9043f6b6e --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node11/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sidevelop +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/sid/nodejs/node11/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node11/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node11/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node11/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node11/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node11/docker-compose.yml new file mode 100644 index 000000000..694959e36 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node11/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs11" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs11" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node12/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node12/Dockerfile new file mode 100644 index 000000000..04f6ab015 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node12/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node12/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node12/Dockerfile.develop new file mode 100644 index 000000000..7a32dd7e5 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node12/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sidevelop +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/sid/nodejs/node12/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node12/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node12/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node12/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node12/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node12/docker-compose.yml new file mode 100644 index 000000000..17a5bff58 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node12/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs12" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs12" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node13/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node13/Dockerfile new file mode 100644 index 000000000..e2889baf3 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node13/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node13/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node13/Dockerfile.develop new file mode 100644 index 000000000..a109a346f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node13/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid-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/sid/nodejs/node13/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node13/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node13/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node13/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node13/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node13/docker-compose.yml new file mode 100644 index 000000000..5062fade7 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node13/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs13" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs13" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node14/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node14/Dockerfile new file mode 100644 index 000000000..03fdd813c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node14/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node14/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node14/Dockerfile.develop new file mode 100644 index 000000000..799a98fd2 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node14/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid-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/sid/nodejs/node14/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node14/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node14/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node14/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node14/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node14/docker-compose.yml new file mode 100644 index 000000000..7931baeff --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node14/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs14" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs14" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node15/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node15/Dockerfile new file mode 100644 index 000000000..f454606b7 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node15/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node15/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node15/Dockerfile.develop new file mode 100644 index 000000000..c7468a58b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node15/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:sid-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/sid/nodejs/node15/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node15/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node15/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node15/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node15/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node15/docker-compose.yml new file mode 100644 index 000000000..d5cca6c96 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node15/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs15" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs15" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node16/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node16/Dockerfile new file mode 100644 index 000000000..4e7afe8e1 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node16/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node16/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node16/Dockerfile.develop new file mode 100644 index 000000000..c551c9732 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node16/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:sid-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/sid/nodejs/node16/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node16/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node16/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node16/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node16/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node16/docker-compose.yml new file mode 100644 index 000000000..826b74921 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node16/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs16" + build: + context: . + app-develop: + image: "epicmorg/debian:sidevelop-nodejs16" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node17/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node17/Dockerfile new file mode 100644 index 000000000..d579f31d1 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node17/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node17/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node17/Dockerfile.develop new file mode 100644 index 000000000..4cefd8e86 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node17/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:sid-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/sid/nodejs/node17/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node17/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node17/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node17/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node17/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node17/docker-compose.yml new file mode 100644 index 000000000..1cc264b5c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node17/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs17" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs17" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node18/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node18/Dockerfile new file mode 100644 index 000000000..177743c2c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node18/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node18/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node18/Dockerfile.develop new file mode 100644 index 000000000..177743c2c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node18/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node18/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node18/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node18/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node18/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node18/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node18/docker-compose.yml new file mode 100644 index 000000000..99e6133fe --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node18/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sidodejs18" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs18" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node19/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node19/Dockerfile new file mode 100644 index 000000000..d53d239dc --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node19/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node19/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node19/Dockerfile.develop new file mode 100644 index 000000000..6eafac188 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node19/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sidop +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/sid/nodejs/node19/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node19/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node19/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node19/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node19/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node19/docker-compose.yml new file mode 100644 index 000000000..f169b4bdc --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node19/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs19" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs19" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Dockerfile new file mode 100644 index 000000000..1b0df15b6 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node20/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Dockerfile.develop new file mode 100644 index 000000000..206a9bc35 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid-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/sid/nodejs/node20/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node20/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node20/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/docker-compose.yml new file mode 100644 index 000000000..92213ce63 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node20/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs20" + build: + context: . + app-develop: + image: "epicmorg/debian:sidop-nodejs20" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node21/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node21/Dockerfile new file mode 100644 index 000000000..5a6ffe023 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node21/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node21/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node21/Dockerfile.develop new file mode 100644 index 000000000..7deaf8140 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node21/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sidop +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/sid/nodejs/node21/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node21/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node21/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node21/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node21/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node21/docker-compose.yml new file mode 100644 index 000000000..927f482e3 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node21/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs21" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-nodejs21" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node22/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node22/Dockerfile new file mode 100644 index 000000000..5a9e6a3dc --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node22/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node22/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node22/Dockerfile.develop new file mode 100644 index 000000000..6adfc30a8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node22/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sidevelop +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/sid/nodejs/node22/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node22/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node22/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node22/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node22/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node22/docker-compose.yml new file mode 100644 index 000000000..a3a68edd5 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node22/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs22" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs22" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node4/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node4/Dockerfile new file mode 100644 index 000000000..e9a0bdcab --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node4/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node4/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node4/Dockerfile.develop new file mode 100644 index 000000000..65e91490f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node4/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:sid-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/sid/nodejs/node4/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node4/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node4/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node4/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node4/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node4/docker-compose.yml new file mode 100644 index 000000000..0d9dc1b67 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node4/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs4" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs4" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node5/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node5/Dockerfile new file mode 100644 index 000000000..ac2c332aa --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node5/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node5/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node5/Dockerfile.develop new file mode 100644 index 000000000..74482f9d5 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node5/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:sidelop +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/sid/nodejs/node5/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node5/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node5/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node5/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node5/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node5/docker-compose.yml new file mode 100644 index 000000000..9897b93be --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node5/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sids5" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs5" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node6/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node6/Dockerfile new file mode 100644 index 000000000..fcbeb8406 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node6/Dockerfile @@ -0,0 +1,47 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node6/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node6/Dockerfile.develop new file mode 100644 index 000000000..813be0471 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node6/Dockerfile.develop @@ -0,0 +1,47 @@ +FROM epicmorg/debian:sid-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/sid/nodejs/node6/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node6/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node6/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node6/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node6/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node6/docker-compose.yml new file mode 100644 index 000000000..a01f9428b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node6/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs6" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs6" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node7/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node7/Dockerfile new file mode 100644 index 000000000..e6660e213 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node7/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node7/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node7/Dockerfile.develop new file mode 100644 index 000000000..6bfe6e117 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node7/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid-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/sid/nodejs/node7/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node7/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node7/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node7/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node7/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node7/docker-compose.yml new file mode 100644 index 000000000..391f2875b --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node7/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs7" + build: + context: . + app-develop: + image: "epicmorg/debian:sidelop-nodejs7" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node8/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node8/Dockerfile new file mode 100644 index 000000000..b58d2720a --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node8/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node8/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node8/Dockerfile.develop new file mode 100644 index 000000000..584a46fd5 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node8/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid-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/sid/nodejs/node8/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node8/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node8/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node8/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node8/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node8/docker-compose.yml new file mode 100644 index 000000000..906aab404 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node8/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs8" + build: + context: . + app-develop: + image: "epicmorg/debian:sidevelop-nodejs8" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/nodejs/node9/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node9/Dockerfile new file mode 100644 index 000000000..023690ee7 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node9/Dockerfile @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid +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/sid/nodejs/node9/Dockerfile.develop b/linux/ecosystem/epicmorg/debian/sid/nodejs/node9/Dockerfile.develop new file mode 100644 index 000000000..6fa6e83d1 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node9/Dockerfile.develop @@ -0,0 +1,46 @@ +FROM epicmorg/debian:sid-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/sid/nodejs/node9/Makefile b/linux/ecosystem/epicmorg/debian/sid/nodejs/node9/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node9/README.md b/linux/ecosystem/epicmorg/debian/sid/nodejs/node9/README.md new file mode 100644 index 000000000..b53fe01e8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/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/sid/nodejs/node9/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/nodejs/node9/docker-compose.yml new file mode 100644 index 000000000..d6e491127 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/nodejs/node9/docker-compose.yml @@ -0,0 +1,11 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-nodejs9" + build: + context: . + app-develop: + image: "epicmorg/debian:sid-develop-nodejs9" + build: + context: . + dockerfile: ./Dockerfile.develop diff --git a/linux/ecosystem/epicmorg/debian/sid/slim/Dockerfile b/linux/ecosystem/epicmorg/debian/sid/slim/Dockerfile new file mode 100644 index 000000000..3f021494c --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/slim/Dockerfile @@ -0,0 +1,101 @@ +FROM debian:sid-slim +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +LABEL org.opencontainers.image.vendor="EpicMorg DevTeam, developer@epicm.org" +LABEL org.opencontainers.image.authors="STAM, kasthack, Aleks-Z" +LABEL org.opencontainers.image.source="https://github.com/EpicMorg/docker" +LABEL org.opencontainers.image.url="https://github.com/EpicMorg/docker" +LABEL donate.crypto.TON="EQDvHXRK-K1ZieJhgTD9JZQk7xCnWzRbctYnUkWq1lZq1bUg" +LABEL donate.crypto.ETH="0x26a8443a694f08cdfec966aa6fd72c45068753ec" +LABEL donate.crypto.BTC="bc1querz8ug9asjmsuy6yn4a94a2athgprnu7e5zq2" +LABEL donate.crypto.LTC="ltc1qtwwacq8f0n76fer2y83wxu540hddnmf8cdrlvg" +LABEL donate.crypto.NVC="4SbMynYETyhmKdggu8f38ULU6yQKiJPuo6" +LABEL donate.crypto.DOGE="DHyfE1CZzWtyaQiaMmv6g4KvXVQRUgrYE6" +LABEL donate.crypto.PPC="pQWArPzYoLppNe7ew3QPfto1k1eq66BYUB" +LABEL donate.crypto.RVN="R9t2LKeLhDSZBKNgUzSDZAossA3UqNvbV3" +LABEL donate.crypto.ZEC="t1KRMMmwMSZth8vJcd2ZHtPEFKTQ74yVixE" +LABEL donate.crypto.XMR="884PqZ1gDjWW7fKxtbaeRoBeSh9EGZbkqUyLriWmuKbwLZrAJdYUs4wQxoVfEJoW7LBhdQMP9cFhZQpJr6xvg7esHLdCbb1" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# prepare system +################################################################## +RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done +RUN mkdir -p /etc/apt/keyrings + +################################################################## +# sources list +################################################################## +RUN rm -rfv /etc/apt/sources.list +RUN rm -rfv /etc/apt/sources.list.d/debian.sources +RUN rm -rfv /etc/locale.gen + +COPY etc/apt/keyrings/deb-multimedia-keyring.gpg /etc/apt/keyrings/deb-multimedia-keyring.gpg +COPY etc/apt/apt.conf.d/99-no-check-valid-until /etc/apt/apt.conf.d/99-no-check-valid-until +COPY etc/apt/apt.conf.d/98-allow-unauthenticated /etc/apt/apt.conf.d/98-allow-unauthenticated +COPY etc/apt/apt.conf.d/97-allow-cert-exp /etc/apt/apt.conf.d/97-allow-cert-exp +COPY etc/apt/apt.conf.d/96-apt-retries /etc/apt/apt.conf.d/96-apt-retries +COPY etc/apt/sources.list /etc/apt/sources.list +COPY etc/locale.gen /etc/locale.gen +COPY usr/local/share/ca-certificates /usr/local/share/ca-certificates + +RUN apt-get update && \ + apt-get upgrade -y && \ + apt-get dist-upgrade -y + +################################################################## +# installing utils +################################################################## +RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \ + apt-get install -y --allow-unauthenticated --no-install-recommends --no-install-suggests \ + apt-transport-https \ + apt-utils \ + gnupg \ + gnupg1 \ + gnupg2 \ + aptitude \ + bash \ + binutils \ + ca-certificates \ + locales \ + software-properties-common \ + curl \ + wget \ + locate \ + sudo + +RUN apt-key adv --keyserver keyserver.ubuntu.com --refresh-keys +RUN apt-key list | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | xargs -n1 apt-key adv --keyserver keyserver.ubuntu.com --recv-keys + +RUN update-ca-certificates --fresh + +################################################################## +# update locales +################################################################## +RUN locale-gen + +################################################################## +# Create Base directory for various soft +################################################################## +ENV EMG_LOCAL_BASE_DIR=/usr/local/share/epicmorg +RUN mkdir -p ${EMG_LOCAL_BASE_DIR} +COPY usr/local/epicmorg ${EMG_LOCAL_BASE_DIR} + +################################################################## +# Set default workdir +################################################################## +WORKDIR ${EMG_LOCAL_BASE_DIR} + +################################################################## +# 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 + +################################################################## +# update file db +################################################################## +RUN updatedb diff --git a/linux/ecosystem/epicmorg/debian/sid/slim/Makefile b/linux/ecosystem/epicmorg/debian/sid/slim/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/slim/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/sid/slim/docker-compose.yml b/linux/ecosystem/epicmorg/debian/sid/slim/docker-compose.yml new file mode 100644 index 000000000..9d4bcd409 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/slim/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/debian:sid-slim" + build: + context: . diff --git a/linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/apt.conf.d/96-apt-retries b/linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/apt.conf.d/96-apt-retries new file mode 100644 index 000000000..73262ccc3 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/apt.conf.d/96-apt-retries @@ -0,0 +1 @@ +Acquire::Retries "9"; diff --git a/linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/apt.conf.d/97-allow-cert-exp b/linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/apt.conf.d/97-allow-cert-exp new file mode 100644 index 000000000..e7ec46810 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/apt.conf.d/97-allow-cert-exp @@ -0,0 +1,2 @@ +Acquire::https::Verify-Peer "false"; +Acquire::https::Verify-Host "false"; diff --git a/linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/apt.conf.d/98-allow-unauthenticated b/linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/apt.conf.d/98-allow-unauthenticated new file mode 100644 index 000000000..b36cd01c8 --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/apt.conf.d/98-allow-unauthenticated @@ -0,0 +1 @@ +APT::Get::AllowUnauthenticated "true"; diff --git a/linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/apt.conf.d/99-no-check-valid-until b/linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/apt.conf.d/99-no-check-valid-until new file mode 100644 index 000000000..4e6d9209d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/apt.conf.d/99-no-check-valid-until @@ -0,0 +1 @@ +Acquire::Check-Valid-Until no; diff --git a/linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/keyrings/deb-multimedia-keyring.gpg b/linux/ecosystem/epicmorg/debian/sid/slim/etc/apt/keyrings/deb-multimedia-keyring.gpg new file mode 100644 index 0000000000000000000000000000000000000000..a4f2b1006e8a1c556adb8801ed5ac01fc4124d96 GIT binary patch literal 7607 zcma)>RZtz;wrv*+cM0z9Zh_$L?gR<$?(PJK;I6?I?(PuW-Q6WXa9O;)&$+kWe&^%V z`YJ9cov(3>nfXGm4*fX^dXn=bkQsMB{lDKAigCaascMFgYGc@7j z#e#?THo2dU=HOE@uw&T3m9mq$bGOLT-Wd3GR!1cGb`pT#Y8<+zOnzL5!ga@4(m(h) zJjLz}o%r+uw<V;bV&7%M)n5%-)uO#14}KKSH_^owTvFQ~%l<#E0Qr znWHWqot*l;w&XMs8*u}>OE+%`^4@vHq~(#2D*h02jx$eq(eHOBwFG9gxyaxSi|>lB z#jCTmF<)m*$?socm%1Y~;rnXwK{zwhY3@7dGf#FC-IXn8!5e1GMGehRDx^n^=Vi`B zStg0?L|vKIU5~)fiVP9}Is^cskygyo*~-P$%E+En!N}Rl*4D_Cl;7@uPQs>U#(&)~ zJ2+biMgqS;eS&}kPyz`cp%LNXU?HKg5a8hup|OFG5C9-C1P~_>8mNXnR}aL403g7l z=>^6xm}vyzcs8Sc*y>aCb&HqCtBV{bL%ux5aIUR}QH;Ew@a>49@QSIFq!yGWUjK@z zv%kT|%4w00p!5qs(;(ydIH#Z2D=`T9x^MlIo*@@|(O_J4d&i@L1w{0p+BbL>Bj@^(qGl;iPmtm4!X3 zU2L0fCxqyp16j{Vg-YICOIrA;z`fxjs==|CCdWB4rk)(d<%9_4`fUZt$3&~W^X{po z#iBlX+H34lXv2*13I8iBAf=OWx=C(y(@(&|b|jT=H5|~t<7kXpu}xCcLC}0K zex3I*BO|S_;3XZ1G;=Glz!fkBVc6sL;J+;-;F68SMg_}NKQlATxf$2akL*o#A+X9L zRWi6qg?zO>t|}C>q=i0@hX3o#D4%pn!{OCwtjyud!t$_N-qfb`3&Tg*sAIqMWGU5t z8~zefXoMsb8af;R<}W~e#OD8|19n4GfJCGXmh2pmC)0dnvYf|_Us>@hl$VrH0M#h# z9*`#~Ln3k%T=M*^`;IM;O-21Z%dj;PNC<@n0sQx%?3}*`RrVgBX^iQ(dm^I&f?5LB zvQz~{8dM+5bJ~mMP$O*ul-~OM^orhz#1FJ_MCaeoZO-Sr8JY6{oVbFrM-2DNFkS?Kn@+X}&pH;~Cv_erev z-emrxpIH+(#WejcL=?w44ZBkH-Z{i4L5)3;=0MRU#6o!!;GT7A-6f?Rr05e$4NGrD zz!z@jd6nk(GLeA9Ad?E+pr@}?<7Hs5nfap+j;Da0oYe0=Xdw_HU)9| z;V52oUgM%MSoa&yjnuxC-9;rtHqi*Z+qIg0>NQ;q7j!LwxLL3BKk@KK_52%;0@3qI z9+qPgH+$3%v(AA(9Z!}6L4}n@5~=HJyhP}l!XKl1?(wG*IqT|h3Q0<0gg+>XLe??Q zb3H;gFGkfgZ2MDHN$~=ITy4>gmlK&Sl#RG1%A5J0mTc)d+^xQY4uWapefT13ompkm28gFO%sLm)^${MkdhPT7V38Pn~2C6VlsmCK^W@P!C zdz%;k`lM{Nnz@aC9OM`sF*+(|Vglk84}c3QyL(BVG=bT<8-~bljjS1xo)aPHdV(S+ z{b~|_>{fzaI`=loJRMGhl?9_Or-=HPw*+?!3laS}#Gfr<;wTQ&MOu{mnfN#ctWf~Y z9X!zOVYxa$9Z}5J&MAxtiVr3{D#tjn~Wdk}0j%|Jig@7J^>ir_C@ z>Z4Wbj(v!ShKD^#*}LTeW{LFtrrq%Cft4tR!&f})!l%M7INXbc*n^l^Rx>$X1b+fo zUL2K7x`HUyj=XVSA{k~889Z=C!KQ{{GeI@C#F%kaO1M#Uy*3ET&=YM0qJ<8oo_L;H zT^zIh9+dc-jSFvoyn$=g2-LUAh2Uji`z&hn*{<}=<@6FTmPhXd_L_~^Mtc#jd{~m@ z!_I>bq2*vHj-A4HoU}t?4|7qf8hWKnCHr!+9pFVS)?(@T&3*5sOy^w>Y)~WRgQT?k z^p6w@sqp%n4kcoE*y_$>60ZnAo{z?(_lNj1?}}J?e<0>t02!PIF(8+cmw7K_q0}eP zA%W)Er`A(fMV53)&TI`26pq$^}Z1Awro7I+92Z846%=U_{}!(;+SA2wn>+Wnkd3r~8FBs2!v#%o-PYuKr`IsdnzM5+!1+x3*}a3? zv_e$=+kA#e;F;!m&SHQdi{PEgtGFFf#In;PGh4ckk`oLE)OAkF#@hB&j_!#hX{KZ! zzomLz9o(Ftgj=ZDET(;bF*cr7=CIgx%Bm>gTw55z*c_jhIDjYV1ik)MPVXc z!@ABxh;yxrT#Jioha0^mEc%d13i>%bpsj!mK3NpZIWNlzbXRec%z^}!_Fdl*gxvYw z9=%Go5U#w2P5gp|UU<&^W*P-g31tx$(x2Qo%b?eLBIHEz=WP)2Wr)jZE7L#AC+{k0 zkBgl83HAvU5)>OSA1ev{l3V;JeAP=*TdbTxd>>Y-@1vObiYu3G8nVfW>J)1laKOh7 z*Wa|Z-3j_3XtXZPCIb&As$5f$n8*&1GG`OQ?%3Ri)b~>HEzjz<1NrnONMSs9DpcGK zpkF{x_D9`Or;#E!ShW2&y{!zg1(QP{^LA}$EdzUD!r{7n04?VUF%35q5;LhHz zQ94Qtljt;R_R9|~hw`S zkf+?tx96Ml{bTZn&+{8VvNks=518g%Fk3nH!CUH^j)iTA^*fvX8SL)w9a zHqOj~_(<*oBEkA*8BRAB!r=8;i+&f3FCNHooT(zjo0)shoaQsb1!pomvg7VT>?08p z4d~?UX0glVOO8b<+}3X32+Y6=`KQ>5*6M3w<2O%J3dkNjw_8%;W48jxbH#AX3#g0) z`T0d}v?7)~BnH>-7U?Q5ZFHPBRVB|>9oE| zv)$7P4eIl`zM!h?bSTjM!0@a?NmcgHm|N~yRMv*~xqDNc2aY5PUP~#f?V||#V7I^z zctDCnmbSRBjgB|k6%`UYwRK78X+^ibA(@aVXMqJq`!cYnL|4pL()H>IW_%0x?mRI_ zw8n_aY{lfB>90)Tr@lVHeJm&&^SXtolzI>Q z%ZPQO|HR`zY>JQ`70gi-{a8BX)mA}X@uE%%HNwmz(@m>apznf~z3qt{BbaNm>Bn%Z z&KuL-kG?uTVoUaf+HCEf$TwW$sQ2aJf!z0n=Ez=xwi{+z;Lx&WGg?k35Uk>CDEf(;E}SnivdGIQ{KUkpuHQf3#jq0~b)Y)z8G>5nd}LNk@3 z6ize+#y9!kVPJeNYA8t>M&1immIMU+%TreC)4XuLX$Aomm6)EARb0_dpeRMBTduIT zM+;NbT~ry0*ro{6NS_*eZN3RrRcP97OVQE{9k1`@P6ntHHuVeXoOB?2z=>P#s>^qF zna4AO8xy~|;Um9LC}bA^{Zj$|pUq!s_LT#(#uuku*E>E4c;_94=vB3dypoz*t7@;d z4e5nbg4z;!j)&xGoB`gZ(T*{;gkiS_cd#9_bXt%bge|zXtbZiq(#t!?3&z@{H`QX_ zaF~wRk=M^>KfNppFV$I2G=b-`Gq3nMj@HVwGpdeJVs^RmL+Y zEY^?6jv1UL$6Zz0x`EoPLXyx+z^cpz=VG5iJh`&q^ZdabmLGc+r973UI9=|Xyxnzn z*Y7Z79A(5n!*D*O(AG0M$j7IHo4EhGpE>qe>5~4yN4to2BYScTq809oA&IKx%FV-+ zsYSd{seW|TM*((aaAVEhZW z%$mx1lhzlKhNBE-Xd?3|m95((C(|zIyK98O&i*e%)U{~y{L2x}C&x4lO%x7BwR+Ne z4lT)S`~;8WW!u-d)e6NuQzNC7A+*yYOj3RLJhMQG5RiIxjrKRGWRaQ%%HAHY7ya)d z^#^U5yK2es6EzM*yeT^w^_RFDXI=UBUvS)mrFK9T#k+LWtdl!S|dbSEeH_N*3mx>sz@3l>En%9=7 zv4L5acCh>>B(dW}t8 zPPyyT1)Y{lE2&*kQ-YH$Ui)9Ncf+%hi|Lllu5wj8L;abrg6Bdf0~)zbVA&0;t>QcL zyMCKAIpsiR>{9Xgm7X<1*@KjZyi^2cI$Ha+3f5`&^i= zjb>|2$c=V^W_C8X+=WCs7oP&o0>7twZ*N_NpPKWDW(_$k zyV!*2jN6k$XRCMOmz>Avg<)TKT*{*8d4}cw>8DW#Rb9H9_>m6`g-{|7)%6Tnmi3oh z3DQKiKI{|>)NKIsRv>?FzG=FfJWO096Glr+d}NY%N4 z8Iv&+@F*58?aoSxJf-xH6pF)${+o_8bgXFx973N{;YdWLHDXJ4&i_;ate zF#a<@E@SzlCBu1Yxn`z%yn0U_O(QF8NF(cimG-|Dp-gsewysuoW~Np~|FaPNzy996 zi1q*J@9w2&fClMl0okVUv*#PT)YSJ`MQYJ7_eG5WzL|g#p#I>mks)KzI(_TT zsv_;HEnZ>zm?Jiuutgo!?>#}04BGgsGO_DQ*6AcUs>H}OiBjgxFA2x;T$cq+cs2fp zIO_BWFibnmQ0NrDr9kZrSX84q(MPiqo-<$jvMGz|h#bmd6ZVIBS}?arSD@OKwV)z+ zM*<&NVyFD7qBj>lb<7Y*$8e%wXoCpOq?ePBzSEPs6$+T#-c{u7a{dy5rqrE;ABRNg zF%PEI^qa}HC^cSgvM&Nf3~9^yVbp=-d5Va*`L)hJqxiel#>SW4J~%6Su=g1wI;42G zyua);(T?NnXj>YYYu(7?CiqRVu=?yNVXnv6+n%OhxH*W7`@VW_H&h!xc4uaz1vt3P#w!$>$c-}=8L764p?`)%z_hkA?2;F+1@woX_!|l4FMGxAt zFG0-*wVkhFs55_&k{T@OmBk>%e+A)bqNBaW@xCix3pp|y%BK@nII-UYiAx15$52fb zq7+i+C~3P%bGYCuHYA)Bzd@PDW1`X*9;h>UL-_#JxeR690Lm~Dklmq%44uc5!5?9Q z_y`YdP~Am=WMCR|AQQ8xu@l%k9~}NHfE!ClOs{{y7L&)^@&|ptPwNa%vADJ-J0=rp z=iU~R`(so#Z#UsI?24FOW(e7*vAr%gn*E20FH9bWM7{ zItk6WHs<;38my@cX5!!lUfD37Y%i-lumoMBpnZ)3Ebmu%i;l2+&*$luB>*Peh-q64D;1K&?ok>kj3R=Bf^i-UCI;Lu7G%45-NCr=^FW`$Hj_IZ@*ENgbz8Fri*e*%sB$?Dt6PE;fjH=M&)Ze#C9 zF01qt8}?8li%>#`) will be added to `$PATH`. + +# Structure +pattern: `/usr/local/epicmorg///<..some data and files..>` + +example: +``` +/usr/local/epicmorg/ +|-- 7z +| `-- 7z2407 +| |-- History.txt +| |-- License.txt +| |-- MANUAL +| |-- bin +| `-- readme.txt +|-- dumb-init +| `-- 1.2.5 +| `-- bin +|-- gosu +| `-- 1.17 +| `-- bin +|-- lazycli +| `-- 0.1.15 +| `-- bin +|-- lazydocker +| `-- 0.23.3 +| |-- LICENSE +| |-- README.md +| `-- bin +|-- lazygit +| `-- 0.42.0 +| |-- LICENSE +| |-- README.md +| `-- bin +|-- lazynpm +| `-- 0.1.4 +| |-- LICENSE +| |-- README.md +| `-- bin +`-- p4 + `-- r23.2 + `-- bin +``` diff --git a/linux/ecosystem/epicmorg/debian/sid/slim/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt b/linux/ecosystem/epicmorg/debian/sid/slim/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt new file mode 100644 index 000000000..4c143a21f --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/slim/usr/local/share/ca-certificates/russian_trusted_root_ca_pem.crt @@ -0,0 +1,33 @@ +-----BEGIN CERTIFICATE----- +MIIFwjCCA6qgAwIBAgICEAAwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjIwMzAxMjEwNDE1WhcNMzIwMjI3MjEwNDE1WjBwMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMSAwHgYDVQQDDBdSdXNzaWFuIFRydXN0ZWQgUm9v +dCBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMfFOZ8pUAL3+r2n +qqE0Zp52selXsKGFYoG0GM5bwz1bSFtCt+AZQMhkWQheI3poZAToYJu69pHLKS6Q +XBiwBC1cvzYmUYKMYZC7jE5YhEU2bSL0mX7NaMxMDmH2/NwuOVRj8OImVa5s1F4U +zn4Kv3PFlDBjjSjXKVY9kmjUBsXQrIHeaqmUIsPIlNWUnimXS0I0abExqkbdrXbX +YwCOXhOO2pDUx3ckmJlCMUGacUTnylyQW2VsJIyIGA8V0xzdaeUXg0VZ6ZmNUr5Y +Ber/EAOLPb8NYpsAhJe2mXjMB/J9HNsoFMBFJ0lLOT/+dQvjbdRZoOT8eqJpWnVD +U+QL/qEZnz57N88OWM3rabJkRNdU/Z7x5SFIM9FrqtN8xewsiBWBI0K6XFuOBOTD +4V08o4TzJ8+Ccq5XlCUW2L48pZNCYuBDfBh7FxkB7qDgGDiaftEkZZfApRg2E+M9 +G8wkNKTPLDc4wH0FDTijhgxR3Y4PiS1HL2Zhw7bD3CbslmEGgfnnZojNkJtcLeBH +BLa52/dSwNU4WWLubaYSiAmA9IUMX1/RpfpxOxd4Ykmhz97oFbUaDJFipIggx5sX +ePAlkTdWnv+RWBxlJwMQ25oEHmRguNYf4Zr/Rxr9cS93Y+mdXIZaBEE0KS2iLRqa +OiWBki9IMQU4phqPOBAaG7A+eP8PAgMBAAGjZjBkMB0GA1UdDgQWBBTh0YHlzlpf +BKrS6badZrHF+qwshzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qwshzAS +BgNVHRMBAf8ECDAGAQH/AgEEMA4GA1UdDwEB/wQEAwIBhjANBgkqhkiG9w0BAQsF +AAOCAgEAALIY1wkilt/urfEVM5vKzr6utOeDWCUczmWX/RX4ljpRdgF+5fAIS4vH +tmXkqpSCOVeWUrJV9QvZn6L227ZwuE15cWi8DCDal3Ue90WgAJJZMfTshN4OI8cq +W9E4EG9wglbEtMnObHlms8F3CHmrw3k6KmUkWGoa+/ENmcVl68u/cMRl1JbW2bM+ +/3A+SAg2c6iPDlehczKx2oa95QW0SkPPWGuNA/CE8CpyANIhu9XFrj3RQ3EqeRcS +AQQod1RNuHpfETLU/A2gMmvn/w/sx7TB3W5BPs6rprOA37tutPq9u6FTZOcG1Oqj +C/B7yTqgI7rbyvox7DEXoX7rIiEqyNNUguTk/u3SZ4VXE2kmxdmSh3TQvybfbnXV +4JbCZVaqiZraqc7oZMnRoWrXRG3ztbnbes/9qhRGI7PqXqeKJBztxRTEVj8ONs1d +WN5szTwaPIvhkhO3CO5ErU2rVdUr89wKpNXbBODFKRtgxUT70YpmJ46VVaqdAhOZ +D9EUUn4YaeLaS8AjSF/h7UkjOibNc4qVDiPP+rkehFWM66PVnP1Msh93tc+taIfC +EYVMxjh8zNbFuoc7fzvvrFILLe7ifvEIUqSVIC/AzplM/Jxw7buXFeGP1qVCBEHq +391d/9RAfaZ12zkwFsl+IKwE/OZxW8AHa9i1p4GO0YSNuczzEm4= +-----END CERTIFICATE----- \ No newline at end of file diff --git a/linux/ecosystem/epicmorg/debian/sid/slim/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt b/linux/ecosystem/epicmorg/debian/sid/slim/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt new file mode 100644 index 000000000..2e3f8285d --- /dev/null +++ b/linux/ecosystem/epicmorg/debian/sid/slim/usr/local/share/ca-certificates/russian_trusted_sub_ca_pem.crt @@ -0,0 +1,41 @@ +-----BEGIN CERTIFICATE----- +MIIHQjCCBSqgAwIBAgICEAIwDQYJKoZIhvcNAQELBQAwcDELMAkGA1UEBhMCUlUx +PzA9BgNVBAoMNlRoZSBNaW5pc3RyeSBvZiBEaWdpdGFsIERldmVsb3BtZW50IGFu +ZCBDb21tdW5pY2F0aW9uczEgMB4GA1UEAwwXUnVzc2lhbiBUcnVzdGVkIFJvb3Qg +Q0EwHhcNMjIwMzAyMTEyNTE5WhcNMjcwMzA2MTEyNTE5WjBvMQswCQYDVQQGEwJS +VTE/MD0GA1UECgw2VGhlIE1pbmlzdHJ5IG9mIERpZ2l0YWwgRGV2ZWxvcG1lbnQg +YW5kIENvbW11bmljYXRpb25zMR8wHQYDVQQDDBZSdXNzaWFuIFRydXN0ZWQgU3Vi +IENBMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA9YPqBKOk19NFymrE +wehzrhBEgT2atLezpduB24mQ7CiOa/HVpFCDRZzdxqlh8drku408/tTmWzlNH/br +HuQhZ/miWKOf35lpKzjyBd6TPM23uAfJvEOQ2/dnKGGJbsUo1/udKSvxQwVHpVv3 +S80OlluKfhWPDEXQpgyFqIzPoxIQTLZ0deirZwMVHarZ5u8HqHetRuAtmO2ZDGQn +vVOJYAjls+Hiueq7Lj7Oce7CQsTwVZeP+XQx28PAaEZ3y6sQEt6rL06ddpSdoTMp +BnCqTbxW+eWMyjkIn6t9GBtUV45yB1EkHNnj2Ex4GwCiN9T84QQjKSr+8f0psGrZ +vPbCbQAwNFJjisLixnjlGPLKa5vOmNwIh/LAyUW5DjpkCx004LPDuqPpFsKXNKpa +L2Dm6uc0x4Jo5m+gUTVORB6hOSzWnWDj2GWfomLzzyjG81DRGFBpco/O93zecsIN +3SL2Ysjpq1zdoS01CMYxie//9zWvYwzI25/OZigtnpCIrcd2j1Y6dMUFQAzAtHE+ +qsXflSL8HIS+IJEFIQobLlYhHkoE3avgNx5jlu+OLYe0dF0Ykx1PGNjbwqvTX37R +Cn32NMjlotW2QcGEZhDKj+3urZizp5xdTPZitA+aEjZM/Ni71VOdiOP0igbw6asZ +2fxdozZ1TnSSYNYvNATwthNmZysCAwEAAaOCAeUwggHhMBIGA1UdEwEB/wQIMAYB +Af8CAQAwDgYDVR0PAQH/BAQDAgGGMB0GA1UdDgQWBBTR4XENCy2BTm6KSo9MI7NM +XqtpCzAfBgNVHSMEGDAWgBTh0YHlzlpfBKrS6badZrHF+qwshzCBxwYIKwYBBQUH +AQEEgbowgbcwOwYIKwYBBQUHMAKGL2h0dHA6Ly9yb3N0ZWxlY29tLnJ1L2NkcC9y +b290Y2Ffc3NsX3JzYTIwMjIuY3J0MDsGCCsGAQUFBzAChi9odHRwOi8vY29tcGFu +eS5ydC5ydS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNydDA7BggrBgEFBQcwAoYv +aHR0cDovL3JlZXN0ci1wa2kucnUvY2RwL3Jvb3RjYV9zc2xfcnNhMjAyMi5jcnQw +gbAGA1UdHwSBqDCBpTA1oDOgMYYvaHR0cDovL3Jvc3RlbGVjb20ucnUvY2RwL3Jv +b3RjYV9zc2xfcnNhMjAyMi5jcmwwNaAzoDGGL2h0dHA6Ly9jb21wYW55LnJ0LnJ1 +L2NkcC9yb290Y2Ffc3NsX3JzYTIwMjIuY3JsMDWgM6Axhi9odHRwOi8vcmVlc3Ry +LXBraS5ydS9jZHAvcm9vdGNhX3NzbF9yc2EyMDIyLmNybDANBgkqhkiG9w0BAQsF +AAOCAgEARBVzZls79AdiSCpar15dA5Hr/rrT4WbrOfzlpI+xrLeRPrUG6eUWIW4v +Sui1yx3iqGLCjPcKb+HOTwoRMbI6ytP/ndp3TlYua2advYBEhSvjs+4vDZNwXr/D +anbwIWdurZmViQRBDFebpkvnIvru/RpWud/5r624Wp8voZMRtj/cm6aI9LtvBfT9 +cfzhOaexI/99c14dyiuk1+6QhdwKaCRTc1mdfNQmnfWNRbfWhWBlK3h4GGE9JK33 +Gk8ZS8DMrkdAh0xby4xAQ/mSWAfWrBmfzlOqGyoB1U47WTOeqNbWkkoAP2ys94+s +Jg4NTkiDVtXRF6nr6fYi0bSOvOFg0IQrMXO2Y8gyg9ARdPJwKtvWX8VPADCYMiWH +h4n8bZokIrImVKLDQKHY4jCsND2HHdJfnrdL2YJw1qFskNO4cSNmZydw0Wkgjv9k +F+KxqrDKlB8MZu2Hclph6v/CZ0fQ9YuE8/lsHZ0Qc2HyiSMnvjgK5fDc3TD4fa8F +E8gMNurM+kV8PT8LNIM+4Zs+LKEV8nqRWBaxkIVJGekkVKO8xDBOG/aN62AZKHOe +GcyIdu7yNMMRihGVZCYr8rYiJoKiOzDqOkPkLOPdhtVlgnhowzHDxMHND/E2WA5p +ZHuNM/m0TXt2wTTPL7JH2YC0gPz/BvvSzjksgzU5rLbRyUKQkgU= +-----END CERTIFICATE----- \ No newline at end of file diff --git a/linux/ecosystem/nginx/1.27.0/main/Dockerfile b/linux/ecosystem/nginx/1.27.0/main/Dockerfile index a9bc45a05..99e2e6222 100644 --- a/linux/ecosystem/nginx/1.27.0/main/Dockerfile +++ b/linux/ecosystem/nginx/1.27.0/main/Dockerfile @@ -202,6 +202,9 @@ RUN cp -rf ${NGINX_TEMP_SRC}/* ${NGINX_SRC_DIR} && \ -I/usr/local/share/epicmorg/luajit2/2.1/include/luajit-2.1 \ -I/usr/local/share/epicmorg/gperftools/2.15/include/google \ -I/usr/local/share/epicmorg/gperftools/2.15/include/gperftools \ + -I/usr/include/x86_64-linux-gnu/libavcodec \ + -I/usr/include/x86_64-linux-gnu \ + -I/usr/include \ -static -g -O2 -lz -fPIC -Wdate-time -D_FORTIFY_SOURCE=2 -fstack-protector-strong \ -Wno-error=unused-but-set-variable -Wformat -Wno-error=date-time -Wno-error=implicit-fallthrough \ -Wno-error=cast-function-type -Wno-error=format-security -Wno-error=implicit-function-declaration \ @@ -213,6 +216,8 @@ RUN cp -rf ${NGINX_TEMP_SRC}/* ${NGINX_SRC_DIR} && \ -L/usr/local/share/epicmorg/libgd/2.3.3/lib \ -L/usr/local/share/epicmorg/gperftools/2.15/lib \ -L/usr/local/share/epicmorg/geoip/1.6.12/lib \ + -L/usr/lib/x86_64-linux-gnu \ + -L/usr/lib \ -static -Wl,-z,relro -Wl,-z,now -lz -fPIC" \ --with-pcre=${PCRE_SRC_DIR} \ --with-pcre-jit \