Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Python script to automate checking for docker engine upgrades and building an Asustor .apk file for use in upgrading your NAS.

License

NotificationsYou must be signed in to change notification settings

DieselTech/asustor-docker-creator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

This Python script automates the process of upgrading the Docker version in an ASUSTOR NAS.apk package. It downloads the latest Docker binaries, replaces the binaries and version in the original.apk, preserves helper files, and notifies you via a Discord webhook when a new.apk is created.It does not automate the installation of the APK on your NAS. That part still needs to be done manually. For obvious reasons, I don't want that aspect automated right now.

Features

  • Fetches Latest Docker Version: Scrapes Docker’s download page to find the latest stable release (e.g.,docker-28.0.4.tgz).
  • Version Check: Compares the current.apk version with the latest Docker version to avoid redundant processing.
  • Updates APK:
    • Updates thegeneral.version inconfig.json (insidecontrol.tar.gz).
    • Replaces Docker binaries indata.tar.gz’sbin directory while preserving other helper files.
    • Creates a new.apk nameddocker_$VERSION.apk (e.g.,docker_28.0.4.apk).
  • Discord Notification: Sends a message to a Discord webhook when a new.apk is generated, including version and file details.

Requirements

  • Python 3.6+ - I think? Probably works on older versions since it is fairly basic. The version of Python3 that ADM has in the store is 3.10.11 and there is no issues running this script directly from there.
  • Python Library:requests (install viapip install requests).
  • Original APK: An ASUSTOR Docker.apk file. You can download this directly from Asustor's site (https://appdownload.asustor.com/0010_999_1732245556_docker-ce_25.0.5.r1_x86-64.apk) then name itoriginal_docker.apk and keep it in the scripts root folder.
  • Discord Webhook (optional): For notifications when a new.apk is created.

Usage

  1. Save the Script:

    • Placeupgrade_docker_asustor.py in a directory (e.g.,/path/to/asustor_docker_creator/).
  2. Place Original APK:

    • Copy your ASUSTOR Docker.apk to the script’s directory and name itoriginal_docker.apk.
    • Alternatively, editORIGINAL_APK in the script to point to your.apk path:
      ORIGINAL_APK=Path("/path/to/asustor_docker_creator/original_docker.apk")
  3. Install Dependencies:

    • Install therequests library:
      pip install requests
  4. Set Discord Webhook (Optional):

    • Create a webhook in your Discord server (Channel → Edit → Integrations → Create Webhook).
    • Copy the webhook URL and updateDISCORD_WEBHOOK_URL in the script:
      DISCORD_WEBHOOK_URL="https://discord.com/api/webhooks/your-webhook-id/your-webhook-token"
    • If unset, notifications are skipped.
  5. Make Executable (Linux):

    • On Linux, make the script executable:
      chmod +x main.py

Automation (Linux)

  1. Schedule with Cron:

    • Add the script to cron for periodic checks. If your running directly on the NAS you need to callpython3 directly like in the example below.
      crontab -e0 4*/5** /usr/local/bin/python3 /volume1/path/to/scripts/asustor_docker_creator/main.py
    • The above cron is to run at 0400 every 5 days. I try to be a good internet citizen and not hammer their servers constantly for something that doesn't have a frequent release.
  2. Monitor Notifications:

    • When a new.apk is created, you’ll receive a Discord message with the version, filename, and path.
    • Manually grab the.apk (e.g.,docker_28.0.4.apk) and install it on your ASUSTOR NAS via ADM (App Central → Manual Install).

Notes

  • Architecture: Assumesx86_64 for Docker binaries. For ARM-based NAS, updateDOCKER_BASE_URL:
    DOCKER_BASE_URL="https://download.docker.com/linux/static/stable/aarch64/"
  • Helper Files: Non-Docker files indata/bin are preserved, assuming they have unique names.
  • Webhook Security: Keep your Discord webhook URL private.
  • Testing: Test manually before automating to ensure the output.apk works on your NAS.
  • Version Check: Skips processing iforiginal_docker.apk’s version matches the latest Docker release.

About

Python script to automate checking for docker engine upgrades and building an Asustor .apk file for use in upgrading your NAS.

Topics

Resources

License

Stars

Watchers

Forks

Languages


[8]ページ先頭

©2009-2025 Movatter.jp