Skip to content

Commit ae19476

Browse files
committed
refactor!: new repo name, add ubuntu-node-dev script
1 parent 8b05eb7 commit ae19476

15 files changed

+89
-43
lines changed

.github/workflows/build_image_pnpm.yml renamed to .github/workflows/build_image_alpine_pnpm.yml

Lines changed: 21 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -47,50 +47,55 @@ jobs:
4747
echo "suffix=${TAG}" >> $GITHUB_OUTPUT
4848
echo "pnpmVersion=${TAG:4}" >> $GITHUB_OUTPUT
4949
50-
- name: Build node
50+
- name: Build alpine-node
5151
uses: docker/build-push-action@v6
5252
with:
53-
file: ./node.Dockerfile
53+
file: ./alpine/alpine-node.Dockerfile
5454
platforms: linux/amd64,linux/arm64
5555
push: true
56+
# Also push to old docker hub repo: `namesmt/images-alpine`
5657
tags: |
57-
${{ steps.container_detail.outputs.imageName }}:node
58-
${{ steps.container_detail.outputs.imageName }}:node_${{ steps.container_detail.outputs.suffix }}
58+
namesmt/images-alpine:node
59+
${{ steps.container_detail.outputs.imageName }}:alpine-node
60+
${{ steps.container_detail.outputs.imageName }}:alpine-node_${{ steps.container_detail.outputs.suffix }}
5961
build-args: |
6062
PNPM_VERSION=${{ steps.container_detail.outputs.pnpmVersion }}
6163
62-
- name: Build node-dev
64+
- name: Build alpine-node-dev
6365
uses: docker/build-push-action@v6
6466
with:
65-
file: ./node-dev.Dockerfile
67+
file: ./alpine/alpine-node-dev.Dockerfile
6668
platforms: linux/amd64,linux/arm64
6769
push: true
6870
tags: |
69-
${{ steps.container_detail.outputs.imageName }}:node-dev
70-
${{ steps.container_detail.outputs.imageName }}:node-dev_${{ steps.container_detail.outputs.suffix }}
71+
namesmt/images-alpine:node-dev
72+
${{ steps.container_detail.outputs.imageName }}:alpine-node-dev
73+
${{ steps.container_detail.outputs.imageName }}:alpine-node-dev_${{ steps.container_detail.outputs.suffix }}
7174
build-args: |
7275
PNPM_VERSION=${{ steps.container_detail.outputs.pnpmVersion }}
7376
74-
- name: Build node-aws
77+
- name: Build alpine-node-aws
7578
uses: docker/build-push-action@v6
7679
with:
77-
file: ./node-aws.Dockerfile
80+
file: ./alpine/alpine-node-aws.Dockerfile
7881
platforms: linux/amd64,linux/arm64
7982
push: true
8083
tags: |
81-
${{ steps.container_detail.outputs.imageName }}:node-aws
82-
${{ steps.container_detail.outputs.imageName }}:node-aws_${{ steps.container_detail.outputs.suffix }}
84+
namesmt/images-alpine:node-aws
85+
${{ steps.container_detail.outputs.imageName }}:alpine-node-aws
86+
${{ steps.container_detail.outputs.imageName }}:alpine-node-aws_${{ steps.container_detail.outputs.suffix }}
8387
build-args: |
8488
PNPM_VERSION=${{ steps.container_detail.outputs.pnpmVersion }}
8589
86-
- name: Build node-aws-dev
90+
- name: Build alpine-node-aws-dev
8791
uses: docker/build-push-action@v6
8892
with:
89-
file: ./node-aws-dev.Dockerfile
93+
file: ./alpine/alpine-node-aws-dev.Dockerfile
9094
platforms: linux/amd64,linux/arm64
9195
push: true
9296
tags: |
93-
${{ steps.container_detail.outputs.imageName }}:node-aws-dev
94-
${{ steps.container_detail.outputs.imageName }}:node-aws-dev_${{ steps.container_detail.outputs.suffix }}
97+
namesmt/images-alpine:node-aws-dev
98+
${{ steps.container_detail.outputs.imageName }}:alpine-node-aws-dev
99+
${{ steps.container_detail.outputs.imageName }}:alpine-node-aws-dev_${{ steps.container_detail.outputs.suffix }}
95100
build-args: |
96101
PNPM_VERSION=${{ steps.container_detail.outputs.pnpmVersion }}

.github/workflows/check_new_release.yml renamed to .github/workflows/check_new_release_pnpm.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Check for new release
1+
name: Check for new pnpm release
22

33
on:
44
schedule:
@@ -15,4 +15,4 @@ jobs:
1515
fetch-depth: 0
1616
- name: Check for new tags
1717
run: |
18-
./.github/scripts/new_release_check.sh
18+
./.github/scripts/new_release_check_pnpm.sh

README.md

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
1-
# [namesmt/images-alpine](https://github.com/NamesMT/images-alpine) - [Dockerhub link](https://hub.docker.com/r/namesmt/images-alpine)
2-
![Docker Pulls](https://img.shields.io/docker/pulls/namesmt/images-alpine)
3-
![Docker Image Size (node)](https://img.shields.io/docker/image-size/namesmt/images-alpine/node?label=image%20size%3Anode)
4-
![Docker Image Size (node-aws-dev)](https://img.shields.io/docker/image-size/namesmt/images-alpine/node-aws-dev?label=image%20size%3Anode-aws-dev)
1+
# [namesmt/linux-stuff](https://github.com/NamesMT/linux-stuff) - [Dockerhub link](https://hub.docker.com/r/namesmt/linux-stuff)
2+
![Docker Pulls](https://img.shields.io/docker/pulls/namesmt/linux-stuff)
3+
![Docker Image Size (alpine-node)](https://img.shields.io/docker/image-size/namesmt/linux-stuff/alpine-node?label=image%20size%3Anode)
4+
![Docker Image Size (alpine-node-aws-dev)](https://img.shields.io/docker/image-size/namesmt/linux-stuff/alpine-node-aws-dev?label=image%20size%3Anode-aws-dev)
55

66
### Features:
7-
- Alpine 3.21
8-
- Latest Node LTS & pnpm (**node**)
7+
- Latest Node LTS & pnpm (**node** tag)
98
- [@antfu/ni](https://github.com/antfu/ni)
10-
- Self-built latest aws-cli v2 (**aws**)
11-
- git + Oh My Zsh! (**dev**)
9+
- Self-built latest aws-cli v2 (**aws** tag)
10+
- git + Oh My Zsh! (**dev** tag)
1211
- Theme: [spaceship](https://spaceship-prompt.sh/)
1312
- SPACESHIP_USER_SHOW=false
1413
- SPACESHIP_DIR_TRUNC_REPO=false
@@ -20,60 +19,63 @@
2019
- https://github.com/zsh-users/zsh-autosuggestions
2120
- https://github.com/zsh-users/zsh-completions
2221
- https://github.com/zsh-users/zsh-syntax-highlighting
23-
- These common packages are also installed for all suffix/version:
24-
- `gcompat` `libstdc++` `zip` `unzip` `jq` `sudo` `curl` `zsh` `bash`
22+
- These common packages are installed for all:
23+
- `zip` `unzip` `jq` `sudo` `curl` `zsh` `bash`
24+
- *alpine-only:* `gcompat` `libstdc++`
2525

2626
---
2727

2828
### Use:
29-
Available on Docker registry: (auto-built on pnpm releases)
29+
30+
*(new versions are auto-built on new pnpm releases for now, their release cycle is good anchor point for new images, as well as I like to micro-optimize my CI build time by using the exact pnpm version :D)*
31+
32+
Available on Docker registry:
3033
```sh
31-
docker run -it --rm namesmt/images-alpine:node-dev
34+
docker run -it --rm namesmt/linux-stuff:alpine-node-dev
3235

3336
# For CIs, you should pin the version:
34-
docker run -it --rm namesmt/images-alpine:node-dev_pnpm8.10.5
37+
docker run -it --rm namesmt/linux-stuff:node-dev_pnpm8.10.5
3538
```
3639

3740
#### WSL2 Alpine Quick Start:
3841
Follow [Yuka](https://github.com/yuk7/AlpineWSL)'s instruction to install Alpine WSL2
3942

4043
Setting up `node-dev` *([`fnm`](https://github.com/Schniz/fnm) included to manage node version)*:
4144
```sh
42-
wget https://raw.githubusercontent.com/NamesMT/images-alpine/main/node-dev.sh -O- | bash
45+
wget https://raw.githubusercontent.com/NamesMT/linux-stuff/main/node-dev.sh -O- | bash
4346
```
4447

4548
#### Additional scripts:
4649
##### Install [fnm](https://github.com/Schniz/fnm) - Fast Node Manager, similar to `nvm`
4750
```sh
48-
wget https://raw.githubusercontent.com/NamesMT/images-alpine/main/scripts/install-fnm.sh -O- | sh
51+
wget https://raw.githubusercontent.com/NamesMT/linux-stuff/main/scripts/install-fnm.sh -O- | sh
4952
```
5053

5154
##### Install Docker
5255
```sh
53-
wget https://raw.githubusercontent.com/NamesMT/images-alpine/main/scripts/install-docker.sh -O- | sh
56+
wget https://raw.githubusercontent.com/NamesMT/linux-stuff/main/scripts/install-docker.sh -O- | sh
5457
```
5558
You can call `sh ~/alpine.docker.service.sh` to start the docker service,
5659
And call `sh ~/alpine.docker.service.sh stop` to stop the docker service.
5760

5861
##### Install [sgerrand/alpine-pkg-glibc](https://github.com/sgerrand/alpine-pkg-glibc)
5962
This package will help you in cases where an app requires glibc and `gcompat` doesn't work, like `Miniconda`, glibc `bun`.
6063
```sh
61-
wget https://raw.githubusercontent.com/NamesMT/images-alpine/main/scripts/install-glibc.sh -O- | sh
64+
wget https://raw.githubusercontent.com/NamesMT/linux-stuff/main/scripts/install-glibc.sh -O- | sh
6265
```
6366

6467
---
6568

6669
### Build:
6770
```sh
68-
export imageName=namesmt/images-alpine
71+
export imageName=namesmt/linux-stuff
6972
export imageTag= # node | node-dev | node-aws ...
7073
docker build -f "${imageTag}.Dockerfile" -t "${imageName}:${imageTag}" "."
7174
docker push "${imageName}:${imageTag}"
7275
```
7376

7477
## Roadmap
7578
- [x] Github Actions to automate build
76-
- builds will be automated with each pnpm release
7779

7880
## Credits:
7981
- [theidledeveloper/aws-cli-alpine](https://github.com/theidledeveloper/aws-cli-alpine): most of starting points
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
## +aws: Including aws-cli
2-
FROM namesmt/images-alpine:node-aws as builder
2+
FROM namesmt/linux-stuff:alpine-node-aws as builder
33
##
44

55

6-
FROM namesmt/images-alpine:node-dev
6+
FROM namesmt/linux-stuff:alpine-node-dev
77
LABEL maintainer="[email protected]"
88

99
## +aws: Copy built aws-cli
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ RUN find /opt/aws-cli/lib/aws-cli/awscli/botocore/data -name examples-1.json -de
3535
##
3636

3737

38-
FROM namesmt/images-alpine:node
38+
FROM namesmt/linux-stuff:alpine-node
3939
LABEL maintainer="[email protected]"
4040

4141
## +aws: Copy built aws-cli
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM namesmt/images-alpine:node
1+
FROM namesmt/linux-stuff:alpine-node
22
LABEL maintainer="[email protected]"
33

44
## +dev: enhancements for development :D

node-dev.sh renamed to alpine/alpine-node-dev.sh

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22

33
set -e
44

5+
## Note: not tested for non-root user installation, open issue/pr if needed
6+
57
## What this?
6-
## Script to install a similar dev environment like `node-dev.Dockerfile` environment in a fresh Alpine instance, preferably inside of WSL.
8+
## Script to install an opinionated dev environment, check out: gh:namesmt/linux-stuff
79

810
# Install basic packages
911
apk update
@@ -31,7 +33,7 @@ zsh
3133
export SHELL=/bin/zsh
3234

3335
# Install fnm (patched for alpine zsh) and install lts node using fnm
34-
wget https://raw.githubusercontent.com/NamesMT/images-alpine/main/scripts/install-fnm.sh -O- | sh
36+
wget https://raw.githubusercontent.com/NamesMT/linux-stuff/main/alpine/scripts/install-fnm.sh -O- | sh
3537
source ~/.zshrc
3638
fnm install --lts
3739

0 commit comments

Comments
 (0)