diff --git a/Dockerfile b/Dockerfile index dc3f6a8..91b7f1a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -74,10 +74,11 @@ RUN echo "Building for platform '$TARGETPLATFORM'" \ && cd /tmp/noVNC-${NOVNC_VERSION}\ && mv app core vendor package.json *.html /usr/share/novnc \ && sed -i 's/^worker_processes.*/worker_processes 1;daemon off;/' /etc/nginx/nginx.conf - + +COPY ./openwrt_additional /var/vm/openwrt_additional + # Handle different CPUs architectures and choose the correct OpenWrt images RUN echo "Building for platform '$TARGETPLATFORM'" \ - OPKG_EXTRA_ARGS="" \ && if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ if [ "$OPENWRT_VERSION" = "master" ]; then \ OPENWRT_IMAGE="https://downloads.openwrt.org/snapshots/targets/x86/64/openwrt-x86-64-generic-squashfs-combined.img.gz"; \ @@ -104,8 +105,6 @@ RUN echo "Building for platform '$TARGETPLATFORM'" \ fi \ \ # Get OpenWrt images \ - && mkdir /var/vm \ - && mkdir /var/vm/packages \ && wget $OPENWRT_IMAGE -O /var/vm/squashfs-combined-${OPENWRT_VERSION}.img.gz \ && gzip -d /var/vm/squashfs-combined-${OPENWRT_VERSION}.img.gz \ \ @@ -139,9 +138,15 @@ RUN echo "Building for platform '$TARGETPLATFORM'" \ # Add Wireguard support \ && ssh root@localhost -p 8022 'opkg install wireguard-tools luci-proto-wireguard' \ \ - # Add default network config + # Add default network config \ && ssh root@localhost -p 8022 "uci set network.lan.ipaddr='172.31.1.1'; uci commit network" \ \ + # Add some files \ + && ssh root@localhost -p 8022 'opkg install openssh-sftp-server' \ + && chmod +x /var/vm/openwrt_additional/usr/bin/* \ + && scp -P 8022 /var/vm/openwrt_additional/usr/bin/* root@localhost:/usr/bin \ + && ssh root@localhost -p 8022 'opkg remove openssh-sftp-server' \ + \ # Sync changes into image and kill qemu && ssh root@localhost -p 8022 'sync' \ && if [ "$TARGETPLATFORM" = "linux/amd64" ]; then \ @@ -160,7 +165,6 @@ RUN echo "Building for platform '$TARGETPLATFORM'" \ COPY --from=builder /usr/local/bin/qemu-openwrt-web-backend /usr/local/bin/qemu-openwrt-web-backend COPY ./src /run/ COPY ./web-frontend /var/www/ -COPY ./openwrt_additional /var/vm/openwrt_additional RUN chmod +x /run/*.sh diff --git a/openwrt_additional/etc/rc.local b/openwrt_additional/etc/rc.local deleted file mode 100644 index bea5c97..0000000 --- a/openwrt_additional/etc/rc.local +++ /dev/null @@ -1,5 +0,0 @@ - -# Remount rootfs to enable sync -mount -o remount,rw,sync / - -exit 0 diff --git a/openwrt_additional/etc/uci-defaults/99-openwrt-container-custom b/openwrt_additional/etc/uci-defaults/99-openwrt-container-custom deleted file mode 100644 index 054900b..0000000 --- a/openwrt_additional/etc/uci-defaults/99-openwrt-container-custom +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -uci set network.lan.ipaddr='172.31.1.1' -uci commit network - diff --git a/openwrt_additional/usr/bin/restore_install_packages_from_backup b/openwrt_additional/usr/bin/restore_install_packages_from_backup deleted file mode 100644 index 385fb9e..0000000 --- a/openwrt_additional/usr/bin/restore_install_packages_from_backup +++ /dev/null @@ -1,7 +0,0 @@ -#/bin/sh - -echo "Get packages list from repo" -opkg update - -echo "Restore packages" -grep '\tunknown' /etc/backup/installed_packages.txt | cut -f1 | xargs opkg install diff --git a/src/install_openwrt_rootfs.sh b/src/install_openwrt_rootfs.sh index fa6da88..488eed6 100644 --- a/src/install_openwrt_rootfs.sh +++ b/src/install_openwrt_rootfs.sh @@ -15,33 +15,6 @@ else cp /var/vm/squashfs-combined-${OPENWRT_VERSION}.img.gz /storage/squashfs-combined-${OPENWRT_IMAGE_ID}.img.gz gzip -d /storage/squashfs-combined-${OPENWRT_IMAGE_ID}.img.gz - # info "Inject some additional files into the image" - # mount /storage/squashfs-combined-${OPENWRT_IMAGE_ID}.img /mnt - # # mount -o offset=$((512*262656)) /storage/disk.img /mnt # combined image ext4 partition starts at offset 262656 - - # chmod +x /var/vm/openwrt_additional/usr/bin/* - # cp /var/vm/openwrt_additional/usr/bin/* /mnt/usr/bin/ - - # mv /mnt/etc/rc.local /mnt/etc/rc.local.orig - # cp /var/vm/openwrt_additional/etc/rc.local /mnt/etc/rc.local - # chmod +x /mnt/etc/rc.local - - # # Add some additional default configurations. Only if we have a fresh container because /storage/current_version is not existing then - # if [ ! -f /storage/current_version ]; then - # chmod +x /var/vm/openwrt_additional/etc/uci-defaults/* - # cp /var/vm/openwrt_additional/etc/uci-defaults/* /mnt/etc/uci-defaults/ - # fi - - # info "Install additional IPKs into the image" - # mkdir /mnt/var/offline_packages - # cp /var/vm/packages/*.ipk /mnt/var/offline_packages/ - # chroot /mnt/ mkdir -p /var/lock - # chroot /mnt/ sh -c 'cd /var/offline_packages/ && opkg install *.ipk' - # rm -rf /mnt/var/offline_packages/ - # rm -rf /mnt/var/lock - - # umount /mnt - if [ -f "/storage/current_version" ]; then mv /storage/current_version /storage/old_version fi