Commit 9347c909 authored by Kroese's avatar Kroese
Browse files

Automaticly install the default packages

parent a6f42f5b
Loading
Loading
Loading
Loading
+8 −6
Original line number Diff line number Diff line
@@ -9,28 +9,30 @@ FROM debian:bookworm-20230320-slim

RUN apt-get update && apt-get -y upgrade && \
    apt-get --no-install-recommends -y install \
	iproute2 \
	jq \
	wget \
	unzip \
	procps \
	udhcpd \
	python3 \
	iproute2 \
	xz-utils \
	ca-certificates \
	qemu-utils \
	btrfs-progs \
	netcat-openbsd \
	ca-certificates \
	qemu-system-x86 \
	udhcpd \
    && apt-get clean

COPY run.sh /run/
COPY agent/agent.sh /agent/
COPY agent/service.sh /agent/
COPY server.sh /run/
COPY install.sh /run/
COPY serial/serial.sh /run/
COPY qemu-ifup /run/
COPY qemu-ifdown /run/
COPY generate-dhcpd-conf /run/
COPY serial/serial.sh /run/
COPY agent/agent.sh /agent/
COPY agent/service.sh /agent/

COPY --from=builder /src/serial/main /run/serial.bin

+26 −2
Original line number Diff line number Diff line
@@ -2,11 +2,35 @@
set -u

echo "Starting agent.."

chmod 666 /dev/ttyS0
echo "Starting agent.." > /dev/ttyS0

first_run=false

for filename in /usr/local/packages/*.spk; do
  first_run=true
done

if [ "$first_run" = true ]; then

  for filename in /usr/local/packages/*.spk; do
    /usr/syno/bin/synopkg install $filename > /dev/null
    rm $filename
  done

  /usr/syno/bin/synopkg start FileStation > /dev/null
  /usr/syno/bin/synopkg start SMBService > /dev/null
  /usr/syno/bin/synopkg start SynoFinder > /dev/null
  /usr/syno/bin/synopkg start DhcpServer > /dev/null
  /usr/syno/bin/synopkg start SecureSignIn > /dev/null
  /usr/syno/bin/synopkg start Python2 > /dev/null
  /usr/syno/bin/synopkg start ScsiTarget > /dev/null
  /usr/syno/bin/synopkg start OAuthService > /dev/null

else
  sleep 5
fi

echo "" > /dev/ttyS0
echo "You can now login to DSM at http://localhost:5000/" > /dev/ttyS0
echo "" > /dev/ttyS0
+6 −0
Original line number Diff line number Diff line
@@ -38,11 +38,13 @@ fi

HDA="$TMP/hda1"
IDB="$TMP/indexdb"
PKG="$TMP/packages"
HDP="$TMP/synohdpack_img"

[ ! -f "$HDA.tgz" ] && echo "Invalid PAT file: File contains no OS image." && exit 64
[ ! -f "$HDP.txz" ] && echo "Invalid PAT file: HD pack not found." && exit 65
[ ! -f "$IDB.txz" ] && echo "Invalid PAT file: IndexDB file not found." && exit 66
[ ! -d "$PKG" ] && echo "Invalid PAT file: File contains no packages." && exit 68

BOOT=$(find $TMP -name "*.bin.zip")

@@ -80,6 +82,10 @@ tar xpfJ $HDP.txz --absolute-names -C $MOUNT/
tar xpfJ $HDA.txz --absolute-names -C $MOUNT/
tar xpfJ $IDB.txz --absolute-names -C $MOUNT/usr/syno/synoman/indexdb/

LOC="$MOUNT/usr/local"
mkdir -p $LOC
mv $PKG/ $LOC/

LOC="$MOUNT/usr/local/bin"
mkdir -p $LOC
mv /agent/agent.sh $LOC/agent.sh