72 lines
1.9 KiB
Docker
72 lines
1.9 KiB
Docker
#!/usr/bin/docker
|
|
#
|
|
# This Dockerfile is to be consumed with the docker_osx helm templates. It consumes the
|
|
# Ubuntu image so that OpenCore.qcow2 can be re-generated (which happens in Kube itself),
|
|
# not to mention that OSX-KVM was written for Ubuntu. This was not designed to be run in Docker
|
|
# by itself.. very well anyway.
|
|
#
|
|
|
|
FROM ubuntu:21.04
|
|
|
|
SHELL ["/bin/bash", "-c"]
|
|
|
|
# this has to match .Values.image.userName in helm template
|
|
ARG USER=ubuntu
|
|
# this installs the kvm linux kernel in the docker container so that OpenCore.qcow2 boot images
|
|
# can be built.
|
|
ARG DOCKER_KERNEL_VERSION=linux-image-kvm
|
|
|
|
ENV TZ=America/Los_Angeles
|
|
ARG DEBIAN_FRONTEND=noninteractive
|
|
|
|
RUN DEBCONF_FRONTEND=noninteractive apt update \
|
|
&& apt install \
|
|
bridge-utils \
|
|
fish \
|
|
git wget \
|
|
libguestfs-tools \
|
|
libvirt-daemon-system \
|
|
$DOCKER_KERNEL_VERSION \
|
|
p7zip-full \
|
|
qemu \
|
|
sudo \
|
|
uml-utilities \
|
|
virt-manager \
|
|
-y
|
|
|
|
# Configure SSH
|
|
RUN apt install git vim nano alsa-utils openssh-server -y
|
|
|
|
# Create user and grant sudo privledges
|
|
RUN adduser --disabled-password \
|
|
--gecos '' $USER \
|
|
&& echo "$USER ALL=(ALL) NOPASSWD: ALL" > /etc/sudoers.d/$USER \
|
|
&& chmod 0440 /etc/sudoers.d/$USER
|
|
|
|
# Configure VNC for user
|
|
RUN apt install \
|
|
dbus-x11 \
|
|
openbox \
|
|
tigervnc-common \
|
|
tigervnc-standalone-server \
|
|
xfce4 \
|
|
xfce4-goodies \
|
|
x11-xserver-utils \
|
|
xdotool \
|
|
xorg \
|
|
xterm \
|
|
ufw \
|
|
-y
|
|
|
|
USER $USER
|
|
|
|
# only create ~/.vnc as helm will build out ~/.vnc/config
|
|
RUN mkdir -p ${HOME}/.vnc
|
|
|
|
RUN git clone --depth 1 https://github.com/kholia/OSX-KVM.git /home/$USER/OSX-KVM
|
|
|
|
VOLUME ["/tmp/.X11-unix"]
|
|
|
|
WORKDIR /home/$USER/OSX-KVM
|
|
# helm will build out ./Launch_custom.sh
|
|
CMD envsubst < ./Launch_custom.sh | bash
|