88 lines
4.1 KiB
Docker
88 lines
4.1 KiB
Docker
ARG BASE_IMAGE_NAME="${BASE_IMAGE_NAME:-silverblue}"
|
|
ARG IMAGE_FLAVOR="${IMAGE_FLAVOR:-main}"
|
|
ARG SOURCE_IMAGE="${SOURCE_IMAGE:-$BASE_IMAGE_NAME-$IMAGE_FLAVOR}"
|
|
ARG BASE_IMAGE="ghcr.io/ublue-os/${SOURCE_IMAGE}"
|
|
ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION:-37}"
|
|
|
|
FROM ${BASE_IMAGE}:${FEDORA_MAJOR_VERSION} AS bluefin
|
|
|
|
ARG IMAGE_NAME="${IMAGE_NAME}"
|
|
ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION}"
|
|
|
|
COPY etc /etc
|
|
COPY usr /usr
|
|
|
|
COPY --from=docker.io/bketelsen/vanilla-os:v0.0.12 /usr/share/backgrounds/vanilla /usr/share/backgrounds/vanilla
|
|
COPY --from=docker.io/bketelsen/vanilla-os:v0.0.12 /usr/share/gnome-background-properties/vanilla.xml /usr/share/gnome-background-properties/vanilla.xml
|
|
|
|
|
|
#RUN wget https://copr.fedorainfracloud.org/coprs/kylegospo/gnome-vrr/repo/fedora-"${FEDORA_MAJOR_VERSION}"/kylegospo-gnome-vrr-fedora-"${FEDORA_MAJOR_VERSION}".repo -O /etc/yum.repos.d/_copr_kylegospo-gnome-vrr.repo
|
|
#RUN rpm-ostree override replace --experimental --from repo=copr:copr.fedorainfracloud.org:kylegospo:gnome-vrr mutter gnome-control-center gnome-control-center-filesystem
|
|
|
|
ADD packages.json /tmp/packages.json
|
|
ADD build.sh /tmp/build.sh
|
|
|
|
RUN /tmp/build.sh && \
|
|
pip install --prefix=/usr yafti && \
|
|
systemctl unmask dconf-update.service && \
|
|
systemctl enable dconf-update.service && \
|
|
systemctl enable rpm-ostree-countme.service && \
|
|
systemctl enable tailscaled.service && \
|
|
fc-cache -f /usr/share/fonts/ubuntu && \
|
|
rm -f /etc/yum.repos.d/tailscale.repo && \
|
|
sed -i 's/#DefaultTimeoutStopSec.*/DefaultTimeoutStopSec=15s/' /etc/systemd/user.conf && \
|
|
sed -i 's/#DefaultTimeoutStopSec.*/DefaultTimeoutStopSec=15s/' /etc/systemd/system.conf && \
|
|
rm -rf /tmp/* /var/* && \
|
|
ostree container commit && \
|
|
mkdir -p /var/tmp && \
|
|
chmod -R 1777 /var/tmp
|
|
|
|
# K8s tools
|
|
|
|
COPY --from=cgr.dev/chainguard/kubectl:latest /usr/bin/kubectl /usr/bin/kubectl
|
|
COPY --from=cgr.dev/chainguard/cosign:latest /usr/bin/cosign /usr/bin/cosign
|
|
|
|
RUN curl -Lo ./kind "https://kind.sigs.k8s.io/dl/v0.17.0/kind-$(uname)-amd64"
|
|
RUN chmod +x ./kind
|
|
RUN mv ./kind /usr/bin/kind
|
|
|
|
## bluefin-dx developer edition image section
|
|
# TODO: this should be in packages.json but yolo for now
|
|
|
|
FROM bluefin AS bluefin-dx
|
|
|
|
ARG IMAGE_NAME="${IMAGE_NAME}"
|
|
ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION}"
|
|
|
|
# dx specific files come from the dx directory in this repo
|
|
COPY dx/etc /etc
|
|
COPY dx/usr /usr
|
|
COPY workarounds.sh /tmp/workarounds.sh
|
|
|
|
RUN wget https://copr.fedorainfracloud.org/coprs/ganto/lxc4/repo/fedora-"${FEDORA_MAJOR_VERSION}"/ganto-lxc4-fedora-"${FEDORA_MAJOR_VERSION}".repo -O /etc/yum.repos.d/ganto-lxc4-fedora-"${FEDORA_MAJOR_VERSION}".repo
|
|
RUN wget https://terra.fyralabs.com/terra.repo -O /etc/yum.repos.d/terra.repo
|
|
|
|
RUN rpm-ostree install code
|
|
RUN rpm-ostree install lxd lxc
|
|
RUN rpm-ostree install iotop dbus-x11 podman-compose podman-docker podman-plugins podman-tui
|
|
RUN rpm-ostree install adobe-source-code-pro-fonts cascadiacode-nerd-fonts google-droid-sans-mono-fonts google-go-mono-fonts ibm-plex-mono-fonts jetbrains-mono-fonts-all mozilla-fira-mono-fonts powerline-fonts ubuntumono-nerd-fonts
|
|
RUN rpm-ostree install qemu qemu-user-static qemu-user-binfmt virt-manager libvirt qemu qemu-user-static qemu-user-binfmt edk2-ovmf
|
|
RUN rpm-ostree install cockpit-bridge cockpit-system cockpit-networkmanager cockpit-selinux cockpit-storaged cockpit-podman cockpit-machines cockpit-pcp
|
|
RUN rpm-ostree install p7zip p7zip-plugins powertop
|
|
|
|
COPY --from=cgr.dev/chainguard/flux:latest /usr/bin/flux /usr/bin/flux
|
|
COPY --from=cgr.dev/chainguard/helm:latest /usr/bin/helm /usr/bin/helm
|
|
COPY --from=cgr.dev/chainguard/ko:latest /usr/bin/ko /usr/bin/ko
|
|
COPY --from=cgr.dev/chainguard/minio-client:latest /usr/bin/mc /usr/bin/mc
|
|
|
|
RUN /tmp/workarounds.sh
|
|
|
|
# Clean up repos, everything is on the image so we don't need them
|
|
RUN rm -f /etc/yum.repos.d/terra.repo
|
|
RUN rm -f /etc/yum.repos.d/ganto-lxc4-fedora-"${FEDORA_MAJOR_VERSION}".repo
|
|
RUN rm -f /etc/yum.repos.d/vscode.repo
|
|
RUN rm -f /etc/yum.repos.d/_copr:copr.fedorainfracloud.org:phracek:PyCharm.repo
|
|
RUN rm -f /etc/yum.repos.d/fedora-cisco-openh264.repo
|
|
|
|
RUN rm -rf /tmp/* /var/*
|
|
RUN ostree container commit
|