diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..04b6f0e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +FROM debian:buster + +RUN apt update +RUN apt install -y make debootstrap supervisor isc-dhcp-server tftpd-hpa busybox squashfs-tools + +# Linux image +ADD linux /linux +RUN mkdir -p linux/build && debootstrap buster linux/build/cache +RUN cd /linux && make + +# Files to be served +ADD files /tftpboot +RUN cp /linux/build/rootfs/initrd.img /tftpboot/initrd.img && \ + cp /linux/build/rootfs/vmlinuz /tftpboot/vmlinuz && \ + mksquashfs /linux/build/rootfs /tftpboot/root.squashfs + +# Supervisor +COPY src/supervisor.conf /supervisor.conf + +# DHCP server +RUN mkdir -p /var/lib/dhcp && touch /var/lib/dhcp/dhcpd.leases +COPY src/dhcpd.conf /etc/dhcp/dhcpd.conf + +COPY src/run.sh /run.sh +RUN chmod +x /run.sh +ENV INTERFACE=eth0 +CMD ["/run.sh"] diff --git a/server/Dockerfile b/server/Dockerfile deleted file mode 100644 index 01e76c4..0000000 --- a/server/Dockerfile +++ /dev/null @@ -1,19 +0,0 @@ -FROM debian:buster - -RUN apt update -RUN apt install -y supervisor -RUN apt install -y isc-dhcp-server -RUN apt install -y tftpd-hpa -RUN apt install -y busybox - -# Supervisor -COPY supervisor.conf /supervisor.conf - -# DHCP server -RUN mkdir -p /var/lib/dhcp && touch /var/lib/dhcp/dhcpd.leases -COPY dhcpd.conf /etc/dhcp/dhcpd.conf - -COPY run.sh /run.sh -RUN chmod +x /run.sh -ENV INTERFACE=eth0 -CMD ["/run.sh"] diff --git a/server/dhcpd.conf b/src/dhcpd.conf similarity index 100% rename from server/dhcpd.conf rename to src/dhcpd.conf diff --git a/server/run.sh b/src/run.sh similarity index 100% rename from server/run.sh rename to src/run.sh diff --git a/server/supervisor.conf b/src/supervisor.conf similarity index 100% rename from server/supervisor.conf rename to src/supervisor.conf