{"id":16318958,"url":"https://github.com/jadolg/dockerimagesave","last_synced_at":"2026-04-08T22:02:31.580Z","repository":{"id":53603741,"uuid":"146609838","full_name":"jadolg/DockerImageSave","owner":"jadolg","description":"Download Docker images as files. Useful if you are located in places where DockerHub is blocked.","archived":false,"fork":false,"pushed_at":"2026-04-08T16:27:33.000Z","size":577,"stargazers_count":92,"open_issues_count":4,"forks_count":12,"subscribers_count":4,"default_branch":"master","last_synced_at":"2026-04-08T17:32:23.116Z","etag":null,"topics":["china","cuba","docker","hacktoberfest","iran"],"latest_commit_sha":null,"homepage":"https://dockerimagesave.akiel.dev/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jadolg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"jadolg"}},"created_at":"2018-08-29T14:10:46.000Z","updated_at":"2026-04-01T11:41:25.000Z","dependencies_parsed_at":"2026-01-08T17:00:03.863Z","dependency_job_id":null,"html_url":"https://github.com/jadolg/DockerImageSave","commit_stats":null,"previous_names":[],"tags_count":53,"template":false,"template_full_name":null,"purl":"pkg:github/jadolg/DockerImageSave","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jadolg%2FDockerImageSave","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jadolg%2FDockerImageSave/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jadolg%2FDockerImageSave/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jadolg%2FDockerImageSave/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jadolg","download_url":"https://codeload.github.com/jadolg/DockerImageSave/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jadolg%2FDockerImageSave/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31575755,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["china","cuba","docker","hacktoberfest","iran"],"created_at":"2024-10-10T22:25:15.150Z","updated_at":"2026-04-08T22:02:31.575Z","avatar_url":"https://github.com/jadolg.png","language":"Go","funding_links":["https://github.com/sponsors/jadolg"],"categories":[],"sub_categories":[],"readme":"# Docker Image Save\n\n![logo](./logo.png)\n\n[![Go](https://github.com/jadolg/DockerImageSave/actions/workflows/go.yml/badge.svg)](https://github.com/jadolg/DockerImageSave/actions/workflows/go.yml)\n\n## Notice on version 1.x.x\n\nVersion 1.x.x is deprecated and will not receive updates or security patches. Please upgrade to version 2.x.x.\nThe default service is also now running version 2.x.x which means the old client application does no longer works.\nVersion 2.x.x does not need any client application since it works over HTTP(s).\n\n## Why?\n\nCuba is actively blocked by Docker and this makes difficult to obtain docker images since there is no direct access to\nthe registry, also Cuba's internet access is restricted and slow in most cases, so a way to download these images that\ncan be resumed is needed by thousands of developers.\n\n## Official Docker image\n\nDocker image is being deployed with the CI as `guamulo/dockerimagesave`\n\n## My instance\n\nYou can use my public instance at: [https://dockerimagesave.akiel.dev](https://dockerimagesave.akiel.dev)\n\nMetrics available in [Grafana](https://grafana.akiel.dev/d/HU5bfRRnz/dockerimagesave?orgId=2)\n\nUptime monitor at [Uptime](https://uptime.akiel.dev/status/dockerimagesave)\n\n## Usage\n\n### Server side\n\n#### docker-compose.yml\n\nThis will spawn a dockerimagesave server with caddy as a reverse proxy with automatic https using let's encrypt.\nRemember to update the domain name in the Caddyfile.\n\n`docker compose up -d`\n\n#### docker run (direct usage without reverse proxy)\n\n`docker run -v $PWD/config.yaml:/config.yaml -p 8080:8080 -d guamulo/dockerimagesave`\n\n### Client side\n\n#### Only get the file\n\n`wget -c --tries=5 --waitretry=3 --content-disposition \"https://dockerimagesave.akiel.dev/image?name=ubuntu:25.04\"`\n\n#### Direct pipe (simple)\n\n```bash\nwget --tries=5 --waitretry=3 -q -O - \"https://dockerimagesave.akiel.dev/image?name=ubuntu:25.04\" | docker load\n```\n\n#### With resume support (for large images or if you want to keep the file)\n\n```bash\nwget -c --tries=5 --waitretry=3 --content-disposition \"https://dockerimagesave.akiel.dev/image?name=ubuntu:25.04\" \u0026\u0026 docker load -i ubuntu_25_04.tar\n```\n\n#### Selecting a specific architecture\n\nBy default the service downloads `linux/amd64`. Use the `os` and `arch` query parameters to select a different platform:\n\n```bash\n# Download linux/arm64\nwget -c --tries=5 --waitretry=3 --content-disposition \\\n  \"https://dockerimagesave.akiel.dev/image?name=ubuntu:25.04\u0026os=linux\u0026arch=arm64\"\n\n# Download linux/arm/v7 (32-bit ARM)\nwget -c --tries=5 --waitretry=3 --content-disposition \\\n  \"https://dockerimagesave.akiel.dev/image?name=ubuntu:25.04\u0026os=linux\u0026arch=arm\u0026variant=v7\"\n```\n\n#### Listing available platforms for an image\n\n```bash\ncurl \"https://dockerimagesave.akiel.dev/platforms?name=ubuntu:25.04\"\n```\n\nReturns JSON like:\n\n```json\n{\n  \"platforms\": [\n    {\"os\": \"linux\", \"architecture\": \"amd64\"},\n    {\"os\": \"linux\", \"architecture\": \"arm64\"},\n    {\"os\": \"linux\", \"architecture\": \"arm\", \"variant\": \"v7\"}\n  ]\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjadolg%2Fdockerimagesave","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjadolg%2Fdockerimagesave","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjadolg%2Fdockerimagesave/lists"}