devcontainer/Dockerfile
Adam Štrauch 896eeaeb1e
All checks were successful
Build and Push / build-and-push (push) Successful in 3m24s
Latest golang
2025-10-15 15:59:30 +02:00

44 lines
1.7 KiB
Docker

FROM registry.fedoraproject.org/fedora-toolbox:42
# Basic packages
RUN dnf check-update
RUN dnf install -y duf fd-find fish fzf htop ncdu tmux vim zstd ipcalc sdcv tldr jq genius pwgen httpie ripgrep lsd smartmontools wireguard-tools ffmpeg fastfetch
# Dev stuff
RUN rpm --import https://packages.microsoft.com/keys/microsoft.asc
RUN echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\nautorefresh=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | tee /etc/yum.repos.d/vscode.repo
RUN dnf check-update
# libxcrypt-compat is needed by python projects
RUN dnf install -y golang nodejs python3-devel mycli pgcli git-lfs awscli openssh-askpass make code libxcrypt-compat gettext just hexedit rclone postgresql pv
# Devops stuff
RUN dnf install -y ansible dig nmap
# Latest Golang
RUN export GOVERSION=1.25.3 && \
wget -O /usr/src/go${GOVERSION}.linux-amd64.tar.gz https://go.dev/dl/go${GOVERSION}.linux-amd64.tar.gz && \
rm -rf /usr/local/go && \
tar -C /usr/local -xzf /usr/src/go${GOVERSION}.linux-amd64.tar.gz && \
rm -f /usr/src/go${GOVERSION}.linux-amd64.tar.gz && \
unlink /usr/local/bin/go || echo "" && \
unlink /usr/local/bin/gofmt || echo "" && \
ln -s /usr/local/go/bin/go /usr/local/bin/go && \
ln -s /usr/local/go/bin/gofmt /usr/local/bin/gofmt
# User
RUN groupadd cx -g 1000
RUN useradd cx -u 1000 -g cx -d /var/home/cx -s /usr/bin/fish
# Certs
ADD rosti_ca.crt /etc/pki/ca-trust/source/anchors/rosti_ca.pem
RUN update-ca-trust
# Podman
ADD uni.sh /usr/bin/podman
ADD podman-compose.sh /usr/bin/podman-compose
ADD uni.sh /usr/bin/docker
ADD uni.sh /usr/bin/xdg-open
ADD uni.sh /usr/bin/tailscale
# Incus
ADD uni.sh /usr/bin/incus