mirror of
https://github.com/linka-cloud/d2vm.git
synced 2024-11-05 00:06:24 +00:00
Adphi
d54b3f9a2c
* build / convert: add `--platform` flag to support linux/amd64 & linux/arm64 * build: add `--pull` flag * run/hetzner: add `--type` flag to select server type * run/hetzner: add `--location` flag to select server location Signed-off-by: Adphi <philippe.adrien.nousse@gmail.com>
66 lines
1.6 KiB
Docker
66 lines
1.6 KiB
Docker
FROM {{ .Image }}
|
|
|
|
USER root
|
|
|
|
RUN ARCH="$([ "$(uname -m)" = "x86_64" ] && echo amd64 || echo arm64)"; \
|
|
apt-get update && \
|
|
DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \
|
|
linux-image-virtual \
|
|
initramfs-tools \
|
|
systemd-sysv \
|
|
systemd \
|
|
{{- if .Grub }}
|
|
grub-common \
|
|
grub2-common \
|
|
{{- end }}
|
|
{{- if .GrubBIOS }}
|
|
grub-pc-bin \
|
|
{{- end }}
|
|
{{- if .GrubEFI }}
|
|
grub-efi-${ARCH}-bin \
|
|
{{- end }}
|
|
dbus \
|
|
isc-dhcp-client \
|
|
iproute2 \
|
|
iputils-ping && \
|
|
find /boot -type l -exec rm {} \;
|
|
|
|
RUN systemctl preset-all
|
|
|
|
{{ if .Password }}RUN echo "root:{{ .Password }}" | chpasswd {{ end }}
|
|
|
|
{{ if eq .NetworkManager "netplan" }}
|
|
RUN apt install -y netplan.io
|
|
RUN mkdir -p /etc/netplan && printf '\
|
|
network:\n\
|
|
version: 2\n\
|
|
renderer: networkd\n\
|
|
ethernets:\n\
|
|
eth0:\n\
|
|
dhcp4: true\n\
|
|
dhcp-identifier: mac\n\
|
|
nameservers:\n\
|
|
addresses:\n\
|
|
- 8.8.8.8\n\
|
|
- 8.8.4.4\n\
|
|
' > /etc/netplan/00-netcfg.yaml
|
|
{{ else if eq .NetworkManager "ifupdown"}}
|
|
RUN if [ -z "$(apt-cache madison ifupdown-ng 2> /dev/nul)" ]; then apt install -y ifupdown; else apt install -y ifupdown-ng; fi
|
|
RUN mkdir -p /etc/network && printf '\
|
|
auto eth0\n\
|
|
allow-hotplug eth0\n\
|
|
iface eth0 inet dhcp\n\
|
|
' > /etc/network/interfaces
|
|
{{ end }}
|
|
|
|
{{- if .Luks }}
|
|
RUN DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends cryptsetup-initramfs && \
|
|
update-initramfs -u -v
|
|
{{- end }}
|
|
|
|
# needs to be after update-initramfs
|
|
{{- if not .Grub }}
|
|
RUN mv $(find /boot -name 'vmlinuz-*') /boot/vmlinuz && \
|
|
mv $(find /boot -name 'initrd.img-*') /boot/initrd.img
|
|
{{- end }}
|