@qgustavor I used to rely on it very heavily, but given today's direction of GitHub I feel that offering no other hosting option is kind of ... not great any more
@dallo the one nine of uptime and the lack of COOP/COEP support (and the architecture that is inherently tied to querying Forgejo's expensive endpoints online) were the big original reasons I set out to develop git-pages
@whitequark to be fair, when they implement support to custom headers it will be better than GitHub Pages: my mkvextract project is having an issue where ffmpeg now requires threading support to compile and it requires setting some HTTP headers, which is only possible in GH using service workers. If I migrate there I wouldn't need to implement this workaround.
@acidbong specifically I did this because Codeberg Pages had like one nine of availability (sometimes less on a bad day), was dependent on Forgejo architecturally in a way nobody really likes and which caused outages due to LLM scrapers etc, and doesn't offer COOP/COEP headers in a convenient form
@nxskok if you have e.g. repo codeberg.org/nxs/sub1 and you want to publish it to sub1.swiss-soccer.net, define DNS auth for the subdomain (you can set _git-pages-repository.sub1.swiss-soccer.net even if you use CNAME since it is a subdomain) and set up a webhook pushing to http://sub1.swiss-soccer.net
@whitequark it may indeed. Thank you for putting this together.
I followed the instructions and got my codeberg repo sitey up on my domain swiss-soccer.net (it's a very small static website).
After considerable effort, I previously managed to get several static websites up on codeberg pages, each repo mapped to a subdomain on my domain. This was done with CNAMEs, but I couldn't seem to see how that might go on grebedoc: I set a CNAME to a subdomain of my site, but then I need to map this somehow to a subdomain of grebedoc that has a static site repo in it. (On Codeberg Pages, the format is reponame.username.codeberg.page.) Am I missing something to do this, or should I not be doing it?
Did the additional TXT record as described. Set up the webhook on the repo that's going to be published to the subdomain, as described. My DNS stuff now has two TXT records, one for the domain and one for the subdomain. It also has an A record and an AAAA record with the IPv4 and IPv6 addresses for grebedoc.dev.
It seems to me that the TXT things are for authorization, not to send anyone looking for sub1.swiss-soccer.net to the right place. For that I seem to need a CNAME record. The host is going to be sub1, but for the value I have no idea what to put, except that it seems to be something to do with grebedoc.dev.
(Setting the CNAME value to grebedoc.dev enables me to ping and dig sub1.swiss-soccer.net, but not to access sub1.swiss-soccer.net. When I try, I get This site can’t provide a secure connection: sub1.swiss-soccer.net sent an invalid response.
@whitequark possibly relevant: on the webhook page, under Recent Deliveries, I clicked on one (they are apparently all the same), and it has a 401 response with this body:
unauthorized - missing Authorization header - failed to look up DNS repository allowlist: _git-pages-repository.sub1.swiss-soccer.net TXT - domain sub1.swiss-soccer.net does not match wildcard *.grebedoc.dev
even though there is a CNAME with host sub1 and value grebedoc.dev. with ., and a TXT record with host _git-pages-repository.sub1.swiss-soccer.net and value https://codeberg.org/nxskok/sub1.git *and* per dig it seems to have propagated.
@whitequark it looks as if in my "advanced DNS" (namecheap), the actual domain is *not* allowed to be in the "host" column, so for me that says just _git-pages-repository.sub1.
now dig _git-pages-repository.sub1.swiss-soccer.net TXT includes an ANSWER section with
dig _git-pages-repository.swiss-soccer.net TXT returns the value of TXT (another codeberg repo), which I would expect, but dig _git-pages-repository.sub1.swiss-soccer.net does not.
@whitequark I wrote up some (rather detailed) notes for myself so that it will work again next time. It seemed obligatory to put them at http://sub1.swiss-soccer.net, so I did.
ETA: I would like to write something for grebedoc.dev that covers the subdomain part (and builds off what was written for "I own a domain").
I carefully rendered my static website *to the wrong folder*, so of course it could not be found. Now all is well, and sub1.swiss-soccer.net is alive and kicking.
Thank you for your patience and advice over the last couple of days.
I have a website in several sections that is currently on github pages, and now I think I have the opportunity to make each section its own repo and have each one be displayed on a subdomain, with the content on codeberg and using grebedoc.dev, and it looks as if I should be able to make it work. Thank you for making this possible.
Now, before I close all those tabs, I need to write down what ended up working...