78 lines
2.0 KiB
Docker
78 lines
2.0 KiB
Docker
# ====== Stage 1: Builder image ======
|
|
FROM fedora:latest AS builder
|
|
|
|
RUN dnf update -y && dnf install -y git golang
|
|
|
|
RUN git clone https://github.com/rfjakob/gocryptfs.git
|
|
|
|
WORKDIR /gocryptfs
|
|
|
|
RUN ./build-without-openssl.bash
|
|
|
|
# ====== Stage 2: Server image ======
|
|
FROM quay.io/fedora/fedora-silverblue:39
|
|
|
|
COPY --from=builder /gocryptfs/gocryptfs /usr/bin/gocryptfs
|
|
|
|
# Install ZFS repository
|
|
RUN rpm-ostree install https://github.com/zfsonlinux/zfsonlinux.github.com/raw/master/fedora/zfs-release-2-4$(rpm --eval "%{dist}").noarch.rpm && \
|
|
# cleanup and verification stage
|
|
rm -vrf /var /*.rpm && \
|
|
ostree container commit
|
|
|
|
# Install ZFS build deps
|
|
RUN rpm-ostree install \
|
|
kernel-devel kernel-devel-matched kernel-headers kernel-srpm-macros && \
|
|
# cleanup and verification stage
|
|
rm -vrf /var && \
|
|
ostree container commit
|
|
|
|
# TODO: Remove the following line once this bug is fixed: https://github.com/coreos/rpm-ostree/issues/4201
|
|
RUN test -f /usr/bin/ld || ln -s /usr/bin/ld.bfd /usr/bin/ld
|
|
|
|
# Install zfs
|
|
RUN rpm-ostree install zfs && \
|
|
dkms autoinstall -k $(rpm -qa kernel --queryformat '%{VERSION}-%{RELEASE}.%{ARCH}') && \
|
|
# cleanup and verification stage
|
|
rm -vrf /var && \
|
|
ostree container commit
|
|
|
|
# TODO: Remove the following line once this bug is fixed: https://github.com/coreos/rpm-ostree/issues/4201
|
|
RUN test -h /usr/bin/ld && rm -v /usr/bin/ld
|
|
|
|
# Install zrepl repository
|
|
COPY zrepl.asc /var/roothome/zrepl.asc
|
|
RUN rpm --import /var/roothome/zrepl.asc
|
|
COPY zrepl.repo /etc/yum.repos.d/zrepl.repo
|
|
|
|
RUN rpm-ostree install \
|
|
borgbackup \
|
|
certbot \
|
|
distrobox \
|
|
fuse-encfs \
|
|
fuse-sshfs \
|
|
hddtemp \
|
|
htop \
|
|
iotop \
|
|
ipmitool \
|
|
libvirt \
|
|
lm_sensors \
|
|
net-tools \
|
|
netcat \
|
|
nginx \
|
|
nut \
|
|
pv \
|
|
python3-certbot-nginx \
|
|
qemu-kvm \
|
|
rclone \
|
|
screen \
|
|
smartmontools \
|
|
strace \
|
|
stress-ng \
|
|
telnet \
|
|
vim \
|
|
zrepl-v0.6.0-1.x86_64 \
|
|
&& ln -s netcat /usr/bin/nc \
|
|
&& rm -vrf /var && ostree container commit
|
|
|