From e804a8aa372e0023bb36060579afc03eabe963c8 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 04:06:02 +0200 Subject: [PATCH 01/27] Add second LAN interface in DHCP mode --- run/network.sh | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/run/network.sh b/run/network.sh index 7fea7ec..f01c117 100644 --- a/run/network.sh +++ b/run/network.sh @@ -254,5 +254,11 @@ else fi -[ "$DEBUG" = "Y" ] && echo && echo "Finished network setup.." && echo NET_OPTS="${NET_OPTS} -device virtio-net-pci,romfile=,netdev=hostnet0,mac=${VM_NET_MAC},id=net0" + +if [ "$DHCP" = "Y" ]; then + NET_OPTS="${NET_OPTS} -netdev user,id=hostnet1,hostfwd=tcp::5555-:5000" + NET_OPTS="${NET_OPTS} -device virtio-net-pci,romfile=,netdev=hostnet1,id=net1" +fi + +[ "$DEBUG" = "Y" ] && echo && echo "Finished network setup.." && echo From 17965153eceb0af30d3edeccb26a10efce23fd6c Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 04:16:34 +0200 Subject: [PATCH 02/27] Connect to second NIC in DHCP mode --- run/check.sh | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/run/check.sh b/run/check.sh index b721717..3c2d69a 100644 --- a/run/check.sh +++ b/run/check.sh @@ -3,16 +3,16 @@ set -u # Docker Healthcheck -PORT=5000 -FILE="/var/dsm.ip" +: ${DHCP:='N'} -if [ ! -f "${FILE}" ]; then - echo "IP not assigned" - exit 1 +if [ "$DHCP" = "Y" ]; then + PORT=5555 + IP="127.0.0.1" +else + PORT=5000 + IP="20.20.20.21" fi -IP=$(cat "${FILE}") - if ! curl -m 3 -ILfSs "http://${IP}:${PORT}/" > /dev/null; then echo "Failed to reach ${IP}:${PORT}" exit 1 From 083f5945256bdcfd47d410be0cc5ea4b3616c34e Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 04:18:42 +0200 Subject: [PATCH 03/27] Remove IP file --- run/network.sh | 6 ------ 1 file changed, 6 deletions(-) diff --git a/run/network.sh b/run/network.sh index f01c117..6872373 100644 --- a/run/network.sh +++ b/run/network.sh @@ -105,9 +105,6 @@ configureDHCP() { echo "docker setting to your container: --device=/dev/vhost-net" && exit 22 fi - # Store IP for Docker healthcheck - echo "${DHCP_IP}" > "/var/dsm.ip" - NET_OPTS="-netdev tap,id=hostnet0,vhost=on,vhostfd=40,fd=30" } @@ -162,9 +159,6 @@ configureNAT () { echo "0 $VM_NET_MAC $VM_NET_IP $VM_NET_HOST 01:${VM_NET_MAC}" > /var/lib/misc/dnsmasq.leases chmod 644 /var/lib/misc/dnsmasq.leases - # Store IP for Docker healthcheck - echo "${VM_NET_IP}" > "/var/dsm.ip" - NET_OPTS="-netdev tap,ifname=${VM_NET_TAP},script=no,downscript=no,id=hostnet0" # Build DNS options from container /etc/resolv.conf From f71b11065decfe54988ca898f9ec55b841e5ca59 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 04:50:49 +0200 Subject: [PATCH 04/27] Also listen on port 80 --- run/server.sh | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/run/server.sh b/run/server.sh index 1c5f58d..d112643 100644 --- a/run/server.sh +++ b/run/server.sh @@ -20,6 +20,5 @@ LENGTH="${#HTML}" RESPONSE="HTTP/1.1 200 OK\nContent-Length: ${LENGTH}\nConnection: close\n\n$HTML\n\n" -while true; do - echo -en "$RESPONSE" | nc -N -lp "${1:-8080}"; -done +echo -en "$RESPONSE" | nc -k -N -lp 80 & +echo -en "$RESPONSE" | nc -k -N -lp "${1:-5000}" From 9cabd445f32be9025038a253dffb1e4de4c26b00 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 05:04:20 +0200 Subject: [PATCH 05/27] Keep previous instances --- run/server.sh | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/run/server.sh b/run/server.sh index d112643..b1a473e 100644 --- a/run/server.sh +++ b/run/server.sh @@ -2,16 +2,6 @@ set -eu trap exit SIGINT SIGTERM -# Close any previous instances -script_name="${BASH_SOURCE[0]}" - -for pid in $(pidof -x "$script_name"); do - if [ "$pid" != $$ ]; then - kill -15 "$pid" 2> /dev/null - wait "$pid" 2> /dev/null - fi -done - # Serve the page HTML="\

$2

" @@ -20,5 +10,6 @@ LENGTH="${#HTML}" RESPONSE="HTTP/1.1 200 OK\nContent-Length: ${LENGTH}\nConnection: close\n\n$HTML\n\n" -echo -en "$RESPONSE" | nc -k -N -lp 80 & -echo -en "$RESPONSE" | nc -k -N -lp "${1:-5000}" +while true; do + echo -en "$RESPONSE" | nc -N -q 1 -lp "${1:-5000}"; +done From a0e9e2f3c0fcfdaee9349e79579b788de824e32a Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 05:09:35 +0200 Subject: [PATCH 06/27] Don't close socket --- run/server.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/server.sh b/run/server.sh index b1a473e..ccdc8b2 100644 --- a/run/server.sh +++ b/run/server.sh @@ -11,5 +11,5 @@ LENGTH="${#HTML}" RESPONSE="HTTP/1.1 200 OK\nContent-Length: ${LENGTH}\nConnection: close\n\n$HTML\n\n" while true; do - echo -en "$RESPONSE" | nc -N -q 1 -lp "${1:-5000}"; + echo -en "$RESPONSE" | nc -lp "${1:-5000}"; done From 68b0e3b9b652e0c3925023192dae036f09ebfb05 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 05:24:27 +0200 Subject: [PATCH 07/27] Wait in background --- run/server.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/server.sh b/run/server.sh index ccdc8b2..c9130ab 100644 --- a/run/server.sh +++ b/run/server.sh @@ -11,5 +11,5 @@ LENGTH="${#HTML}" RESPONSE="HTTP/1.1 200 OK\nContent-Length: ${LENGTH}\nConnection: close\n\n$HTML\n\n" while true; do - echo -en "$RESPONSE" | nc -lp "${1:-5000}"; + echo -en "$RESPONSE" | nc -lp "${1:-5000}" & wait $! done From 0782c5c57fd80438ecab076778aa659fb078e2f1 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 05:56:11 +0200 Subject: [PATCH 08/27] Kill netcat on exit --- run/server.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/run/server.sh b/run/server.sh index c9130ab..953ff2b 100644 --- a/run/server.sh +++ b/run/server.sh @@ -1,5 +1,7 @@ #!/usr/bin/env bash set -eu + +trap 'kill 0' EXIT trap exit SIGINT SIGTERM # Serve the page From 8447d5e22f8c66b53374cdb63dedfaf29978cfd0 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 06:07:22 +0200 Subject: [PATCH 09/27] Also listen on port 80 --- run/network.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/run/network.sh b/run/network.sh index 6872373..cb8dc72 100644 --- a/run/network.sh +++ b/run/network.sh @@ -244,6 +244,8 @@ else HTML="The location of DSM is http://${DHCP_IP}:5000" + pkill -f server.sh + /run/server.sh 80 "${HTML}" > /dev/null & /run/server.sh 5000 "${HTML}" > /dev/null & fi From 4e1abd981d8844189ed2659cdeeacf8d2ddd31fa Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 06:08:47 +0200 Subject: [PATCH 10/27] Also listen on port 80 --- run/install.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/run/install.sh b/run/install.sh index fd0a05c..20f73d6 100644 --- a/run/install.sh +++ b/run/install.sh @@ -5,6 +5,8 @@ set -eu HTML="Please wait while Virtual DSM is installing..." +pkill -f server.sh +/run/server.sh 80 "${HTML}" > /dev/null & /run/server.sh 5000 "${HTML}" > /dev/null & # Download the required files from the Synology website From 9bee5c4263ffa1098be3320395938dac7547eb76 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 06:12:17 +0200 Subject: [PATCH 11/27] Display boot message --- run/network.sh | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/run/network.sh b/run/network.sh index cb8dc72..418699c 100644 --- a/run/network.sh +++ b/run/network.sh @@ -230,6 +230,10 @@ if [ "$DHCP" != "Y" ]; then # Configuration for static IP configureNAT + # Display wait message on port 5000 + HTML="Please wait while Virtual DSM is booting..." + else if [[ "$GATEWAY" == "172."* ]]; then @@ -244,12 +248,12 @@ else HTML="The location of DSM is http://${DHCP_IP}:5000" - pkill -f server.sh - /run/server.sh 80 "${HTML}" > /dev/null & - /run/server.sh 5000 "${HTML}" > /dev/null & - fi +pkill -f server.sh +/run/server.sh 80 "${HTML}" > /dev/null & +/run/server.sh 5000 "${HTML}" > /dev/null & + NET_OPTS="${NET_OPTS} -device virtio-net-pci,romfile=,netdev=hostnet0,mac=${VM_NET_MAC},id=net0" if [ "$DHCP" = "Y" ]; then From 08c3ccc50519ae1b2625cb2428561e982873dd59 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 06:20:07 +0200 Subject: [PATCH 12/27] Ignore pkill exitcode --- run/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/install.sh b/run/install.sh index 20f73d6..31a9218 100644 --- a/run/install.sh +++ b/run/install.sh @@ -5,7 +5,7 @@ set -eu HTML="Please wait while Virtual DSM is installing..." -pkill -f server.sh +pkill -f server.sh || true /run/server.sh 80 "${HTML}" > /dev/null & /run/server.sh 5000 "${HTML}" > /dev/null & From cd71291e613502fa226c1a2a376b536a26cf724c Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 06:20:42 +0200 Subject: [PATCH 13/27] Ignore pkill exitcode --- run/power.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/power.sh b/run/power.sh index c0a4b90..87fac55 100644 --- a/run/power.sh +++ b/run/power.sh @@ -54,7 +54,7 @@ _graceful_shutdown() { echo && echo "Please update the VirtualDSM Agent to allow for gracefull shutdowns..." kill -15 "$(cat "${_QEMU_PID}")" - pkill -f qemu-system-x86_64 + pkill -f qemu-system-x86_64 || true fi fi From 5833b30fc6bb3fc81fe4e2e0fff200b22e7b1c12 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 06:22:27 +0200 Subject: [PATCH 14/27] Ignore pkill exitcode --- run/network.sh | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/run/network.sh b/run/network.sh index 418699c..b2201e6 100644 --- a/run/network.sh +++ b/run/network.sh @@ -230,10 +230,6 @@ if [ "$DHCP" != "Y" ]; then # Configuration for static IP configureNAT - # Display wait message on port 5000 - HTML="Please wait while Virtual DSM is booting..." - else if [[ "$GATEWAY" == "172."* ]]; then @@ -248,11 +244,11 @@ else HTML="The location of DSM is http://${DHCP_IP}:5000" -fi + pkill -f server.sh || true + /run/server.sh 80 "${HTML}" > /dev/null & + /run/server.sh 5000 "${HTML}" > /dev/null & -pkill -f server.sh -/run/server.sh 80 "${HTML}" > /dev/null & -/run/server.sh 5000 "${HTML}" > /dev/null & +fi NET_OPTS="${NET_OPTS} -device virtio-net-pci,romfile=,netdev=hostnet0,mac=${VM_NET_MAC},id=net0" From 5a007cdd4e0ecc260888d7f9c38dd025b712b843 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 06:58:54 +0200 Subject: [PATCH 15/27] Disable dhclient --- run/network.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/run/network.sh b/run/network.sh index b2201e6..19d0283 100644 --- a/run/network.sh +++ b/run/network.sh @@ -54,17 +54,17 @@ configureDHCP() { ip address flush "${VM_NET_DEV}" ip address flush "${VM_NET_TAP}" - echo "INFO: Acquiring an IP address via DHCP using MAC address ${VM_NET_MAC}..." + #echo "INFO: Acquiring an IP address via DHCP using MAC address ${VM_NET_MAC}..." - DHCP_IP=$(dhclient -v "${VM_NET_TAP}" 2>&1 | grep ^bound | cut -d' ' -f3) + #DHCP_IP=$(dhclient -v "${VM_NET_TAP}" 2>&1 | grep ^bound | cut -d' ' -f3) - if [[ "${DHCP_IP}" == [0-9.]* ]]; then - echo "INFO: Successfully acquired IP ${DHCP_IP} from the DHCP server..." - else - echo "ERROR: Cannot acquire an IP address from the DHCP server" && exit 17 - fi + #if [[ "${DHCP_IP}" == [0-9.]* ]]; then + # echo "INFO: Successfully acquired IP ${DHCP_IP} from the DHCP server..." + #else + # echo "ERROR: Cannot acquire an IP address from the DHCP server" && exit 17 + #fi - ip address flush "${VM_NET_TAP}" + #ip address flush "${VM_NET_TAP}" { set +x; } 2>/dev/null From 4d83d029099c4ee8cc16c806d5a58bc9eeb20de8 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 06:59:45 +0200 Subject: [PATCH 16/27] Disable dhclient --- Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7faa936..af5b2b1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,7 +27,6 @@ RUN apt-get update && apt-get -y upgrade && \ net-tools \ btrfs-progs \ ca-certificates \ - isc-dhcp-client \ netcat-openbsd \ qemu-system-x86 \ && apt-get clean From c46b88305dc30b87238627b27f1034d88150c4d2 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 07:08:00 +0200 Subject: [PATCH 17/27] isc-dhcp-client --- Dockerfile | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile b/Dockerfile index af5b2b1..7faa936 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,6 +27,7 @@ RUN apt-get update && apt-get -y upgrade && \ net-tools \ btrfs-progs \ ca-certificates \ + isc-dhcp-client \ netcat-openbsd \ qemu-system-x86 \ && apt-get clean From 80d202d888b317561d21160cae685e01d3e4b49f Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 07:12:43 +0200 Subject: [PATCH 18/27] isc-dhcp-client --- run/network.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/run/network.sh b/run/network.sh index 19d0283..b2201e6 100644 --- a/run/network.sh +++ b/run/network.sh @@ -54,17 +54,17 @@ configureDHCP() { ip address flush "${VM_NET_DEV}" ip address flush "${VM_NET_TAP}" - #echo "INFO: Acquiring an IP address via DHCP using MAC address ${VM_NET_MAC}..." + echo "INFO: Acquiring an IP address via DHCP using MAC address ${VM_NET_MAC}..." - #DHCP_IP=$(dhclient -v "${VM_NET_TAP}" 2>&1 | grep ^bound | cut -d' ' -f3) + DHCP_IP=$(dhclient -v "${VM_NET_TAP}" 2>&1 | grep ^bound | cut -d' ' -f3) - #if [[ "${DHCP_IP}" == [0-9.]* ]]; then - # echo "INFO: Successfully acquired IP ${DHCP_IP} from the DHCP server..." - #else - # echo "ERROR: Cannot acquire an IP address from the DHCP server" && exit 17 - #fi + if [[ "${DHCP_IP}" == [0-9.]* ]]; then + echo "INFO: Successfully acquired IP ${DHCP_IP} from the DHCP server..." + else + echo "ERROR: Cannot acquire an IP address from the DHCP server" && exit 17 + fi - #ip address flush "${VM_NET_TAP}" + ip address flush "${VM_NET_TAP}" { set +x; } 2>/dev/null From aab89a38d5ca933b1c60f0a40e7ff41093339146 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 07:20:29 +0200 Subject: [PATCH 19/27] Stop dhclient before booting VM --- run/network.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/run/network.sh b/run/network.sh index b2201e6..e5d56ee 100644 --- a/run/network.sh +++ b/run/network.sh @@ -105,6 +105,8 @@ configureDHCP() { echo "docker setting to your container: --device=/dev/vhost-net" && exit 22 fi + pkill -f dhclient || true + NET_OPTS="-netdev tap,id=hostnet0,vhost=on,vhostfd=40,fd=30" } From e8c4a6412ce63c347c23d098080c07f177d0f9f6 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 07:51:08 +0200 Subject: [PATCH 20/27] vlan --- run/network.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/network.sh b/run/network.sh index e5d56ee..049bfe6 100644 --- a/run/network.sh +++ b/run/network.sh @@ -20,7 +20,7 @@ set -eu configureDHCP() { - VM_NET_VLAN="vlan" + VM_NET_VLAN="dsm_vlan" GATEWAY=$(ip r | grep default | awk '{print $3}') NETWORK=$(ip -o route | grep "${VM_NET_DEV}" | grep -v default | awk '{print $1}') IP=$(ip address show dev "${VM_NET_DEV}" | grep inet | awk '/inet / { print $2 }' | cut -f1 -d/) From 1bfba069616e00aaa92e38aaece7f1c6f85e1215 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 08:17:12 +0200 Subject: [PATCH 21/27] Restrict usermode network --- run/network.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/network.sh b/run/network.sh index 049bfe6..b61b0d5 100644 --- a/run/network.sh +++ b/run/network.sh @@ -255,7 +255,7 @@ fi NET_OPTS="${NET_OPTS} -device virtio-net-pci,romfile=,netdev=hostnet0,mac=${VM_NET_MAC},id=net0" if [ "$DHCP" = "Y" ]; then - NET_OPTS="${NET_OPTS} -netdev user,id=hostnet1,hostfwd=tcp::5555-:5000" + NET_OPTS="${NET_OPTS} -netdev user,id=hostnet1,restrict=y,hostfwd=tcp::5555-:5000" NET_OPTS="${NET_OPTS} -device virtio-net-pci,romfile=,netdev=hostnet1,id=net1" fi From a2306a8f9e55b5352d3263873ed5dc620c090471 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 08:45:57 +0200 Subject: [PATCH 22/27] Stop dhclient --- run/network.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/network.sh b/run/network.sh index b61b0d5..21f5f4a 100644 --- a/run/network.sh +++ b/run/network.sh @@ -105,7 +105,7 @@ configureDHCP() { echo "docker setting to your container: --device=/dev/vhost-net" && exit 22 fi - pkill -f dhclient || true + dhclient -r 2> /dev/null NET_OPTS="-netdev tap,id=hostnet0,vhost=on,vhostfd=40,fd=30" } From bcc3eb15e281f668358b5f9c753ec0752fdbb296 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 15:19:40 +0200 Subject: [PATCH 23/27] Remove dhclient --- run/network.sh | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/run/network.sh b/run/network.sh index 21f5f4a..58d49ac 100644 --- a/run/network.sh +++ b/run/network.sh @@ -20,7 +20,7 @@ set -eu configureDHCP() { - VM_NET_VLAN="dsm_vlan" + VM_NET_VLAN="${VM_NET_TAP}_vlan" GATEWAY=$(ip r | grep default | awk '{print $3}') NETWORK=$(ip -o route | grep "${VM_NET_DEV}" | grep -v default | awk '{print $1}') IP=$(ip address show dev "${VM_NET_DEV}" | grep inet | awk '/inet / { print $2 }' | cut -f1 -d/) @@ -54,18 +54,6 @@ configureDHCP() { ip address flush "${VM_NET_DEV}" ip address flush "${VM_NET_TAP}" - echo "INFO: Acquiring an IP address via DHCP using MAC address ${VM_NET_MAC}..." - - DHCP_IP=$(dhclient -v "${VM_NET_TAP}" 2>&1 | grep ^bound | cut -d' ' -f3) - - if [[ "${DHCP_IP}" == [0-9.]* ]]; then - echo "INFO: Successfully acquired IP ${DHCP_IP} from the DHCP server..." - else - echo "ERROR: Cannot acquire an IP address from the DHCP server" && exit 17 - fi - - ip address flush "${VM_NET_TAP}" - { set +x; } 2>/dev/null TAP_NR=$( /dev/null - NET_OPTS="-netdev tap,id=hostnet0,vhost=on,vhostfd=40,fd=30" } @@ -243,8 +229,7 @@ else configureDHCP # Display the received IP on port 5000 - HTML="The location of DSM is http://${DHCP_IP}:5000" + HTML="DSM is using a different IP address.

(Check the logfile to see which one was assigned.)" pkill -f server.sh || true /run/server.sh 80 "${HTML}" > /dev/null & From de0dee0729bbc7584ee97f6e10a0f22c3973575b Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 15:21:08 +0200 Subject: [PATCH 24/27] Remove dhclient --- Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7faa936..af5b2b1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -27,7 +27,6 @@ RUN apt-get update && apt-get -y upgrade && \ net-tools \ btrfs-progs \ ca-certificates \ - isc-dhcp-client \ netcat-openbsd \ qemu-system-x86 \ && apt-get clean From 31bbd6af1b59f84acd9b89b36e97d92c08b5c8b7 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 16:43:18 +0200 Subject: [PATCH 25/27] Update Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index af5b2b1..b4a1b26 100644 --- a/Dockerfile +++ b/Dockerfile @@ -65,6 +65,6 @@ LABEL org.opencontainers.image.version=${VERSION_ARG} LABEL org.opencontainers.image.source=https://github.com/kroese/virtual-dsm/ LABEL org.opencontainers.image.url=https://hub.docker.com/r/kroese/virtual-dsm/ -HEALTHCHECK --interval=30s --retries=1 CMD /run/check.sh +HEALTHCHECK --interval=30s --retries=3 CMD /run/check.sh ENTRYPOINT ["/run/run.sh"] From bf443233df87b658b572b73918a55bc41b0c8016 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 16:45:46 +0200 Subject: [PATCH 26/27] Update network.sh --- run/network.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/run/network.sh b/run/network.sh index 58d49ac..c24dd5b 100644 --- a/run/network.sh +++ b/run/network.sh @@ -229,7 +229,7 @@ else configureDHCP # Display the received IP on port 5000 - HTML="DSM is using a different IP address.

(Check the logfile to see which one was assigned.)" + HTML="DSM is using another IP address.

(Check the logfile to see which one was assigned.)" pkill -f server.sh || true /run/server.sh 80 "${HTML}" > /dev/null & From 21a1e6ab6f85118ed1646fee05a1d055119c7399 Mon Sep 17 00:00:00 2001 From: Kroese Date: Wed, 3 May 2023 16:47:57 +0200 Subject: [PATCH 27/27] Docker Healthcheck script --- run/network.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/run/network.sh b/run/network.sh index c24dd5b..7916975 100644 --- a/run/network.sh +++ b/run/network.sh @@ -240,6 +240,7 @@ fi NET_OPTS="${NET_OPTS} -device virtio-net-pci,romfile=,netdev=hostnet0,mac=${VM_NET_MAC},id=net0" if [ "$DHCP" = "Y" ]; then + # Add extra LAN interface for Docker Healthcheck script NET_OPTS="${NET_OPTS} -netdev user,id=hostnet1,restrict=y,hostfwd=tcp::5555-:5000" NET_OPTS="${NET_OPTS} -device virtio-net-pci,romfile=,netdev=hostnet1,id=net1" fi