this post was submitted on 10 Nov 2024
39 points (91.5% liked)

Selfhosted

40174 readers
661 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

Thanks for all the great replies!

top 17 comments
sorted by: hot top controversial new old
[–] just_another_person 28 points 4 days ago (2 children)

Retag and push to a local registry. Lots of options out there for setting one up.

Honestly, you already have the image locally if you've pulled it. You don't really need to run a registry unless you're dead set on it. You can also flatten and export containers for backup if you really want.

[–] thirdBreakfast 16 points 4 days ago (1 children)

Two good points here OP. Type docker image ls to see all the images you currently have locally - you'll possibly be surprised how many. All the ones tagged <none> are old versions.

If you're already using github, it includes an package repository you could push retagged images to, or for more self-hosty, a local instance of Forgejo would be a good option.

[–] [email protected] 8 points 4 days ago

I'd also like to add that you can save an image to a local file using docker image save and load them back using docker image load. So, along with the options mentioned above, you have plenty of options to backup images for offline use.

[–] [email protected] 7 points 4 days ago (2 children)

Honestly, you already have the image locally if you've pulled it.

I guess not everyone treats their PC as an ephemeral storage, huh? I don't trust anything that's available only locally to survive.

[–] just_another_person 6 points 4 days ago

Well the question is about a container disappearing from a public registry, in which case nothing would happen if it's already pulled locally. Figuring where to go from there is the other half of that problem.

[–] [email protected] 1 points 4 days ago

Then backup whatever you set your docker local storage to?

[–] [email protected] 11 points 4 days ago

The vast majority of selfhosters probably don't but if you want its called a private repository

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-private-docker-registry-on-ubuntu-20-04

[–] [email protected] 3 points 4 days ago

At my job, we run goharbor.io and use its Replications feature to do just that.

[–] [email protected] 4 points 4 days ago (1 children)

Just use a sonatype nexus 3 image and proxy docker hub, etc. Then you pull images through it.

[–] [email protected] 3 points 3 days ago

We run this at work so we have forever copies of image tags and to reduce dockerhub rate limit issues. Works well even for a large dev team.

[–] [email protected] 3 points 4 days ago* (last edited 3 days ago) (2 children)

For most of you suggesting hosting a repository - yes but,

Host forgejo. Just host the git mirror. It comes with a package repo out of the box. Then you have the source code and the docker images

[–] [email protected] 2 points 2 days ago (1 children)

An alternative method is to run an actions workflow that syncs from upstream images directly, like what Forgejo actually do.

https://code.forgejo.org/forgejo/oci-mirror

[–] [email protected] 2 points 2 days ago

oh freaking awesome, this looks amazing! Thank you so much for this!

[–] [email protected] 1 points 3 days ago

Host forgejo.

Or Gitea if you want to run the upstream.

[–] Deckweiss 4 points 4 days ago* (last edited 4 days ago)
[–] [email protected] 1 points 4 days ago

I mean you have the current image cached on the local server when you use it.

[–] [email protected] 0 points 4 days ago

Isn’t a Docker registry just HTTP? Would a caching proxy be too hard to use for this?