Unofficial containerized version of Instaloader: https://github.com/instaloader/instaloader
415
I am archiving this repo because Instaloader doesn't seem to work anymore as a set-and-forget cron job, which is the purpose of this repo, due to the its automated activity being so readily detectable. There does not seem to be any interest in fixing this (if that's even possible now) by the developers, so I will not be putting any more energy into it.
Unofficial containerized version of Instaloader. Based on python:3.12.4-bookworm.
Uses an uncommitted rate limit fix from here. This fix adds a random (15-30s) pause between queries which slows things down a lot, but should prevent your account from being suspended.
The only required environment variables are HOST_UID and HOST_GID. These are needed to make sure the downloaded files have the right permissions. You can specify your local timezone in TZ so the logging matches your local timezone.
| Name | Description | Required? |
|---|---|---|
| HOST_UID | UID of the host account: id -u | Required |
| HOST_GID | GID of the hsot account: id -g | Required |
| TZ | Your local timezone value so that log date/time matches your local date/time. Uses tzdata format like America/New_York. | Optional |
You need to provide 2 volumes:
| Path in Container | Description | Required? |
|---|---|---|
/root/download | This is where all of your files will be downloaded. My advice would be to use an otherwise empty folder, just for this purpose. | Required |
/root/.config/instaloader | This is where your configuration and session files are saved. | Required |
You need to provide 2 config files:
| Volume | Name | Description | Required? |
|---|---|---|---|
| Config | args.txt | This file includes all of the parameters that will be passed to instaloader, one parameter per line. Don't include target usernames. More info found here. | Required |
| Config | targets.txt | This file includes all of the target user accounts you want to download, one username per line, exactly as it appears in the URL. | Required |
Format example:
--login=myusername
--password=myp@55w0rd
--abort-on=302,400,401,429
--fast-update
--quiet
--login and --password are always required, even after you have a session file saved. The script removes your existing session file after each full run. That seems to help with the next run.--abort-on causes the scraper to stop immediately if it encounters any of a comma-separated list of HTTP response codes.--fast-update causes the scraper to stop as soon as it sees a file that already exists. Take that part out if you need to do a full run, but if you're just getting updates, this will speed things up a lot.--quiet reduces log output, only shows errors.Format example:
snoopdogg
thedodo
espn
When you start the container, a script is started that runs the entire process. Here's how it works, step by step.
/root/download directory are set.Content type
Image
Digest
sha256:e1ac7b663…
Size
371.5 MB
Last updated
about 2 years ago
docker pull tenseiken/instaloader