diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..848bfbc --- /dev/null +++ b/build.sh @@ -0,0 +1,3 @@ +docker build --tag dsm . +docker run --rm -it --name dsm --device=/dev/kvm:/dev/kvm --device=/dev/fuse:/dev/fuse --device=/dev/net/tun:/dev/net/tun --cap-add NET_ADMIN --cap-add SYS_ADMIN -p 80:5000 -p 443:5001 -p 5000:5000 -p 5001:5001 -v ${PWD}/img:/storage docker.io/library/dsm + diff --git a/install.sh b/install.sh index ab0c2ae..1fb1096 100644 --- a/install.sh +++ b/install.sh @@ -1,29 +1,22 @@ #!/usr/bin/env bash set -eu - -if [ ! -f "/run/server.sh" ]; then - echo "Script must run inside Docker container!" - exit 1 -fi - IMG="/storage" +[ ! -f "/run/server.sh" ] && echo "Script must run inside Docker container!" && exit 1 [ ! -f "$IMG/boot.img" ] && rm -f $IMG/system.img if [ ! -f "$IMG/system.img" ]; then - echo "Downloading Synology DSM from $URL..." + echo "Downloading $URL..." TMP="$IMG/tmp" FILE="$TMP/dsm.pat" - rm -rf $TMP - mkdir -p $TMP - + rm -rf $TMP && mkdir -p $TMP wget $URL -O $FILE -q --show-progress - echo "Extracting DSM boot image..." + echo "Extracting boot image..." if { tar tf "$FILE"; } >/dev/null 2>&1; then tar xpf $FILE -C $TMP/. @@ -41,14 +34,14 @@ if [ ! -f "$IMG/system.img" ]; then unzip -q $BOOT.zip -d $TMP rm $BOOT.zip - echo "Extracting DSM system image..." + echo "Extracting system image..." HDA="$TMP/hda1" mv $HDA.tgz $HDA.xz unxz $HDA.xz mv $HDA $HDA.tar - echo "Extracting DSM disk template..." + echo "Extracting data image..." SYSTEM="$TMP/temp.img" PLATE="/data/template.img" @@ -67,7 +60,7 @@ if [ ! -f "$IMG/system.img" ]; then echo -n "Installing system partition.." - tar xpf $HDA.tar --absolute-names --checkpoint=.5000 -C $MOUNT/ + tar xpf $HDA.tar --absolute-names --checkpoint=.6000 -C $MOUNT/ echo "" echo "Unmounting disk template..." @@ -83,16 +76,10 @@ if [ ! -f "$IMG/system.img" ]; then fi FILE="$IMG/boot.img" -if [ ! -f "$FILE" ]; then - echo "ERROR: Synology DSM boot-image does not exist ($FILE)" - exit 2 -fi +[ ! -f "$FILE" ] && echo "ERROR: Synology DSM boot-image does not exist ($FILE)" && exit 2 FILE="$IMG/system.img" -if [ ! -f "$FILE" ]; then - echo "ERROR: Synology DSM system-image does not exist ($FILE)" - exit 2 -fi +[ ! -f "$FILE" ] && echo "ERROR: Synology DSM system-image does not exist ($FILE)" && exit 2 FILE="$IMG/data.img" if [ ! -f "$FILE" ]; then @@ -100,9 +87,6 @@ if [ ! -f "$FILE" ]; then mkfs.ext4 -q $FILE fi -if [ ! -f "$FILE" ]; then - echo "ERROR: Synology DSM data-image does not exist ($FILE)" - exit 2 -fi +[ ! -f "$FILE" ] && echo "ERROR: Synology DSM data-image does not exist ($FILE)" && exit 2 exit 0 diff --git a/run.sh b/run.sh index 080037e..e0c9a2d 100755 --- a/run.sh +++ b/run.sh @@ -2,15 +2,14 @@ set -eu -/run/server.sh 5000 "