add ubuntu-full image
This commit is contained in:
commit
b45b165f71
2 changed files with 82 additions and 0 deletions
40
ubuntu-full/Dockerfile
Normal file
40
ubuntu-full/Dockerfile
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
FROM ubuntu:24.04
|
||||
|
||||
# Prevent interactive prompts during install
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Install Base Tools (curl, wget, ssh, git, build-essential)
|
||||
RUN apt-get update && apt-get install -y \
|
||||
curl \
|
||||
wget \
|
||||
git \
|
||||
openssh-client \
|
||||
build-essential \
|
||||
ca-certificates \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install Node.js (using NodeSource for latest LTS) and pnpm
|
||||
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
|
||||
&& apt-get install -y nodejs \
|
||||
&& npm install -g pnpm \
|
||||
&& npm install -g tailwindcss @tailwindcss/cli
|
||||
|
||||
# Install Go 1.25.1
|
||||
# Downloads the binary tarball and installs to /usr/local/go
|
||||
RUN wget https://go.dev/dl/go1.25.1.linux-amd64.tar.gz \
|
||||
&& tar -C /usr/local -xzf go1.25.1.linux-amd64.tar.gz \
|
||||
&& rm go1.25.1.linux-amd64.tar.gz
|
||||
|
||||
# Set Go environment variables
|
||||
ENV PATH="/usr/local/go/bin:${PATH}"
|
||||
ENV GOPATH="/go"
|
||||
ENV PATH="${GOPATH}/bin:${PATH}"
|
||||
|
||||
# Install Task (v3.46.4)
|
||||
RUN sh -c "$(curl --location https://taskfile.dev/install.sh)" -- -d -b /usr/local/bin v3.46.4
|
||||
|
||||
# Install Templ (v0.3.960)
|
||||
RUN go install github.com/a-h/templ/cmd/templ@v0.3.960
|
||||
|
||||
# Verify installations (Optional, for debugging build)
|
||||
RUN node -v && go version && task --version && templ --version
|
||||
42
ubuntu-full/Taskfile.yml
Normal file
42
ubuntu-full/Taskfile.yml
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
version: '3'
|
||||
vars:
|
||||
REGISTRY: git.juancwu.dev
|
||||
OWNER: juancwu
|
||||
IMAGE_NAME: ubuntu-24.04
|
||||
VERSION: latest
|
||||
FULL_IMAGE: "{{.REGISTRY}}/{{.OWNER}}/{{.IMAGE_NAME}}:{{.VERSION}}"
|
||||
tasks:
|
||||
default:
|
||||
desc: "Builds the image"
|
||||
cmds:
|
||||
- task: build
|
||||
login:
|
||||
desc: "Login to the private registry (interactive)"
|
||||
cmds:
|
||||
- echo "Logging into {{.REGISTRY}}..."
|
||||
- docker login {{.REGISTRY}}
|
||||
build:
|
||||
desc: "Build the Docker image locally"
|
||||
cmds:
|
||||
- echo "Building {{.FULL_IMAGE}}..."
|
||||
- docker build -t {{.FULL_IMAGE}} .
|
||||
push:
|
||||
desc: "Build and push the image to the registry"
|
||||
deps: [build]
|
||||
cmds:
|
||||
- echo "Pushing to registry..."
|
||||
- docker push {{.FULL_IMAGE}}
|
||||
test:
|
||||
desc: "Run a quick sanity check on the built image"
|
||||
deps: [build]
|
||||
cmds:
|
||||
- echo "Testing Go version..."
|
||||
- docker run --rm {{.FULL_IMAGE}} go version
|
||||
- echo "Testing Tailwind CLI..."
|
||||
- docker run --rm {{.FULL_IMAGE}} tailwindcss --help
|
||||
- echo "Testing Node version..."
|
||||
- docker run --rm {{.FULL_IMAGE}} node -v
|
||||
clean:
|
||||
desc: "Remove the local docker image to free space"
|
||||
cmds:
|
||||
- docker rmi {{.FULL_IMAGE}} || true
|
||||
Loading…
Add table
Add a link
Reference in a new issue