Automaticly install the default packages

This commit is contained in:
Kroese 2023-04-02 03:57:02 +02:00
parent 3d9dbead11
commit 55b122d9a3
3 changed files with 43 additions and 11 deletions

View File

@ -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 \
python3 \
xz-utils \
ca-certificates \
netcat-openbsd \
qemu-system-x86 \
udhcpd \
python3 \
iproute2 \
xz-utils \
qemu-utils \
btrfs-progs \
netcat-openbsd \
ca-certificates \
qemu-system-x86 \
&& 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

View File

@ -2,11 +2,35 @@
set -u
echo "Starting agent.."
chmod 666 /dev/ttyS0
echo "Starting agent.." > /dev/ttyS0
sleep 5
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

View File

@ -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