r/selfhosted icon

Go to selfhosted

Github Pages Alternative

Thumbnail image: Calling all experts and enthusiasts! Time is money, and with Squarespace, you can make even *more* when you offer your services with its all-in-one Commerce tools. So turn your practice into profit and your expertise into income.

If it's a static website, it's infinitely easier to just throw it on netlify or cloudflare. comes with the nice stuff like edge and cdns too.

More replies

More replies

Github Pages is basically just a standard web server which servers files out of a git repo. So fairly trivial to build with Caddy/Nginx. Just checkout your website into a folders served by your web server and you're done.

If you want more integrations (webhooks to update content on git push etc) have a look at CapRover, Coolify or Dokku. But they are a lot more complicated if all you want is a web server.

If you need to keep the content up to date automatically, but don't want to use something too complicated try git-sync

More replies More replies

"This entire website is just a running instance of Fossil." That's pretty neat. :)

More replies

Getlab CE can be run locally. Theres also gitea. Theyre both excellent.

Gitea has been amazing 👏

More replies More replies

More replies

None of these are selfhosted.

More replies

More replies

I use GitLab Pages with GitLab CI

I have a tiny Hugo blog I run in its own container off the Hugo web server. Hugo is nice in the way that it will rebuild the site if it detects changes in its source directory, so whenever my gitea ci runs after a merge to main, it just automatically reloads. I doubt this would scale to infinity, but it doesn’t need to for my use case. It’s a bit more tinkering to set up than GitHub pages and alike, but I feel that’s a given with self hosting overall

Long story short: You'll have to do the "Pages" part yourself, but it's not a hard thing to solve.

On GitHub Pages, your content is statically served from a GitHub repository (optionally, otherwise compiled from Hugo/Jekyll/...). Implement this in a self-hosted way by hosting a Gitea instance with a Gitea runner, whose job it is to run commit-triggered and push your content to a running self-hosted instance of nginx which serves the content to a user.

All of this can be done via Docker containers without polluting the host system with software installations, so you can easily prototype this kinda stuff.

More replies

I'm using a git-sync container to sync the webpage content to a nginx volume. Maybe a bit too DIY, but it works great for me.

Gitea is my personal favorite! Simple to setup with docker and works as it should.

I run Gitlab for code maintenance and a CI in it to dockerize the code on top of httpd. I use it in this way because I have also backends written in node and frontends written in react that are deployed to same docker environment. I run traefik at the front for proxy