Skip to content

PassiveLemon/blobsaver-docker

Repository files navigation

Repo Version Size Pulls

Docker container for Blobsaver
The only purpose of this container is to automatically grab blobs in the background on systems that can't really natively run blobsaver.

Setup

You will need to already have a functional blobsaver.xml
Currently, this container does not have the ability to generate it automatically. There are ways to get this, mainly being to just see if your distro has a supported blobsaver package and generating it from that. Otherwise, if you already know the needed details for blob saving functionality with Blobsaver, you can just make the XML yourself.

Find a place to store your blobs. Something like /home/docker/Containers/Blobsaver-docker/. This will be needed later.

I also highly recommend limiting the CPU usage of the container as when the program runs, it will spike your CPU usage.

Docker run

docker run -d --name blobsaver-docker -v (path to blob directory):/opt/blobsaver/blobs/ -e STARTTRIGGER='1' -e CRONTIME='*/5 * * * *' -e BLOBARG='--include-betas --background-autosave' passivelemon/blobsaver-docker:latest

Docker Compose

version: '3.3'
services:
  blobsaver-docker:
    image: passivelemon/blobsaver-docker:latest
    container_name: blobsaver-docker
    volumes:
      - (path to blob directory):/opt/blobsaver/blobs/
    environment:
      STARTTRIGGER: '1'
      CRONTIME: '*/5 * * * *'
      BLOBARG: '--include-betas --background-autosave'
Operator Need Details
-d Yes will run the container in the background.
--name (container name) No Sets the name of the container to the following word. You can change this to whatever you want.
-v (path to blob directory):/opt/blobsaver/blobs/ Yes Sets the folder that holds your blobs and the xml. This should be the place you just chose. Make sure your blobsaver.xml is in this location.
-e STARTTRIGGER=(1 or 0) No Sets if the container will download blobs upon startup. Useful for manually triggering. 1 will enable, 0 will disable. On by default.
-e CRONTIME=(time in cron format) No Sets the interval in which the cron job runs. Defaults to every 5 minutes if not set. (*/5 * * * *)
-e BLOBARG=(arguments for blobsaver) No Sets the arguments that Blobsaver will use when ran. Defaults to --include-betas --background-autosave if not set. Do not use --import=x or --save-path=x as they are what set the directory for host mounting.
passivelemon/blobsaver-docker:latest Yes The repository on Docker hub. By default, it is the latest version that I have published.

Examples:

Docker run

docker run -d --name blobsaver-docker -v /home/docker/Containers/Blobsaver-docker/:/opt/blobsaver/blobs/ -e STARTTRIGGER='0' -e CRONTIME='*/15 * * * *' -e BLOBARG='--background-autosave' passivelemon/blobsaver-docker:latest

Docker Compose

version: '3.3'
services:
  blobsaver-docker:
    image: passivelemon/blobsaver-docker:latest
    container_name: blobsaver-docker
    volumes:
      - /home/docker/Containers/Blobsaver-docker/:/opt/blobsaver/blobs/
    environment:
      STARTTRIGGER: '0'
      CRONTIME: '*/15 * * * *'
      BLOBARG: '--background-autosave'

Xml

An example XML file is provided in the repo. Make sure to remove the comments after the lines.

<node name="#######">                                                                                 - The name that you want to put for the device.
  <map>
    <entry key="ECID" value="#############"/>                                                         - Your ECID. Can be found using 3rd party tools.
    <entry key="Save Path" value="/blobsaver/blobs/#######"/>                                         - The directory for that specific devices blobs to be saved. Must be prefixed with /blobsaver/blobs/ for it to save onto the host.
    <entry key="Device Identifier" value="#########"/>                                                - Your device identifer. https://ipsw.me/
    <entry key="Include Betas" value="true"/>                                                         - Set this to true to allow betas.
    <entry key="Apnonce" value="################################################################"/>   - Your Apnonce. Can be found using 3rd party tools.
    <entry key="Generator" value="0x################"/>                                               - Your generator. Can be found using 3rd party tools.
    <entry key="Save in background" value="true"/>                                                    - Set this to true so the blobs get saved automatically in the background.

Other

If you are getting high CPU Iowait use, check and make sure the container is not continuously erroring. Personal experience here.