Unfortunately I don't think there's really an answer to that conundrum that doesn't involve just spinning up your own git server and accepting all the operational overhead that comes with it.

Hmm all that operational overhead... Of an ssh server? If you literally just want a place to push some code, then that really isn't that hard.

Lots and lots of programmers have very little understanding and especially operation knowledge of how to host a public service. You can be an extreme graphics programmer and not know the web stack at all.

And no, its not that hard once you learn. Except, now its a never ending chore when it was an appliance. Instead of a car you have a project car.

> Lots and lots of programmers have very little understanding and especially operation knowledge of how to host a public service. You can be an extreme graphics programmer and not know the web stack at all.

Can confirm.

Also, not everyone who wants to share content publicly has a domain name with which to do so, or the kind of Internet connection that allows running a server. If you include "hosting" by using a hosting provider... it's perfectly possible (raises hand) to not even have any experience with that after decades of writing code and being on the Internet. (Unless you count things like, well, GitHub and its services, anyway.)

On the other hand you probably don't need to go full k8s and datadog on it. Just host it. Use a PaaS so you don't need to do Linux admin.

I think both of you are misunderstanding what I proposed. You just need a single VM with an ssh server. Literally no web service needed, if all you want to do is host some code remotely.

In case anybody is interested, having a bare git repo on a server is as easy as:

    # locally
    ssh git@example.com
    
    # server
    mkdir repo.git  
    cd repo.git  
    git --bare init
    
    # locally
    git remote add origin ssh://git@example.com/home/git/repo.git  
    git push origin master

P.S. I know it does not have the same features as github

It has all the same working features as github

If it's your ssh server and it's single user you don't need to use the "git@" part at all.

Just store the repo and access it with your account.

The whole git@ thing is because most "forge" software is built around a single dedicated user doing everything, rather than taking advantage of the OS users, permissions and acl system.

For a single user it's pointless. For anyone who knows how to setup filesystem permissions it's not necessary.

I prefer to be explicit about which user is connecting to ssh.

There isn't much advantage that can be taken from O/S users and perms anyway, at least as far as git is concerned. When using a shared-filesystem repository over SSH (or NFS etc.), the actually usable access levels are: full, including the abilities to rewrite history, forge commits from other users, and corrupt/erase the repo; read-only; and none.

But they don't literally just want a place to push some code. The problem statement included "if GitHub Pages is why you used GitHub".

And before that it said...

but if you're just looking for a generic place to put your code projects that aren't necessarily intended for public release and support (ie. random automation scripts, scraps of concepts that never really got off the ground, things not super cleaned up), they're not really for that - private repositories are discouraged according to their FAQ and are very limited (up to 100mb).

You don't need a one size fits all solution...

Exactly, it's super easy. You only need the first part of this guide https://www.youtube.com/watch?v=40SnEd1RWUU

Do most vps providers enable password based ssh access on first boot up? That video doesn't seem very relatable.

> ...that really isn't that hard.

Until the AI scrapers[1] come for you at 5k requests per second and you're doing operations in hard-mode.

1. Most forges have http pages for discoverability. I suppose one could hypothetically setup an ssh-only forge and statically generate a html site periodically, but this is already advanced ops for the average Github user

I wasn't proposing a full on forge, just a VM with a (key auth only) ssh server to push code to/from.