Merge pull request 'reorginization of files, updated language containers' (#2) from wm/base-container-updates into master

Reviewed-on: #2
This commit is contained in:
Wyatt J. Miller 2024-03-09 22:05:36 -06:00
commit 0efa8bcce9
10 changed files with 107 additions and 27 deletions

View File

@ -10,16 +10,43 @@ The base container serves as the base for every other container in this reposito
## Language containers
TODO
This includes base language containers (with the base container mentioned above) if there's a need to start a project from scratch.
What's included:
- Node.js container
- Node 20 is available
- Node 18 is coming soon
- Golang container
- Rust container
- .NET container
- .NET 7 and .NET 8 are included!
What's on the roadmap:
- Python container
- OpenJDK (Java/Kotlin/Scala) container
- Kotlin (native) container
- Julia container
- Lua container
- Clojure container
- Zig container
- Nim container
- Deno container
- Bun container
## Specialty containers
TODO
Nothing is here yet but I'll likely create containers that could avoid the headache at some point.
What's on the roadmap:
- Wine container
## Contribution
TODO
Feel free to send a PR containing a Containerfile (Dockerfile) and tell me what the container does!
## Attribution
TODO
Big thanks to the following projects:
- The Fedora Project
- Podman
- Toolbox

View File

@ -13,7 +13,8 @@ LABEL com.github.containers.toolbox="true" \
version="$VERSION" \
usage="To be built upon with custom developer images" \
summary="Wyatt's custom base image" \
maintainer="Wyatt J. Miller <wyatt@wyattjmiller.com>"
maintainer="Wyatt J. Miller <wyatt@wyattjmiller.com>" \
vendor="Miller Web Solutions"
# Install base development packages
RUN dnf install neovim tmux git fish zsh bat exa -y -q

View File

@ -1,6 +0,0 @@
# Get my custom base image from scm
FROM localhost/base-container
RUN dnf install golang -y -q
RUN fish -c "set -gx GOPATH /var/home/wyatt/Source/go/"

View File

@ -1,12 +1,12 @@
# .NET LTS development container image
# Written by Wyatt J. Miller, 2023
# Written by Wyatt J. Miller, 2023, 2024
# This image is opinionated, but you're welcome to customize as much as you like
# Start with the Fedora 38 image
FROM registry.fedoraproject.org/fedora-toolbox:38
# Start with the Fedora 39 image
FROM scm.wyattjmiller.com/wymiller/base_container:latest
# Label it right, ya know?
ENV NAME=custom_dotnet_lts_image VERSION=1.0
ENV NAME=custom_dotnet_lts_image VERSION=1.1
LABEL com.github.containers.toolbox="true" \
com.redhat.component="$NAME" \
name="$NAME" \
@ -16,4 +16,5 @@ LABEL com.github.containers.toolbox="true" \
maintainer="Wyatt J. Miller <wyatt@wyattjmiller.com>"
# Install .NET and related tools
RUN dnf install dotnet-sdk-6.0 dotnet-sdk-6.0
RUN dnf install dotnet-sdk-8.0 dotnet-templates-8.0
RUN fish -c "set -gx DOTNET_PATH $HOME/.dotnet/tools"

View File

@ -0,0 +1,21 @@
# Base Golang development image
# Written by Wyatt J. Miller, 2024
# This image is opinionated, but you're welcome to customize as much as you like
# Get my custom base image from scm
FROM scm.wyattjmiller.com/wymiller/base_container:latest
# Label it right, ya know?
ENV NAME=custom_base_golang_image VERSION=1.0
LABEL com.github.containers.toolbox="true" \
com.redhat.component="$NAME" \
name="$NAME" \
version="$VERSION" \
usage="Wyatt's base Golang image" \
summary="Wyatt's custom base Golang image" \
maintainer="Wyatt J. Miller <wyatt@wyattjmiller.com>" \
vendor="Miller Web Solutions"
# Download Golang and set the GOPATH
RUN dnf install golang -y -q
RUN fish -c "set -gx GOPATH /var/home/wyatt/Source/go/"

View File

@ -1,21 +1,21 @@
# Base Node.js container image
# Written by Wyatt J. Miller, 2023
# Written by Wyatt J. Miller, 2023, 2024
# This image is opinionated, but you're welcome to customize as much as you like
# Start with the Fedora 38 image
# Start with the Fedora 39 image
FROM scm.wyattjmiller.com/wymiller/base_container:latest
# Label it right, ya know?
ENV NAME=custom_base_node_image VERSION=1.0
ENV NAME=custom_base_node20_image VERSION=1.1
LABEL com.github.containers.toolbox="true" \
com.redhat.component="$NAME" \
name="$NAME" \
version="$VERSION" \
usage="Wyatt's base Node.js image" \
summary="Wyatt's custom base Node image" \
maintainer="Wyatt J. Miller <wyatt@wyattjmiller.com>"
summary="Wyatt's custom base Node 20 image" \
maintainer="Wyatt J. Miller <wyatt@wyattjmiller.com>" \
vendor="Miller Web Solutions"
# Install base development packages
RUN dnf install nodejs npm -y -q
RUN dnf clean all
RUN npm install typescript -g

View File

@ -0,0 +1,21 @@
# Base Node.js container image
# Written by Wyatt J. Miller, 2023, 2024
# This image is opinionated, but you're welcome to customize as much as you like
# Start with the Fedora 39 image
FROM scm.wyattjmiller.com/wymiller/base_container:latest
# Label it right, ya know?
ENV NAME=custom_base_node18_image VERSION=1.1
LABEL com.github.containers.toolbox="true" \
com.redhat.component="$NAME" \
name="$NAME" \
version="$VERSION" \
usage="Wyatt's base Node.js image" \
summary="Wyatt's custom base Node 18 image" \
maintainer="Wyatt J. Miller <wyatt@wyattjmiller.com>" \
vendor="Miller Web Solutions"
# Install base development packages
RUN dnf install nodejs18 npm -y -q
RUN npm install typescript -g

View File

@ -0,0 +1,20 @@
# Base Rust image
# Written by Wyatt J. Miller, 2024
# This image is opinionated, but you're welcome to customize as much as you like
# Get my custom base image from scm
FROM scm.wyattjmiller.com/wymiller/base_container:latest
# Label it right, ya know?
ENV NAME=custom_base_rust_image VERSION=1.1
LABEL com.github.containers.toolbox="true" \
com.redhat.component="$NAME" \
name="$NAME" \
version="$VERSION" \
usage="Wyatt's base Rust image" \
summary="Wyatt's custom base Rust image" \
maintainer="Wyatt J. Miller <wyatt@wyattjmiller.com>" \
vendor="Miller Web Solutions"
# Get latest Rust
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y

View File

@ -1,5 +0,0 @@
# Get my custom base image from scm
FROM localhost/base-container
RUN curl https://sh.rustup.rs -sSf | sh -s -- -y