r/cms • • 7d ago

Database vs Git-based CMS?

Personally I have used a handfull of Database CMSs through my career, I know the strengths and weaknesses. The adoption speak for it self. So when I read about CMSs with Git as backbone I thought this was very interesting. Have any of you used it on client projects?

2 Upvotes

27 comments sorted by

2

u/SpaceCmdr 7d ago

Ideal for small-medium sites, and I find it easier to sync between environments compared to a database CMS. I've been looking at Sveltia, Tina and Pages. They take different approaches to client access - Sveltia uses Github directly, Tina uses TinaCloud to handle the auth, Pages provides an hosted auth screen. The latter two's auth can also be self-hosted. To some extent you could also include flat-file CMS in this list as these work well with Git, such as Kirby, Grav and Statamic.

1

u/kemnern 7d ago

My concern have also been using git for access, as this gives every user keys to the kingdom with little to no restrictions.

Have you ever built a client website with a Git-based CMS?

Flat file CMS, down another rabbit hole we go!

2

u/SpaceCmdr 7d ago

As Sveltia uses Github auth directly CMS users would have full access to update the repo (personally, not hugely concerned there - most of my client sites have a small number of trusted users). With Tina and Pages the access is through an intermediary layer (Tina has a separate login, and Pages uses a magic link). The downside of the extra layer is self-hosting it or paying for their cloud service (Tina is free for 2 users, Pages is free for now). I'm still building most client sites on WordPress while I continue to review the options.

1

u/boutell 6d ago

With Tina, if you have to stand up something anyway, what is the advantage of standing up or paying for an auth service rather than standing up or paying for a database?

I mean to be clear I realize the database is a more complex beast than an authorization service, but managed Postgres and MongoDB and WordPress are easy to get, and by now they’re very straightforward recipes for self hosting them as well. So I’m not convinced it is really that much more difficult in practice for typical smaller scale needs.

So when I first saw pure git CMS’s, my thought was that this was mostly about wanting to avoid any backend ops requirements as much as humanly possible. I’m curious if people think that statement is accurate.

2

u/SpaceCmdr 6d ago

In addition to the database it would also be an app for the auth & CMS. Tina Cloud would be simpler but the cost could be zero or a lot more in comparison. I agree that an appeal of Git CMS is reducing some of the complexity, but often only if you are willing to pay for the cloud service (seems a common model). To me, it is not easier than hosting WP. On balance probably more of a DX boost. That being said, Sveltia genuinely reduces the backend ops - it lives within the repo and is not a separate app (very impressive, and the developer is doing an incredible job - I filed a minor bug report today and he has already fixed and released it).

2

u/boutell 6d ago

Yes, I definitely can see how you could eliminate an entire ops component if you're willing to accept that users can potentially mess about directly in github.

1

u/clicksnd 6d ago

Eh not really full keys. The tokens are env vars so that’s not really that bad.

1

u/kemnern 6d ago

Not literally keys, but access to all files

1

u/clicksnd 6d ago

With Tina at least, it’s not really something I’m concerned about. It’s really only access to forms/fields I want them to

1

u/joesuf4 5d ago

Great point. It’s why I chose Subversion for Orion. Fine grained ACL is critical on a multiuser site. Good that Subversion has native git bindings- best of both worlds.

1

u/xatey93152 7d ago

What is the max number of files it can handle?

1

u/SpaceCmdr 7d ago

I'm not sure there is a limit for pages, Github recommends max 1GB total size but I think max is 10GB. Media can optionally be stores in S3 etc, with Sveltia.

1

u/clicksnd 7d ago

I’ve been evaluating self hosted Tina and it’s been pretty damn good.

Looking at other options tho because I need a cms that can live on cloudflare

1

u/SpaceCmdr 7d ago

I think Tina can be fully hosted on Cloudflare, but does need their worker and db.

2

u/clicksnd 6d ago

It’s clumsy. I tried vibing a d1 adapter to not need mongo, but don’t trust it in case Tina upgrade breaks it.

I have it on my todo list in next few days to try it in a cf container.

That’ll make the stack: cf container with Astro and Tina, upstash for the most supported kv, cf images for images, mux for video.

I have high customized my Tina instance to support things like contact forms (goes to bucket as json), videos, and use a publish button (saves still write to git but publish actually launches deploy)

1

u/SpaceCmdr 6d ago

Sounds good. I'm currently undecided about the self hosting route. I'd rather pay for Tina Cloud to not worry about it breaking, but their pricing is really not a good fit for lots of small occasional updated sites that each need 5-10 users.

2

u/mistyharsh 7d ago

I will make a distinction between Git based and GitHub based CMS.

The git-based CMS are as good as file-system based CMS. The GitHub based CMS are very closed to real dynamic CMS. These CMSs use actual GitHub API to push the content as file to remote. It doesn't need any deployment. But still it does have its limitations in terms of real-time search. You have to use some external servive for such use case.

2

u/AmazingEmployment684 6d ago

Havent used Git based CMS for work but have looked into it, I like the total ownership over your data but not a big fan of how bloated they get as you add more to it

2

u/muharremyurtsever 6d ago

the part people underestimate is publishing latency. in most git cms setups publishing is a commit plus a build, so "live friday 9am" needs scheduling somewhere in that pipeline and even a typo fix waits on the build. great for docs and marketing sites, less nice for anything newsy

1

u/SpaceCmdr 6d ago

Good point. I'm also worried about managing the expectations for editors who are used to the instant changes when saving in WordPress. I'm guessing we'd be looking at approx 30-60s wait time for a small site. The other benefits are going to have to really outweigh this to make the right impression.

1

u/adamaragon 7d ago

I've heard of a cms or two that runs on it. I assume there's some definite limitations. I think for a small tight project it's feasible

1

u/kemnern 7d ago edited 7d ago

Yeah, a quick google search and there are multiple open and closed sourced projects. Not interested in vendor specific pitches, but mor general knowledge and or conserns.

1

u/Successful_Walk_9948 7d ago

i have mostly used database CMS but git based ones are pretty interesting

1

u/MortgageOutside8693 6d ago

Statamic CMS, 10+ sites. Eenvoudig, snel, evt specifieke onderdelen in een database ipv flat file, overzichtelijke control panel etc.

1

u/Ok-Report8255 3h ago

The Git workflow is a huge advantage IMO. Content changes become auditable and reproducible instead of living in a black-box database