#Please use the new CMS Channel
1 messages · Page 1 of 1 (latest)
This really depends on what you are wanting to do..
content collection 😉
Ah, you are right. Sorry! Let's say I have some contents named blog, faq and testimonials. I want to be able to add more and change. Basically, I have some contents and want to update/edit/delete them with an UI.
I am using content collections actually. But I want to add/delete/update with an UI. I hope I am clear enough, sorry!
then it's a hard decision, you can start by checking entrie in thinpage https://docs.astro.build/en/guides/cms/
This is so cool and exactly what I want to be honest. Is there anything similar a bit cheap or free 😅
if you narrow it down to two or thee then people can share their experience
haha was gonna ask, what's your budget 😉
Not sure on free for the Darkmatter. Could try something like DecapCMS or StaticCMS
Well, I am kind of a freelancer and most of my clients are non-tech related people. So, you know, you have be as simple as possible. I can't just tell them to create an .md file etc. So I also want to offer a free choice for my clients. That's why I am asking if there is a similar choice with a free plan 😅 .
true, that's wise
I tried Decap and everything was good until I realized there is some sort of Vendor-lock in DecapCMS, no?
So ive been dealing with this same exact thing lately. Im using Sanity.io now and it seems to be good
I also tried Storyblok but it is an overkill I think. After all I just want to CRUD some blog post, no?
Allright, thank you. Will take a look at Sanity.io and StaticCMS also!
There are plenty of options, you just kinda sorta gotta decide which best works for you and your use case, your familiarity with the project, and willingness to explore & tinker!
https://jamstack.org/headless-cms/
Personally, I chose to go with Directus, hosted on DigitalOcean.
Sanity and Storyblok seem very very popular around this server.
If you're looking for the simplest "plug-n-play" type, then DecapCMS/StaticCMS would be your best bet.
I dont know, why anyone is not suggesting TinaCMS. You can give that a try.
I tried tinaCMS and ran into multiple issues.
I am using Sanity for two client projects and I think it's pretty good. You can get pretty far with their free tier.
Little late to the party here but my suggestion is anything git based (TinaCMS and DecapCMS are the 2 I know off the top of my head). A git-based CMS will commit your client's changes directly to the repo that way you can rebuild/deploy whenever there is a commit to the repo. If your using Netlify/Vercel they will automatically redeploy for you, or if your client uses a traditional hosting service, you can use a GitHub Action to rebuild and upload to FTP using: https://github.com/marketplace/actions/ftp-deploy
Hmm, sanity can trigger a webhook when making changes too. There is also a plugin to create a deploy button in the dashboard. I never felt comfortable telling my clients to make GitHub accounts.
Interesting! I haven't experimented with a CMS that has webhooks but that would work great too, although it sounds like it might be harder to setup (not sure!). As far as making GitHub Account, it depends on the service, for example TinaCMS has a free cloud based editor that is easy for non-technical people to use
yeah, it's pretty easy to work with. their docs are massive and they have a pretty helpful slack channel (I sound like a shill at this point :D). I wanted to give Tina a try before coming to sanity but they have a limit for 2 editors on their free tier I think. with sanity, you get 20 users.
Wow that is generous, I have heard a lot about Sanity I need to try it out. The free tier for TinaCMS is a downside, I wish they at least had a cheaper paid tier than $29/month
Hello people. I explored little bit last night. I tried Sanity, TinaCMS and DecapCMS. I removed the Sanity from my list because of React must-have integration (I just want pure Astro but it is quite easy to set up and use. I recommend Sanity if you don't have a problem with having React). I tried TinaCMS and it is pretty easy to set up also. It is git based to with Vercel, automatic deploys. One thing I didn't like is sorting (I wanted to sort just draft posts but as far as I know you can only sort asc-desc, maybe you can do it, I don't know) and needing some sort of premium in order to have editorial workflow. So lastly I tried DecapCMS (used to known as Netlify CMS) and it is what I chose to use for now. Editorial forkflow + better UI when showing draft posts etc. One problem that I encountered with DecapCMS is auth is easier to set up with Netlify Integrity (I think that was the name) but I didn't like being vendor-locked so I found a library with that you can use OAuth with GitHub and log in to your CMS. So my choice is to use DecapCMS for know. Thank you all for commenting and helping out. I leave the library repo here: https://github.com/dorukgezici/astro-decap-cms-oauth
Thank you all!
PS: Sorry for grammer mistakes!
You can self host TinaCMS. But I ran into issues with that trying to get it working.
I am enjoying Sanity so far. But the Groq and stuff is tripping me up
I think I used Tina Cloud while setting it up. It was quite easy.
I couldn’t get the media to load for me. But I may just use DecapCMS since Sanity is giving me some issues trying to just pull images.
On that note. I was able to upload images successfully but haven't try to use them in <Image /> component.
Regarding Sanity and React, I can't see a reason why the React components can't be ported to something else...
Yes, you're correct but still, it is extra work. As I said, I just didn't want to use React. I am sure it is a good CMS.
I also had issues with images in TinaCMS and dont really recommend it. I got Keystatic CMS working really well with Astro though! Using the keystatic cloud for deplpyment. It's another local / git based CMS. It's not perfect but it works really well for me so far. That way you can still use content collections with MDX (or markdoc) and image optimization, plus you can register custom components as well
I think @tulip osprey got images working with Tina
I mean <Image/>
keystatic is nice, only thing it’s missing for me is live preview which decap has but it’s quiet limited admittedly can’t do anything cool like live preview remark plugins
I did this, it looks, idk, ugly but works. @tulip osprey could you show me your solution, please?
const blogImage = import(`../content/blog/${blog.data.headerImage.split(".")[0]}.jpg`);
I've also been curious about Keystatic and will probably try it out soon.
I got images working in TinaCMS awhile ago, I forgot exactly how this worked but I used a field object like this: ```ts
{
label: "Thumbnail",
name: "image",
type: "image",
ui: {
parse: (val) =>
(val && (val.includes('https://assets.tina.io')) ? '/' + val.split('/').slice(4).join('/') : val.replace('/../src/images', '')),
format: (val) =>
(val && (val.includes('https://assets.tina.io')) ? val : 'https://assets.tina.io/' + clientId + val)
},
required: true,
}
Im doing Keystatic right now and enjoying it. @half ledge Were you able to customize your Brand in the admin page? Im trying to add a custom logo and running into some issues. No one seems to be online in the Keystatic Discord
I definitely change the name, not sure about the logo tbh. But ask in the discord! Someone will respond eventually
I've asked a number of questions there and always gotten a response within a day or so (except the weekends)
Hey there 👋 I'm trying DecapCMS and the live-preview thing is promising but has anyone managed to make it work with Astro?
I just get a plain html
https://github.com/OliverSpeir/astro-decap-ssg-netlify-identity here I use a package.json script to put my tailwind style sheet in /global so I can register it to the preview and I register a custom preview to control make rhe live preview only show the body field
I really wish decal would let you use remark plugins on the live preview thoufh
@tranquil leaf
I started using Keystatic. But I hate that it seems like if I want to manage media. Im locked into their subscription
You can just upload images into github at a folder you specify. Then it's free
I got images working in tina using z.preprocess but it's a mess
i wouldn't recommend tina with astro
keystatic is pretty nice
i really need to work on a cms for astro, there's too much things to do already lol
I’m getting to the point where im about to just roll my own CMS.
@tulip osprey If you wanted to try and work together on a CMS for Astro. I’d be down for that.
In the last month I have given just about every CMS I can find a go. A few people in general are also talking about writing one with AstroDB. Would be a fun project to get involved with.
Regarding React with Sanity, that is only a requirement for the content editor, which to my understanding is hosted separately on the sanity servers and shouldn't effect the runtime of your astro app in any way. Am I wrong on this?
I've been there 😅
What I think is interesting is to collect a specification, what is it that we want that is not offered by content collection or any single cms. What I did is create a markdown parser, that is framework independent, no rendering dependencies, generates json files that can be used for rich rendering https://github.com/MicroWebStacks/content-structure
For me, content collections are not a viable solution because I have non-technical clients. They expect a wordpress-like UI for updates to their site.
I think one feature an Astro-first CMS could have is automatically building out the UI based on the content collection schemas. Currently when working with a headless CMS you have to define the schema twice. Once for Astro and once for whatever CMS you are using.
That's a tricky one, "editors" how good should they be ?
- text only
- simplified wysiwyg
- final rendering quality editor
Most professional cms require a sort of abstraction, e.g. you don't manpulate text but logical boxes with arrows, which in my opinion is a high price to pay and drives away from the JAM "revolution", I respect the wysiwyg wish, and I wish it myself for higher efficiency.
It's only a pity that every cms needs an own editor and there's no standard one we can convert from.
I don't think a full wysiwyg editor is necesary, but something that renders MD markdown previews in realtime and has the typical "Bold", "Italic", etc UI buttons that most non-technical people would expect.
CMS aren't really for developers IMO. They are for copywriters, marketing teams, small business owners, etc.
Something extendable like tiptap would be awesome.
What we need is to load the dev server in the browser like stackblitz then you can support mdx components and everything I think wysiwyg is ideal as well for non technical people tinyMCE or tiptap, slate is ok too then you can create special components for them that use .mdx components so they can easily do calls to action etc
less than that if you just want a rich text to markdown with a live preview of that that’s pretty good too if you can run remark plugins before the live preview then you can use remark directives for custom components
Would it be treason to write the Astro CMS in something more dynamic like React, but just offer first class support for integrating with Astro projects (things like schema inferrence from frontmatter, etc.)
I mean, I guess we can just use the client directive where needed, but anything with live preview is probably going to need it.
Ya you’d have enough state to manage a framework would definitely help out, you’d want to do stuff like saving drafts to local storage and show branch deploys etc
I think a good MVP would be a "backend" or admin/ route that creates a simple UI and a few forms for each content collection defined in your app.
Maybe we can just build forms based on the Zod schemas?
two options also you could do git based where the cms app makes pull requests or use astro studio for a DB
Yeah that's true.
I have tried git-based CMS but I don't love that they require a full rebuild of the site.
Not sure if there is anyway around that in SSG mode regardless though
all static sites will need a full rebuild I think the vercel adapter gives some ISR functions but that’s only for vercel
For SSR you could pull live from DB but it would be slower performance I guess with astro studio edge DBs it wouldn’t be tooooo bad
I guess by SSR I mean “on demand render”
We need a way for each route to get it's own serverless function that renders the page and sticks it in a CDN
Then we can invalidate single routes as content updates are made
yeah that’s what astro on demand adapters do
oh that is ISR
pretty nice pattern currently only available from vercel adapter though
I was reading this earlier but wasn't sure if it was exactly what I am looking for:
https://logsnag.com/blog/implementing-isr-in-astro
It looks like there was more talk about ISR for astro a while back in the github discussions but it got lost in the backlog
personally I don’t really mind a full rebuild but it definitely is not ideal when the site gets bigger and bigger
It's moreso that I don't want the site to crash because someone figured out a way to input a string where a datetime should have been and now the whole site is down.
And I'd like to be as economical with build minutes and bandwidth as possible.
Mm fair, the site wouldn’t “crash” but new updates might break until an “admin” can fix it but that would be admins fault for not people proofing haha
Usage cost is definitely a thing
Oh, I guess vercel would do a rollback
Are you knowledgable at all on what goes into the adapters?
How difficult would it be for example, to write a similar ISR functionality for Cloudflare?
Using workers or somethign
*something
it’s like you said basically, they just take the runtime code for “on demand rendering” which is astros term of request time rendering or SSR instead of SSG and then put the runtime into serverless functions / cloudflare page functions or in a node app etc
I’m not sure about ISR on cloudflare honestly I’m not sure how it works for vercel adapter tbh
I’m assuming it has to do with invaliding build cache
and cloudflare does has a beta build cache
Okay thanks. Something to think about
The astro integrations page refers me to the discord. Do you know if there are any docs on that sort of thing floating around somewhere?
I see the integrations channel. I'll snoop around over there.
You don't need react for the Sanity integration. You can install the integration without react or simply install their client and store the configured client in a sanity config file instead of inside the astro config.
Hi ! Discovering this channel and glad to see I’m not alone to miss a simple way for non tech people to edit astro content.
For a long time I looked for a GUI that sits on top of Astro’s content collections, acting as a flat file “CMS”.
An authed back-office that gives friendly access to Astro .md files as a form, and allows users to trigger a build once content is updated - astro files sitting next to the static generated files in the web host so everything sits at the same place and can be easily self hosted.
I probably wouldn't be able to do that at the moment but in my head that sounds pretty “simple” so I was surprised about its non existence. Also I’m 100% front-end junior dev and maybe don’t understand all the potential issues this would involve. I'd be happy if I could have some feedback about waiting for that piece of software or not, or even try do do it myself one day. Thanks 🙂
There's "Darkmatter CMS" (https://getdarkmatter.dev/) which might work for what you're talking about. Currently only for macOS. Otherwise Keystatic works well!
Keystatic requires auth with GitHub though, so it's a no no for non-technical people that don't have a GitHub account
I kinda regretted choosing TinaCMS over Keystatic, but the auth thing made me stay
What do you think about integrating payloadcms 3.0 since it will be runing on vite and native http requests?
https://github.com/payloadcms/payload-3.0-demo/blob/main/src/scripts/standalone-script.ts
If they can't make a simple account they probably shouldn't be using a CMS anyway 😄
Eh, I don't know. My school teacher probably doesn't want to make a GitHub account just for editing content. You're right tho
I think about making people have GitHub accounts too it’s annoying
Especially now that 2fa is required
But yeah it’s not too bad
I'm just going to wait for that astro CMS... It's gonna be the biggest thing since astro/db
Do you know where I could find infos about that and what is planned ?
I don't know to be honest, I read somewhere here on this server that they're working on a CMS for Astro. Someone posted a link as well, I think it was in #off-topic
Here is the link https://astro-studiocms.xyz/
Is the repo still private or something? I can't give it a star then 😔
Yes still private for now but I think it should be made open source next week
It will be awesome:
- to have images uploaded through WYSIWYG in Image/Picture tag
- to be able to query images uploaded to the blog post in components. I want to use them for schema structured data, current solution I am using is messy.
- UI to fire an error if the length of the input does not match the config.ts .min().max(). Also it would be nice to have some kind of UI indication on how many letters to reach min/max limit. (Both sanity and Directus has this functionality)
- to be able to create aliases (also called references or one2many) for links. So I do not need to change every <a href> link if I changed a slug of some file, also to prevent links from returning 404 responses. (But SEO wise I would prefer that if the <a href> link return 404 response then I get an error on build)
For your information, this project is focused on astro db / studio, not content collections
as for the rest, I haven't coded it so I'm sure you'll be able to open issues once the repo is open-sourced
Not familiar with tiptap but have you tried Payload CMS? https://payloadcms.com
this seems nice.
I mean
Directus is my favorite
but there's also pagescms
which is based on GitHub
Just to add my 5 cents on this. I've been evaluating the current state of headless cms's for an upcoming client project and this is my take so far:
Keystatic
Nice integration with Astro collections, free to host alongside your Astro codebase. That said, the branching/pull-request side adds an extra layer of complexitity. Fine for more technical clients, but less so for non-technical clients.
Keystone
Similar ui, but db driven using postgres or mongo. In theory should be able to host for free on Vercel with their built in postres db's. The biggest advantage with both keystatic and keystone is the extendible editor, allowing you to define custom blocks and the built in layout system. Both can also be setup as separate repos or as a monorepo along your astro code. Going the monorepo route means you need to set your config to hybrid and include the react integration. I personally opt for separate repos for the site and cms. Important to note that i18n is not yet supported.
SveltiaCMS
Modelled on Decap, sveltiacms (as the name suggests) is built with svelte. It extends on what decap offers, layering on additional functionality, like built in support for DeepL to handle translations. The biggest downfall currently is the editor, but that is currently being worked on and will provide a similar experience to keystone and keystatic. The auth uses github, but can be setup with other auth providers.
Directus
I tend to reach for Directus for projects that require more than just a cms. While directus offers everything you'd expect from a modern cms, it goes even further by letting you create custom flows (which are really powerful), custom interfaces (using vue!), custom dashboards and a growing ecosystem of extensions. I generally use Railway to host Directus, which costs somewhere between $5-10 per month.
TinaCMS
I've been following the tina project since it's inception and was excited to finally try it out. Like Keystone and Keystatic its built with React and requires you to setup Astro in hybrid mode and include all the React integration. The overall editing experience is nice, but the i18n side is a bit clunky.
Darkmatter
I love the idea of a native app tightly integrated with Astro. While it's perfectly suited to technical folk on mac, it adds a layer of complexity for non technical clients, requiring them to have git setup on their machine and understanding the push/pull/branch jargon. I reached out to the dev and he is working on a web-based version, which should eliminate some of the above issues.
Payload
There is so much to love about Payload (albeit it being written in React) and with the 3.0 update, where it's becoming an extension of Next, I must admit it's been the only thing to come close to drag me kicking and screaming to the React camp.
Astro Studio CMS
I love the idea of having the CMS and site code side by side, with a single config for collections and a tight integration between the two. Having something similar for Astro (ala Astro Studio CMS) which is not dependant on any framework would be friggen awesome. Even more awesome would be to be able to choose between managing the content via content collections, Astro DB or both. Static content in mardown, dynamic content (like comments, like, profiles, etc) handled via the db. In an ideal would the auth would be offloaded to an external auth extension, making it easy to use existing auth providers.
Cockpit
A project which has been around for ages, Cockpit takes an interesting approach, where it's a php based package that can be dropped into any traditional hosting. This does require paying for a basic hosting package, but that should be pretty minimal. It supports defining custom content collections and custom forms.
WordPress.com
While I've mostly moved on from WordPress, I recently took on a weekend challenge of rebuilding a blog I frequent, which after some digging in the source could tell was using WordPress.com. Knowing the rest api endpoints, it was pretty trivial to setup Astro to pull in the latest content at build. Not exactly the most intuitive of the above options, it does provide a quick backend to manage your content, while having all the flexilility of Astro to craft a completely custom front-end.
@vernal spoke I do with the above post was broken down into individual posts, so you could later gauge peoples reactions with each CMS 🤔
Would be truly interesting to see.
I fell in love with Directus as it's capable of many things, not JUST a CMS. truly a top-choice. PLUS i do believe it's the only popular contender written in Vue? all the rest are React based.
Am currently tinkering with Keystatic. it's really nice. i love the UI/UX/DX 👍 config is easy to follow. am just having trouble getting my image paths correct.
Am super excited to make time soon to have a decent play with AstroDB, as I have used Turso in a few small projects. It looks like my Go To for many up and coming projects.
EXCELLENT WRITE UP!!!
Never heard of sveltiaCMS but looks like a better variant then DecapCMS or staticCMS, will def look into it. Thank @vernal spoke !
I just read the title and probably missed something, but
- for very simple website that just need blogs and simple collections -> use files -> https://keystatic.com/
- for more complex cases, where a db is needed -> https://payloadcms.com/ (but I tend to use next for this cases instead of astro)
Anyone self hosted payload?
you mean like on a vps, or serverless?
You can deploy in one click now with vercel
Cloudflare doesn't seem to be well supported yet, hoping on the future
Alongside turso hopefully
thank you! How do images work with payload? Are you keeping them in the db ?
I’ve been meaning to look more into payload and sveltia
with the sample repo you create with the previous command, images are stored on https://vercel.com/docs/storage/vercel-blob
I think that by default are stored on the local file system and they are not tracked on the repo like it would happen on sveltia cms or keystatic, usually you probably want to use a plugin and save the images in same blob storage
@fast schooner if you want completely offline that works really well and is really simple
PagesCMS works great with GitHub and because it actually writes to it, forces it to rebuild if you have that pipeline
Nice I love git based CMS I’ll check it out
right now I’m stuck between sveltia and decap sveltia because supports custom oauth and decap because its supports custom live preview
Too bad sveltia can't do mdx, so keystatic is still the best git-based CMS
I've used most CMS' out there, and Payload is easy to self host with Docker in v2. Serverless comes in v3, which is alpha.
*beta
You're right, that changed recently. But I wouldn't use v3 for production in alpha or beta. The v2 release was a bit rough, so I'm staying in v2 until v3 is out of alpha/beta for several months.
But making it work within the framework only works with next.js no?
I used Payload + Next.js in a medium-sized project, it never went live unfortunately. It has very good typescript support and defining models and the admin UI was straight forward. With server components, I primarily used Local API of payload, which means Rest API /GraphQL were not required. I only needed to use a Rest API to get the user session, since there were some problems, which I can't remember right now. I used server actions for any kind of POST submission, like image uploads or storing user data to MongoDB.
Payload also has fine-grained access and role management.
Just to give you an example how the local API looks like:
export default async function Slug({ params }: { params: { slug?: Page['slug'] } }) {
const payload = await getPayloadClient()
const { docs } = await payload.find({
collection: 'pages',
where: {
slug: {
equals: `/${params.slug ?? ''}`,
},
},
})
const page = docs?.[0] as Page
if (!page) {
return notFound()
}
return <.../>
}
Pretty straightforward 🙂
NOTE: Payload is "developer first", which means you have to do more work than usual, but you almost have full control of everything.
Now I have a simpler project + I love Astro. I wanted to try something more light-weight, that is easy to use for devs and non-devs. It should have low to no cost. And here I am, considering payload again 😄
I really hope Astro StudioCMS will rock the shit out
In the meantime Sanity's free tier is pretty generous, so might be worth checking out for small to midsized projects. Super easy to set up too with astro. Still hyped for studioCMS though, thats gonna be next level
Was just checking out the crash course video from sanity, looks super dope
I just came here to say that our (StudioCMS) repo is now public in case you or anyone else is interested in getting involved (We havent released an actual npm package yet, but are hoping to be able to soon), Here is the repo in case you missed it! you can also join our dedicated channel on the Astrolicious Discord server. 



Where do you deploy when using sanity + astro?
Ay let's gooo
you can deploy anywhere, I use vercel
So, I've been searching around for a CMS that fits my needs, and after looking for quite a while, there surprisingly isn't one that ticks all the boxes for what I'd want (that fits my 'situation')
- stores entries as md/json/txt/etc
- so as much as I actually like Directus and Payload, they exclusively use databases (I'm counting sqlite as not being on disk as content still is stored in a custom schema that from my experience is only usable from the CMS that created it)
- fully self hostable on a local machine or VPS
- this actually excludes Tina and Decap, as those seem to only store entries on GitHub, their 'local' modes are only supposed to be used as dev environments
- serve a public REST or Graphql API so the content can be queried from other sites or apps
- which doesn't seem to be one in Keystatic, readings its docs, its 'reader API' is only supposed to be used internally with other node frameworks, not querying from the browser or other servers
Looking for quite a while (and trying a lot of stuff) there is only one that seems to fit all of these, which is Kirby. It actually looks pretty cool and malleable, and the devs seem pretty cool, in general seems nice
Only thing is that the 110$ for a license (per site that serves content from it) is quite a bit over my reach for a personal project, I totally would get a license if it was for using it on a commercial site
@young light But Kirby's primary use case is not to be used as a headless CMS. It's a local CMS and you build around it, so most likely basic html, css and js with php. There is a plugin made from the community to transform Kirby into a headless CMS so that it works with Astro but it's not clean at all
did you try Sanity? super simple to setup, stores entries as JSON, you don't self host it but the free tier is so generous that it's basically hosted for you for free, and you can hit into the API either with Graphql or Grok (which is prefer, is super easy to use)
I'm just wanting to be tied to as few third parties and subscriptions as possible for personal projects. Already learned quite some time ago the hard way that 'free tiers' are not them wanting to be nice, and the day they decide to end it when not enough of those are being converted to customers, either get the subscription to keep your vendor locked data, or lose it all
The free tier offers 250k free API request, did you ever run into issues during local dev? Can you cache it?
You can try to use payload CMS, you can self host it as well and it's quite powerful.
Their entire business model revolves around building a strong community and ecosystem. Removing the free tier would directly contradict that goal and alienate a large portion of their user base, ultimately harming their platform. In fact, if you look at the history of Sanity's free tier, it has actually become more generous over time. They've increased API request limits, document limits, and added more features accessible to free users.
no I dont know if you realize but 250k api requests is a LOT
yeah but Payload looks cumbersome to setup.. Having to setup etc.. You can't quickly launche a simple 3 pager for a client and hook the CMS to it..
Yea, sanity is more like quick and good and payload is more like full control, but more setup required
@restive zenith Did you ever had to pay extra using vercel/sanity free tier in a small projects? Or was it always enough? I am bit scared 😄
Haha what kind of website are you building? I doubt it's going to go past the free tier
If you built SSG websites with astro and Sanity, Its going to be very hard to go past the free tier. In SSG, the only time it does a API request is when the site is built and this only happens when your clients are creating a new page/ make a change to a existing page or writing a blog post. And as I said, you have 250 000 API request per month for every project, so unless your clients writes tousands of blog posts every month you can exceed that.
The other limitations of Sanity are the Documents, so individual records in your CMS, so for example a page is one record. So 10k is also more than enough for every small to mdedium sized project. Of course I you wanna rebuild the apple website its going to be tight.
Then you have assets and bandwith at 100GB which speaks for itself.
And lastly "unique attributes" which is a tricky one but basically means "any unique combination of attribute and datatype". So if you're doing marketing websites for a clients with structure like a page builder, where they can create a page, choose the components they want on the page. Maybe have some authors or idk what you're never going to reach that many unique combinations of paths in your structure.
hope that helps 🙂
I'll soon do 2 starter template, one with Astro and sanity where you have a simple marketing website (one language) with mulitple pages a bit like wordpress but better 😄 and the second template will be for people who need complete i18n with astro and sanity where everything if configurable directly in the CMS where you can also create new pages etc directly in the CMS
i really need to get your i18n issues fixed, i've had too much stuff to do
yeah but no stress at all, I use the standard i18n of Astro in the meantime which does the job
okay all good 👍
That sounds awesome and really makes me more confident with Sanity. The setup is just so simple, that only the cost could ruin it. But it seems to be more than fine.
If you are using SSG, how do you handle forms? Like adding an entry to sanity from astro frontend, like a feedback form.
Also how do you re-generate the SSG pages when a user does a change in sanity? Do you use webhooks in sanity to trigger a redeploy via vercel api?
That would be awesome 🙂
I actually never did that with Sanity, I use it only as a CMS, my clients receive new form submits in their inbox. But if you google it there are differents things you can do like using netlify forms and then sending the data from netlify to Sanity. Or just using Astro in hybrid mode and having the contact page or the page where the form is in SSR, makes it much easier.
As for rebuilding you're completely right, you just add a webhook to youre sanity project and it triggers a rebuild when you publish your content in Sanity
Thank you once again 🙂 Regarding the form: Problem is that the form is inside a page like a blog post, which would benefit from pure SSG. I used Netlify Forms already which worked well, but I was hoping for some more generic solution, independet of the hosting provider. Regardless, I am sure I will find something or just use netlify again.
Yeah let me know if you found something 🙂
Sure 🙂
I think the solution is quite simple. Just use output: "hybrid": and then use export const prerender = false on an Astro API route. The API route sends the request to sanity to create new entry with a secret key.
In the SSG page you can then either use form submissions via HTML or for more interactive/custom behaviour, use something like react-hook-form on a component with client:*
Best of both worlds.
Thanks for sharing this! Didn't know about SveltiaCMS, looks very promising. Will try it out 🙂
I've gotta say at this stage I'm all in on keystatic for the content and astro db for the dynamic bits. The ui is super minimal, the content view puts the frontmatter to the side and the editor, which is highly customize and easy to extend via custom blocks (with optional live preview).
Two things that would make it perfect are 1.) being able to register custom routes in the admin, where we could build natively feeling ui's that consume external data (like from astro db). Some use cases could be comments, contact messages, live chat, reservations, etc. 2.) better handling for multilingual content, which is something the team is already thinking about.
Here's a preview of my keystatic setup and a proof of concept using astro db for the comments.
Post this in the keystatic discord as well!
I remember a while back while using Keystatic, I had issues with getting images under /src to work, as at the time, it only was able to serve images from /pubic.
Is that still the case?
no it can use the astro optimization
Seems like they have a special section in their docs for Astro Images 🙂 https://keystatic.com/docs/recipes/astro-images
This recipe shows you how to use Astro's Image component from astro:assets with the image field in Keystatic.
Thanks.
Will check out later.
Do your clients have to have a github account to use the admin ui?
I have been playing around with and slightly tweaking decap recently, I have been really liking it. I havent actually deployed anything yet but I think its the solution i am going to start using for non-technical clients.
I love decap, I recently did give keystatic another shot and I wasn't huge fan of the field.slug forcing there to be an actual slug field and the collections view always having the slug visible
the only issue I have with decap is you cant register remark plugins to the live preview and the mobile admin view isnt responsive ( which I think is being worked on )
there probably is a way to set up remark plugins as a custom view component with react but I havent gotten that far into the weeds with it yet
oh and the fact that you need to oauth via github but I've sort of got over that
sort of... haha don't love that I have to make a github account for cilent and they need to set up 2fa etc
sadly all solutions have a big list of Pro-vs-Con.
i have yet to find what works best. still testing various methods.
Same
My dream is Astro dev server running in browser for mdx support and git based but who has the time haha
Agree with you here - it was one of my recommended changes in the Keystatic discord. For now I just put a label of "Never change the slug once a file is published!"
I just need something that I can write Markdown blog articles in and can be deployed to Netlify lol
Where I can still do the front end stuff in Astro
I'm assuming for a blog I'd need a database but maybe not?
Thoughts?
I've never really used a CMS before so I just know what it stands for and is commonly used for blogs
Pretty much all headless cms will cover that, to get started making the decision it’s good to know the difference between the two major categories
Git based and api based
Git based means it uses your GitHub repo as the “database” and makes PRs or commits when you add or edit content via the cms GUI
So if I push a new article the live site would auto update?
Since you’re going for netlify you might be interested in decap which used to be called netlify CMS
I mean I'm used to that with Netlify already
Where it deploys a new build anytime I push to a branch
I like that convenience
Ohhhhh
Decap is pretty cool, the only major draw back right now is it doesn’t have a good mobile view
Aw
so editing content on mobile will be painful if not impossible 😪
Scroll up and read the thread. SmokeyFro has a good summary of many of the choices.
Oliver probably just convinced me with Decap
Just those five steps then where do the markdown files go lol
But that seems easy enough
you’d use content collections
And then the CMS interface will let you edit / add to the collections
That's amazing
Just what I want
Is there like a "theme store" somewhere by chance?
For astro projects there’s https://astro.build/themes/ for decap it’s not very customizable but they are working on redoing the UI right now to add dark mode and mobile view and in general make it more pleasing
This seems decent enough
If I use Decap I'd need a Decap theme and not solely an Astro theme I assume
Any theme that uses content collections which I’m not sure 100% but I assume most do use content collections is fine
That’s the benefit of git based cms
They don’t require project structure specific to the cms api
Love it
I've been using Decap as well. I find it convenient and easy to use with Netlify.
@digital valley : that theme is running an old version of Astro. (v2.x). Currently, the only way to get Decap with Astro v.4x is to add the integration yourself thanks to the Astro docs Oliver posted earlier. I'm working on a template, but it's not quite ready just yet.
Do you need a client or 3rd party to be able to write content for your blog? If you are the only writer, you don't need a CMS and can use Astro's Content Collections only, FYI.
@fast schooner : you use Astro's content collection and its config.ts alongside Decap, right?
I still haven't found a way to use CMS-uploaded images in Astro's <Image /> and <Picture /> components, in spite of going through the docs. Is it even possible?
In markdown posts the images are automatically optimized
unless you’re using remote images
So the instructions linking to Decaps website aren't valid?
Open source content management for your Git workflow
These
Highly recommend keystatic. It's been a great experience all around. Git based like decap, supports custom MDX components, nice interface. I've deployed a number of client websites with it and use it in my themes
Those will work indeed. I was referring to that Astro Decap CMS Starter | Astro you linked
Oh oh that theme
No worries I'll use whatever is default lol
Or the blog starter I think it's called
@fast schooner https://i.imgur.com/aU5ISPC.png Well that isn't great
This is for a security blog and this just feels...wrong lol
hm yeah not sure what those vulnerabilities exactly are but I’d guess it’s sanitization of the input from the rich text editor, because it uses remark to turn the rich text into markdown
Is installing decap supposed to automatically add any folders or files?
like /admin?
Keystatic cloud should take care of that. Haven't gotten there yet. Prop won't be using Keystatic for this project, as it needs to support authoring content in multiple languages, which KS isn't quite great at yet. Will prob be sticking with Directus for this one, but still going to be using KS for other projects where it makes sense (like the one in the above demo).
That looks very interesting. Their doc seems to be well-written and more up-to-date than Decap's.
hey not sure if anyone already said but - STRAPI is amazing and its fully javascript and free! I use it with Astro and its a great combo IMO 🙂
It's an actual company backing it and they make money from the keystatic cloud (which is my preferred way to deploy), so it's updated frequently. It is perfect? No there's a few things I'd change and have suggested. But it's my favorite thing I've found so far for git based CMS's
I'm currently on cloudflare pages any CMS compatible for that?
all of them are AFAIK
small note from experience... if you go with GhostCMS, don't use the @tryghost/content-api package with CF as it uses axios which won't work on the non-node Cloudflare runtime, instead use the @ts-ghost/content-api 🙂
Ok thanks
Would you be able to share the source code to see the components?
I was planning on releasing it as a theme once it's a bit more polished, but i went ahead and changed the repo to public 🙂 have fun 😉 https://github.com/smokeyfro/guesthouse
The samai zip is the site I demo'd, which is a bit further with the blocks. I'll prob publish them as an npm package once they are a bit more complete.
Thanks!!
you're welcome 🙂 hope it helps.
@scenic bobcat was just thinking it would be cool to extract the blocks into a standalone package via an open repo that keystatic devs can contribute to build up a comprehensive library of blocks (with their framework-less astro counterparts), that can be imported as needed on a per project basis. I'll post a message on the keystatic discord to see if anyone else is interested. Let me know if this is something that interests you. Also ditto to any other keystatic fans reading this 😉
If anyone is interested in seeing Decap CMS in action, here's a template I built. Best used hosted on Netlify to take advantage of Netlify Identity.
I'm using it! I like it!
I’m glad!
I'm giving keystatic a go... Is it exclusively for the dev mode?
You can set it up to push to a repo with keystatic cloud. 3 users on the free tier.
how can I make it detect existing articles? Or is that not possible?
It will detect existing articles as long as they're in the place you configure in the keystatic config file
I'm surprised to see WordPress mentioned at all because during the meetup in Montreal there didn't seem to be any WordPressers around, plus PHP devs were roasted in a playful way.
I felt a bit uncomfortable as someone who learned to code WP themes in PHP but also has some understanding of React.
Anyway...If you use Astro with WordPress, WP Engine runs a discord for headless WordPress where they offer support for Astro/WordPress sites.
Headless Wordpress is fantastic, too much php + wordpress hate, it may be old but it's gold
Do you know if it’s possible to use free tier as headless?
Are you talking about WordPress.com ? That's a good question. I don't know if it's offered there (Automattic is a private company that owns WordPress.com).
I'm more familiar with WordPress.org, self-hosted WordPress.
Kinsta, I believe, offers free hosting for static sites.
I’m pretty unfamiliar with Wordpress, but thanks I’ll check those out
Wordpress itself (wordpress.org) is actually a Free and Mostly open source software (obviously with Enterprise/Paid Extensions), Its Primarily the hosting like wordpress.com or others who offer WP hosting solutions that tend to be the ones actually charging you
yeah you can 🙂
let posts = await res.json();```
On the free plan? Yes, of course you can use the WP REST-API.
I am not sure whether the free plan allows you to edit code. There are new features for developers now so maybe.
I wouldn't bother with WordPress.com. You can install WordPress on Docker or Local and then connect it to Astro and deploy it.
WP Engine has a plugin called WPGraphQL, which offers another approach to querying WordPress data. https://github.com/wp-graphql/wp-graphql
What’s the cost of WP engine? I can also look this up myself haha thanks for the insight
hello everyone, I'm new here and I have read pretty much everything in this chat, I am starting a project with astro and I'm having a hard time deciding which cms to use, I decided to use sanity.io but I have no idea what the limitations are and what problems am I gonna encounter, I don't have the time to start with santiy and then switch to another cms option so I was hoping if anyone has used sanity with astro and can share their experience with me
the project is pretty much a blog website btw
I guess to find the "right CMS for you" you have to determine WHY you need a CMS?! 🤔
for as long as I have been using Astro, I have been happy with just writing markdown files with ContentCollections and git push to update. Never really had the need for Astro DB, or any type of CMS.
but as I freelance more and more, that workflow can not be applied to my clients and other projects. So (personally) I need a CMS that a client can log into, make edits, updates, new entries, etc.
I have settled on Directus hosted on DigitalOcean via Coolify. Am still learning how to set everything up, but have used Directus in the past and while it might be overkill for a personal blog, having one "place" for my client logins is better suited for my needs.
So.
Why do you need a CMS?
I ask this question as I feel it would be a better way for others to best guide you 👍
Thank you very much
is anyone free? I deployed my astro site with netlify, it has tinacms integrated in it, I defined the environment variables in netlify and all that but for some reason I can access the admin page
help please
Can you make a different #1019713903481081876
yeah sure sorry
#OliverIsToFast XD i was just about to say the same thing 
done, sorry I'm new here
No worries! We are all Friendly here! Glad to see new people trying astro!
I've been in (and still am to an extent) the same boat as most of you saying "what's a good CMS to use with Astro that I can use in production for a client and I'm not going to waste hours on only to find out there's a limitation or something that means I have to look elsewhere".
I spent hours reviewing youtube videos, docs, reddit posts trying to decide which to go for. I decided on a short list of Cloud Cannon, Sanity and Payload. I liked the look of Keystatic but the github says "status: We're working on it! Things are experimental at the moment." which makes me nervous about using for a client. I want something that's pretty well established.
I decided on Sanity for my latest project and while it has taken me ages to get it set-up, I have been pleasantly surprised. I think the pricing model is perfect. I think you're unlikely to require more than the free tier, but if you do, the next level up is $15 per user I think, which I mean, you should be able to pay if you require that level.
The important thing for me has been visual editing (WYSIWYG) and I've managed to set this up with Sanity. You can preview the site inside Sanity and as you hover over elements on the page you can click a little button that says 'edit in studio' and it takes you directly to where that piece of content is managed in the CMS. When you edit it, it takes maybe 1 second to reload the preview with your updates (I think it waits for you to finish typing). It does require the site to be SSR, though I'm currently working on having an SSR version of the site for previews and a SSG version for the live site to make it super fast and minimal when accessed publicly.
...
...
I like that Sanity is hosted for you (even on the free tier) but you can self-host I think. And it has a pretty cool image thing baked-in so your client can chose a crop/focal point in every situation that an image is used. It can do webp but not avif. I'd like to still process images through Astro but haven't figured that out yet. And I don't have forms figured out yet but from what I understand, you can do a form in the normal way on Astro (post the data to a SSR api route to dynamically do something with the submitted data) and then you can post that data into Sanity, so you can use it as a database of form submissions.
If you're new to headless CMS, it's pretty cool. Setting up the CMS to match your client's requirements exactly is refreshing after working on sites where you're having to bolt stuff on or manipulate what's there just to get it to work for your project. It does take time on your first go though, but once you've set-up a few things, you can copy and paste them into your next project.
I will use Sanity again for my next project but I'm still open to others. I have used Cloud Cannon for a project which was a little fiddly to set-up but you can have visual editing even with a static site and they have really good support (if you're a partner and will be building multiple sites with them). I don't think there's a free tier though from memory, and I don't like the UI of the CMS.
Thanks for the detailed reviews, what was your take on payload? Or did sanity just check all the boxes before you got there
the thing with payload (3) is that if you want to use astro you either use a monorepo, with problems on deployments or you need to create 2 different projects with problem on types and dev experience
Completely agree with all you say . I use it as a mono repo where I just have a studio folder with my schemas etc and thats just hosted on Vercel and it works great.
I didn’t really get in to it. I started briefly, had issues setting up the database (setting up databases is not something I’m familiar with) so I jumped ship early on. Payload seems so invested in next and vercel now whereas sanity at least has official integrations with Astro. I’m still going to give it another go. They and Directus had so many positive reviews in my research
The problem I have with directus and payload is that you need to setup a database and host it somewhere else which is way to cumbersome for doing multiple client websites a month.
I recently set up Directus on a DigitalOcean droplet (without docker), and have it connect to Supabase.
I have lots more to learn about Directus, but I have seen some setups on their Discord and YouTube series, where I can have multiple clients log in and make their own edits/updates/etc.
Previous attempts at using DigitalOcean with Directus have resulted in fees over $40 per month. I don't have enough clients to justify that (yet).
So I kinda thought having the Directus "dashboard" decoupled from the database, would keep that bill from increasing as much?! 🤔
MAYBE someone else with more experience here can comment on that?!
As I am still learning best practices, etc. for my new CMS, I have a locally hosted SQLite running, so I can figure out the flow of things. Build my collections and stuff, then export local to remote.
Well. Just a theory/hypothetical.
This is the repo I got my starter from https://github.com/yohita/directus-project-with-extensions-quickstart
If we use Keystatic - we will lose normal i18n support. If we choose Decap/Svelta CMS - we will also lose MDX support. The developers of both projects are currently not working on adding these features bruh
For real tho 😅
Why would you lose i18n support? How you edit your content and how you render your content are two different things.
Waqtail cms anyone used this ? its Django based
Yes but if you cannot edit the files in a way the renderer expects you are just going to break the site
Hey, I'm relatively new to Astro and new to headless CMS API.
I was curious, with Sanity, can you still generate static files at build time (and automatic deployment to Netlify or Vercel) ,or is SSR a requirement?
I would only be creating basic websites for small businesses but it would be great if I could allow them to add new posts, recent work/projects and maybe a few other custom fields.
TIA
yes you can use sanity to make a static site
Thank you, that is really cool
what might be a little complicated but not too bad is setting up a webhook to rebuild your site when the content changes
Ah I see, so it doesn't work "out-of-the-box" but would require some customisation?
I'll dig deep and work somehting out - I'm sure it is a common feature people use
FWIW I have an SSR instance of the Astro site in sanity which allows my clients to see previews of their edits, and a ‘DEPLOY’ button in sanity for when they’re ready to publish their changes to the static site (the one that’s live).
So you have two astro sites? One for previewing and one for production?
I unnderstand it maps well to content collections, but what does it look like to content editors, like marketers/clients, not devs? I'm interested in something that has the elegance of Storyblok while mapping well to Astro content
Are you on a paid plan or does the free work out most things? Why're they all priced so expensively? Are people really buying these things?
self hosted
No it’s one site hosted in 2 places. It uses environment variables to stipulate if it should do SSR or static processing
Do you have an example repo of Astro and Directus ?
Is there a CMS that will let you post a post at a certain date?
Scheduled posts? Strapi has it
Strapi looks nice. Just would need to redo my entire site to use Strapi to return the posts
Hahah
Relatable
Strapi > directus imo but Strapi is more painful to customize
Directus custom elements are pretty sweet honestly
I just didn’t love the Strapi onboarding process they make users go through
I got back and forth with Strapi. I deployed a Strapi instance to Fly.io last month and this morning woke up to a receipt for $55 from the Strapi instance I deployed and never actually used.
Wow
I have a very idle directus in railway that hasn’t gotten me out of their free 5$/month usage tier yet
not sure what would happen if it started being used though
the fact that directus stores images instead of putting them in a bucket is a pain to me
Boosts the usage a ton
55 for idle is insane though
I had a Strapi on railway for a while too idle and didn’t get me out of the 5$ free but I literally didn’t use it at all had no content I. It I just tried it and forgot about it
I had a wordpress instance on Railway and moved it to AWS because I needed to be able to manage the memory better
Yeah EC2 is really the play at the end of the day I think
So it's not built for astro, it's built for Jekyll, but there's a one that's in development called Hyde. It's self hosted and works fairly simply, by basically keeping a copy of the repository in itself, and you configure where the markdown files are. It's git-based and uses discord oauth to login.
In theory, it should work for Astro, however I have not tested it yet).
SaaS + Self Hosted
MongoDB
Support GraphQL
Tech Stack C# / ASP.NET Core
It's not perfect. My wife uses it for her site and every once in a while she'll have an issue I need to fix. It doesn't handle image renaming on its own so you could overwrite images or provide badly named ones that will cause issues. It also shows the branch which is weird for marketers. It'd be fine for a team I imagine as its pretty easy to explain how it works and what not to do. But it doesn't have built in settings to disable the branch feature for instance.
While editing normal posts and content it's pretty easy though! Custom components work well and it works with MDX nicely
And you can add it to your projet with just /admin path
What issue did you have with Tina? And does keystatic really require content writers to have a GitHub account?
Yeah they need a github to login as that's what it uses for authentication. With Tina I had issues with images for sure. I couldn't put in the right text to make images work for Astro optimization purposes. Basically I hacked it to make it work in local but when deployed you can't see image previews - it's just weird. I definitely prefer keystatic
Does anyone have experience with Keystone and Astro?
With Kevin Powell recently releasing a video on Astro + WixStudio headless CMS, I was wondering if any of you had used it and what your thoughts were?
I haven't used Wix with Astro, but I've had nothing but bad experiences when I was forced to use their platforms in the past.
is anyone planning to create a content loader for directus by any chance?
I have, but it's just hacked together for now
For anyone considering self-hosting Directus, you could do it on Digital Ocean
- Cloudflare D1 for the database
- Cloudflare R2 for asset storage
https://docs.directus.io/blog/deploy-directus-digital-ocean-docker.html
why would you use D1 if you're self-hosting? Your server is right there, host it there lol
So you don't have to manage a database.
Oops. Unfortunately, you can't actually use D1. D1 is (currently) only accessible via Workers.
a default postgres/sqlite/mongo/whatever can take you a very long way, the day it starts stuttering you're probably big enough to manage whatever you need of it hahaha
managed db is really expensive for no good reason
@half ledge Hi there, I've been far from astro for a while, but I remember that you were dealing with similar stuff and I am wondering if you found a good cms for astro? With a use of Astro's image/picture component
Keystatic is what I went with! It works really nice with with Astros image optimization as you can change the actual text put in when you upload an image for either frontmatter or in the post body
Thank you!
I’ve been enjoyin Pocketbase
Pocketbase is nice.
I've been interested in Keystatic, waiting for them to hopefully set up a method for translating an Astro zod schema into the format Keystatic uses, which apparently they're working on
I'm late to the party here but seeing as this mega thread has been opened back up I think you might be able to plop this on top of keystatic 🙂
All these options are nice, but unfortunately a really great CMS is not defined by its technological maturity, but by the willingness of the community to start using it massively.
In what sense?
Glad this question of mine helps a lot of people. Thank you all for helping out!
Well there is currently no bigger user community around CMS than the WordPress one.
It all comes down to "right tool for the job"
in my case, I need a good page builder.. I don't think keystatic has that, but Tina has something I can use that's decent... (don't even get me started on wordpress)
I am using the weridest one of the above
google docs i run a script that turns my docs to md and update my starlight files and my site builds ... i used this method cuz i didn't want to worry about collaboration later on
I am in love with Directus. Especially for managing translations for the content
Yeah directus custom input components make it really nice as well
I remember coding one for iconify icons, was pretty neat
The dx for that specifically was not super good tho
Also thinking about something git-based, easy to configure and with a free plan available. My project is pretty small and I just need the possibility to edit content with something no-code friendly for the client. The site will be updated max. 3 times per year so nothing fancy needed really. I am on Netlify hosting and GH for storing the files. Maybe some integration for the new content layer feature? Thank in advance for any help.
Update: Keystatic looks pretty cool.
Decap would fit the bill for this. The UI is terrible, but it’s git based and free. Easy enough to integrate.
Thank you, will check it out. Why not keystatic?
I’ve never used Keystatic, but I have used Decap so I know it would fit your needs.
Thank you for the recommendation, will check it out.
Heya, does decap provide the way to specify where to store the images? I am using content collections and my images are in the /content/collectionName/post-1/image.jpg
Interested as well
Yes, it does.
// config.yml
media_folder: src/assets/images/blog # Location where files will be stored in the repo - we store them in src so that Astro can optimize them.
public_folder: src/assets/images/blog # Ensure that this path is the same as the media_folder path above.
Here's the full config file for my Astro template if you want to investigate further.
@distant pagoda @fluid grotto
Keystatic on paper does the same as Decap, but a nicer ui.
in my opinion ^^
Your post made me curious, so I checked out Keystatic. Spun up a test project with their CLI, and wow, that's really impressive!
- The UI is indeed nicer, adding images is a breeze (and they're even optimized in markdown out of the box!).
- The YS config file is superior to .yaml in my opinion.
- The docs are clean, but a fair bit of video tutorials.
- The CLI makes setup a breeze, with a admin server ready to go out of the box.
From this short test, I can see a few downsides (compared to Decap):
- Giving CMS access to a client: they have to create/use a GH account; this can be alleviated by signing up for Keystatic Cloud as far as I understand. Funnily enough, they don't really push / market their cloud solution. Apart from that, it looks like giving access to a client seems super easy and safe: just add them as a GH contributor. No password, no Netlify Identity.
- Can't upload files other than images (e.g. no PDFs), even with Keystatic Cloud, unless I'm mistaken.
- No preview mode, at least for Astro? They have a tutorial for Next.js though.
I haven't dug deep into the tests, nor deployed the project, but it looks super cool.
Yes, very easily set up and configurable. Extensive and clear documentation. I do see where you come from.
GitHub is superior to their own cloud solution, but cloud works for logging in with username and password, although they do recommend the use of Passkeys.
Yeah, I believe there aren't any preview modes (yet).
Unsure about the file part, haven't found any need for it, but https://keystatic.com/docs/fields/file isn't what you look for?
The file field is used to store a file.
Yeah there's a lot of parts of keystatic that they really got right. The simplicity and type safety. If you could get by on the cloud solution the onboarding was really easy. I still have it on a couple of sites
Some downsides I found throughout my time using it:
- no visual editing
- asset handling could be better. I had editors breaking entire site builds because the image they uploaded had a space in it.
- harder to setup across frameworks (not agnostic)
Tina CMS has been my favorite so far. It has a lot of the same concepts of keystatic, and the visual editing is easy to add to existing content. I can continue to keep the same developer workflow in and choose what I want to be visually editable from code with a data attribute.
Now it's not as customizable for editors out of the box as something like Builder.io (or WebStudio). I've noticed the more you want visual editors to be able to make changes to the structure (e.g styling, adding dom nodes, etc.) the less your codebase tends to own the code, and the more it gets abstracted away. Migrating from these types of solutions is much more difficult
Thanks both for the extra info!
Reading the docs on GitHub mode for Keystatic, onboarding a client to Keystatic involves giving them read, write and PR access. If the repo is private, is there any risk of the client modifying others sections of the codebase or forking the whole project?
That could be a possibility.
Yeah maybe could do some sub module business I’m not sure though
Honestly what I do. I have my client make a GitHub account and the repo. And then just give me read/write access to
It. Then they own
Their code.
My startup doesn't care about the price of a CMS, I just want something that's flexible, and allows a marketer to manage the site content for a time without the need for a developer. Currently looking at Storyblok and Sanity. Can anyone vouch for either of these to work well with Astro?
I’d go with storyblok for the premium experience
Do I need to deploy both a SSR and an SSG version of my Astro project? The SSR version for the preview in storyblok, and the SSG for my users?
I’m not sure honestly, I haven’t worked with stiryblok I just know they create a really premium CMS user experience
I've heard that too haha. Will do some further investigation between the two
Has anyone gotten Keystatic working with Github Mode?
I got it working locally. But when I push it live. Im getting a 500 error on Cloudflare Pages. Gonna try Vercel.
Works on Vercel. but not Cloudflare Pages.. interesting..
Probably due to environmental variables
I added them on both. Does Cloudflare Pages access them differently?
Yeah
Yup its that. Found the logs for it.
@fast schooner Do you happen to know how Cloudflare Pages access Environment Variables?
I am not sure if I should write this here or create another support chat. but since it is a bit related to cms, so I choose to write it here.
Context:
I'm relatively new to Node.js and Starlight, and I would say I have a beginner understanding about code editor tools and building a dynamic web app. I’m exploring ways to enable a WYSIWYG editor for Astro Starlight content like MDX and Markdoc, similar to Obsidian.
Goal:
I want to provide an easy-to-use interface for both non-technical users and myself to edit content in Starlight with inline previews including MDX syntax, markdoc and component made in the starlight project.
I am also approaching this in aspect of providing a "wiki resource" to demonstrate and explain interactively on mathematic, physic and cs (similar to Brilliant website or including geogebra/desmos usage).
Current Approach:
I'm working on creating a VSCode workspace configuration that I can include in the repository. When opened in VSCode, users would get a baseline setup, allowing easy editing and previews.
Questions:
Are there existing WYSIWYG tools that support:
- Efficient macros for MDX content and can render component inline (like obsidian)?
- plotting, including 3D visualizations?
- visualisation and diagrams? (I think mermaid could be a solution, but I am also thinking about LaTex's Tikz package as I wrote this)
- embedded animations from code, similar to 3Blue1Brown's Manim?
- LaTeX macros, similar to Obsidian's LaTeX suite example ?
- Customizable keybindings (e.g., Vim motions)?
- Easy image uploads (e.g., auto-upload to Imgur on paste)?
I found the VSCode Markdown Editor, which seems promising, but:
- I’m unsure how to set keybindings for it.
- no latex shortcut like in example
- doesn't render mdx and component stuff. (I am assuming that this require setting up a server of some sort to render, right?)
Alternative Solutions:
Is there a better way to achieve this outside of VSCode? I’m open to building a custom tool if necessary, but I have limited knowledge and time(studying for my entrance exam to uni) to create such a solution and would appreciate any guidance outline.
This is an example of typical use case. I would also like to use other component and feature of starlight mdx as well but as of now I have not tried implementing all of them yet. The image would be what I would like to see the WYSIWYG look like. There are also more nuance detail I would like it to have but for now...
---
title: Test space
---
$$
\begin{align}
& \hat{r}\triangleq\begin{pmatrix}\cos \theta \\ \sin \theta\end{pmatrix} \> \quad \hat{t}\triangleq \begin{pmatrix}-\sin \theta \\ \cos \theta \end{pmatrix} \\ \\
\text{notice}:\quad & \dot{\hat{r}} = \omega\overbrace {\begin{pmatrix}-\sin \theta \\ \cos \theta \end{pmatrix}}^{\hat{t}} \quad \dot{\hat{t}}=\omega\overbrace{\begin{pmatrix}-\cos \theta \\ -\sin \theta \end{pmatrix}}^{-\hat{r}}\\ \\
\Rightarrow \quad & \vec{s} \triangleq r\hat{r} \\
& \vec{v} =\omega r \hat{t} \\
& \vec{a}= -\omega^{2}r\hat{r} +\alpha r\hat{t} \\ \\
\therefore \quad & s =r \quad v=\omega r \quad a_{r} = \omega^{2}r \quad a_{t} = \alpha r
\end{align}
$$
___
$$
\begin{align}
& \alpha = 0 , \ a_{t}=0 & \Rightarrow & \quad v = k & \quad \text{uniform}\\
& \alpha = k , \ a_{t}=k & \Rightarrow & \quad v = u + (\alpha r)t & \quad \text{non-uniform} \\
& \text{otherwise} & \Rightarrow & \quad v = v_{i} + \int (\alpha r) \ dt & \quad \text{non-uniform}
\end{align}
$$
``python
print("test")
``
Probably better topic for a #1019713903481081876 like you said but vscode as a cms is interesting idea
Thats sorta what https://getdarkmatter.dev/ is
the site is beautiful 
Keystatic has been fantastic for me! I recommend it! The only issue I have with it is Astro doesn’t support conditional stuff like Keystatic does
I do wish with Keystatic I could just use my Astro Content Collections Config though. Be great.
There's this enticing post from August on their Discord, but nothing since then
yeah I think we're one zod/keystatic schema conversion/compatibility, and a few other painpoints ("flat" conditional fields, multiple rich text fields in the same collection entry) from a really solid pairing
#1257952064865308723 message
KeyStatic is pretty cool, using it for some of the smaller sites, but I needed something for larger sites w/ thousands of articles + shareable from a db / api if need be. Thought I'd share this one:
Anyone here using Keystatic?
Anyone know of a page builder CMS (IE not headless but hopefully also has headless capabilities) that's astro compatible that ISN'T TinaCMS?
See message above mine
Me! Been an OK experience
I'm building one tailored for Astro. Not much progress has been made due to my current job
Im trying to use the Mark UI Logo thing. But if I change to keystatic.config.tsx it wont load my config. Restarted my server but still wont load it. Have you come across it?
Doesn't sound familiar I'm afraid
Hmm. Okay. Ill look around more. Thanks!
Fixed it. If anyone else comes across the issue. Delete node_modules and reinstall
TinaCMS would be exactly what I need/want if it weren't for this stupid issue around client directives..
What's the issue with client directives?
@short kraken I go into it a bit here https://discord.com/channels/830184174198718474/1297240670121099405
@deft latch Keystatic getting lots of mentions here lately... 😎
Keystatic is okay so far. But I hate that I cant make fields read only
What I disliked was the lack of customization of images paths
What do you mean?
for example i migrated a wordpress app to astro a year ago, so i was quite constrained by the structure given the amount of files
and keystatic did not allow me to map it correctly
I think that's the only thing I dislike, all the rest is great, especially since they added mdx support in January
I just asked in General #general message but if we could have Real Time Previews with Keystatic in Astro. That would be great. https://keystatic.com/docs/recipes/real-time-previews#heading-1-overview
But of cousse I cant find how draftMode works in the NextJs code yet
I don't think there's such a concept in Astro atm
I think there's a roadmap proposal for it
From what I've seen, Sveltia or something like Keystatic are somewhat neat solutions. However, I think that it would be good for some CMS to have integration with Astro and boilerplate templates for blog and classic cms. That way, it could show the the custom fields and other features from where others could build upon. There is something like that in keystatic, but it is cumbersome to figure it out, without any examples.
So I want to like Sanity. But I do not understand their Groq query stuff
your comment reminds me of this:
Using strapi one of the few you can selfhost
Guys, I'm coming back after having built some websites with Sanity and I can tell you, Sanity is the real deal. Super easy to setup you can hook it up in like 2 minutes, you have visual editing, it's just the best in my opinion after having tested building websites with storyblok, directus and keystatic
I couldnt get past Groq
I might've missed it scrolling through all of this but has anyone tried Astro with Contenful? I've used it for a simple blog with React a long time ago and saw that it had an integration with Astro. I'm working on making some templates for freelancing and am wondering what would be the best option for a client to be able to make simple text updates through whichever respective CMS dashboard. I'm not sure how viable this is but I'm thinking of having any sort of copy on the site be fetched from a cms, if that's possible, so if a client needs to update copy in some way they can without a code change.
I have a site using Contentful with Astro!
Nice! I'd love to see it if you're able to share it. How was developing with it? I'm not the best at reading docs and it's been years since I used Contentful with React so I'm not sure if this will be a smooth integration or not lol.
I use it for SSG. I’ll be honest. It’s been a bit since I implemented it. But we can talk more tomorrow.
Sounds good. Have a good rest of your night.
Sounds like you have quite some experience with CMS's 🤔
I beg to disagree, though. I tried Sanity once and I'm vowed to never return to it. It feels like managing two systems and then I couldn't deal with grok/graphql, where everything feels manual and hand-pulled... then the editor interface just lacked that spark... this was ~2 years ago, so don't know about now, but doubt it was for me, because if you rae about it, then it's probably my own issues 🤷🏻♂️ in my experience with CMS, I feel at this time there's no solution still... only one coming close is Storyblok - it gets almost everything right, except for a few, which the team seems open to improve and it's way way friendlier with Astro... now pricing of CMS is another talk - they're all expensive dunno why...
they're all expensive dunno why...
Another reason StudioCMS is 100% free and open source and just a fancy Astro integration. So costs come down to your database(if you go with a provider over a self-hosted libSQL) and server host (For the actual API/SSR Routes). In the future we might do some sort of Hosted solution, or even a enterprise SLA system, but for now... our focus is just getting up and going and create a stable and useable CMS for all.
We have a huge project going (PR #333) right now that will not only just upgrade the look of our UI, but help really get us ready for production usage!
Has anyone used Prismic or DatoCMS?
Question for the more advanced CMS users:
Having worked with Astro for a few years, I absolutely love my simple stack, and I'm looking for a headless CMS that I can add to my "workflow".
REQUIREMENTS:
- self-host-able, so I can install and fully run locally as well as install and run on my VPS (Hetzner) with Coolify
- postgres preferred with mongodb as a close second
- i need an "out of the box" experience, I don't want to have to install a bunch of plugins/extensions for common CMS uses
- cloudinary integration
I have locally installed supabaseCLI, postgres, and mongodb.
Ideally, I would like to build my project/projects locally, tune, tweak, etc. and then put it online.
So export/dump database locally and sync (somehow) on my VPS.
I know there's Kysely, Drizzle and other ORMs to simplify the process - I have yet to really learn those.
And possibly the most important - I think it's called "multitenancy"?
As a freelance web developer, I have a variety of clients. Currently, I make edits and git push (Astro SSG) + Netlify.
In the future, I would like to grant access to my clients to log in to a secure CMS backend and have access to their website structure. This CMS backend would be used by my clients, each with their own roles and permissions to modify/update/edit their own structured content.
I think Directus and PayloadCMS fit the bill for much of the above, and there is Sanity, Strapi, Storyblok, and so many others.
Just wanna hear some opinions based on my needs 👍
Anyone tried Manifest yet?
for people who want to dig into sanity I found this yt video : https://www.youtube.com/watch?v=7GSZCajClrA
Want the latest Sanity / Astro tips + more straight to your inbox each week: 👉 https://islandwebdesign.net/blog/?utm_source=yt&utm_medium=video_description&utm_campaign=visual_editor_tutorial&utm_term=newsletter
Want a website guaranteed to get you more customers: 👉 https://islandwebdesign.net/?utm_source=yt&utm_medium=video_description&utm_camp...
Prismic is a no go for me because it doesn’t have the notion of « required fields » (last time I checked) which can lead to build errors when using SSG.
I’ve only tested Dato CMS on my free time (ie not professionally) and it’s hands down the best CMS I’ve used so far but the free tier is not generous and the entry plan is on the expensive side.
I've been playing with decap cms + github auth + cloudflare pages in last couple days. a little bit hacky to get everything to work but i'm satisfied with the result. currently i'm trying to integrate decap cms with the "astrowind" template and i think i can share the code in the next few days.
for a little bit more context: decap cms is a git based headless cms where you can bring your own authentication provider (netlify or github). decap cms generate markdown file where you can use them as content collections. each change to a document (in decap cms) will push to the branch you specified. after that cloudflare builds a new static site and deploys it.
I would be interested in seeing how you got Decap running.
Last time I tried it (earlier this year) it didn't go well for me.
i made decap( a fork of decap called static cms ) work in my starlight website
i used a cloudflare worker script and had an admin folder in my website so when i visit /admin/ it loads the CMS
and only contributors can login
it was a static website hosted on github pages and cloudflare workers have 100k requests per day and i wasn't reaching 100 even with testing the cms
but now i discovered that something like google docs with the realtime collaboration feature is really nice
so i setup github action that takes google docs files from their link and turns them into markdown files and put them in the right subfolders
then i used them like i use markdown (or mdx)
this way the people who don't know how to code can use google docs like they normal do and update their websites for example
THAT is incredible!!!
I didn;t know any of that was possible with Astro & GDocs.
FINNALY SOMEONE APPERCATE THIS
i litterally told it to so many people and their reactions was "meh"
nobody relised the power...Gdocs is one of the best text collaboration software making it run smoothly with astro is good
https://github.com/sanabel-al-firdaws/sanabel-al-firdaws.github.io/blob/main/scripts/docs-to-md.js
i run this script from github actions with my secret env variables
i forked the npm package so i can have custom behavior for the markdown frontmatter
also i think MDX is not editor friendly for non programmers so i have sed script that changes these
#question what is your fav color?
red
blue correct
purple
#question end
to this
<Question>
.....
</Question>
must have taken some time to get it working smoothly 👍
https://github.com/OliverSpeir/astro-decap-starter-ssr https://github.com/OliverSpeir/astro-decap-ssg-netlify-identity
I havent looked at these in a while but they should both work, if not it would be awesome if you could open issues
this is a cloudflare worker i used for oauth with decap cms
everytime u make a change you need to rebuild the site
it took some time but once it worked i didn't need to change it again
Anything explored or used Notion (as CMS) with Astro? (Then again, with Content Layer, seems like nirvana on the way?)
i wanted to use notion but it couldn't handle large text files it wasn't a smooth experince for me especialy on phones
Does notion have a way to enforce a “template” ?
How do you store content? Is there any plugin / integration that would allow my client to use notion as cms and convert those notion edited contents back into markdown files
We're kind of using Notion as a cms at work, but with some extra layers. We do not use the content layer yet:
- Right now, we have a github workflow we can trigger manually that pulls data from notion, converts it to json inside data collections and creates a PR. Pretty manual and being a dev is required
- We plan to make those parts into an internal small cms. People would still edit content in notion, but manage where to push this data (eg. staging/prod). That would still do github stuff under the hood but merge PRs if they pass automatically etc
In our case, we only need to add some data once a week and there's a need for a manual action, so it's not just using notion as a cms
Tested a few. Now I use directus for all my customers. I don't know if there's a best choice but this one just is perfect. I used strapi but their mobile responsiveness is absolute nightmare and they clearly said that that was not desirable so....
Has anyone here managed to get Sanity to work with visual editing on hybrid mode in Astro?
It's a shame there is no content layer
How do you manage slugs? Afaik directus has no internal mechanism to do a conflict test. So 2 or more posts can have the same slug
That's when you tell directus that no post must have same slug. I don't know, I maybe surrounded bu world experts and have no knowledge but this is just data management in a database with slug being a data that you would enforce of being unique. And for using directus, that is totally possible 😅
THIS needs to be shared throughout the Directus and Astro servers!!!
WE NEED THIS! 👍
Obviously. .md / .mdx
I have used Directus for many projects, and love it
I too have used Directus for many things.
Mostly localhost projects, as I had issues getting it properly installed on DigitalOcean without racking up a crazy monthly bill.
I've recently got it running (finally) on Hetzner under Coolify!!!
It was the easiest thing. Even got Umami for stats/analytics/tracking.
Came out to about $15 per month.
If ya never tried Coolify, give it a shot - I'm sure you'd like it.
I was able to get Directus running on Fly.io very inexpensively. I didn't stick with it because it was overkill for my needs
By the way, anyone have thoughts on this regarding Directus being "truly" open-source or not? https://github.com/ssddanbrown/Open-Source-Confusion-Cases/issues/48
Changed to BUSL April 2023: directus/directus#18330 Readme advertises as open source: https://github.com/directus/directus/blob/e469b49583440f068393fe4f0e093ba317afe089/directus/readme.md?plain=1#L...
Sort of. Within the same site I dynamically set the output mode with env variables to SSR for the preview version that sanity uses for visual editing, and SSG mode to the live public facing site
Ah so you have two sites? One for preview and one for production?
Can you guys explain to the directus maintainer how content loader works so they can make an sdk for us? https://github.com/directus/directus/discussions/23771#discussioncomment-11350195
No, it’s one site. SSG or SSR output is dependent on the environment the site is in. So live environment is SSG, preview environment it’s SSR for sanity live preview to work
Would anyone be interested in a Astro-first supported CMS?
Like what features would you expect with a headless Astro-first CMS, looking to gauge the audience interested
Isn't that already happening with StudioCMS, @ashen valve ?
I should really do a "CMS Manifesto"! I hope we build one that does all it's supposed to do, and well
https://hounie.me/writings/the-missing-cms-for-me/ Hey @ashen valve did you ever see?
I have not, ill give it a read 😄
Oh sweet thanks!
I used astro(node-ssr) + pocketbase to build 25 news websites.
I am running all sites on single $10 ARM64 server and combined traffic is almost 200k page views in 24 hours.
I used varnish and cloudflare cache and have my own cache clear mechanism.
I am running 2 instances of astro and each of them having 10-11 sites. Single astro instance is able to check the domain and return the desired post of that domain.
Right now I have just 1 layout and I am going to add 4-6 more layouts to it.
Currently each website is using default pocketbase dashboard for CRUD. I want to build a separate dashboard for it. If you are interested in building dashboard then I can share my CMS with you.
Wait, Pocketbase as CMS? And you're able to do relationships and other reference stuff? And individual users sign in and update content in a friendly ui?
I am on my way to build that with pocketbase. I made a separate dashboard to manage pocketbase content. I just have to create users and individual users can login and see what content they are allowed to edit and create.
People underestimate pocketbase.
I have 2 pocketbase instance. One has 65k news posts and other has 53k news posts.
I can easily do relationships and manage permissions. Single pocketbase instance has 10-11 domains. So each domain owner will only get to see posts that belongs to his domain and can never see posts of other domains and each user belongs to specific domain.
I am not good at building UI but I know how to do backend stuff. That's why I just buy templates and implement them in astro.
I just need someone to do dashboard for me. A good one.
I might think to open source my entire CMS with a single layout and entire pocketbase configuration.
Damn, can we partner, please! I do the UI and you do the backend, like asap!
this sounds amazing!
would you mind sharing?
i'd love to see your setup and even your website/s.
I might think to open source my entire CMS with a single layout and entire pocketbase configuration.
This would be a brilliant way to give back to the Astro Community!!
That would be awesome if you could Open source it!
@rancid smelt @spiral quarry @ashen anchor
I will do that pretty soon. I have DMed you guys regarding this.
Done
thanks
I looked at all of them, and because I would just use it to generate new blog posts, I decided it wasn't worth the hassle, and complexity- astro 5 for example has a ton of new things in it and how they handle images for example.
Same. Just gonna wait for the Astro’s cms and use Darkmatter until that
StudioCMS is looking promising... and @half lance's directions also worth taking seriously... my biggest pain in developing with Astro (and now even biggest/costliest) mistake was choosing Storyblok, by far my worst mistake of 2024
this week i have been experimenting with partykit and tiptap editor
and it might be the best experinced i had with realtime editing also you can host the collaboration server on glitch
i am making a collaborative team mangement server and i love the idea that the user uses the web app to connect to a server he hosts to sync stuff
also one big beneifet of using this is that you can use yjs to save the text file to indexdb then sync the changes and merge your offline changes with the updated ones automatically
by far my worst mistake of 2024
Well amigo, we have a few more weeks to go 🪲 you COULD make a worst mistake, 🤣
by the way, I also agree about storyblok - hated it!
Damn
I'm just using wordpress.com public api
Any Drupal integrations yet?
Sanity CMS still best choice for me as easy to use CMS.
btw Astro is developing own CMS? or I read it wrong above?
btw Astro is developing own CMS?
nope, the Astro Team is not developing their own CMS.
astro community members got together and built this https://studiocms.dev/
Thanks, I will check
What would an integration do? Maybe a loader but isn’t the data retuned from the api variable per project
Fair warning to anyone, we are not done with this yet. Still some huge updates are on their way
woo-hoo!
looking forward to it.
soon™️
i didnt even say that word... stop post snipping me
And just like that soon is trademarked, so we might go with "very soon" or better still "very very soon"
Before people get the wrong idea. We'll need time
It's not a thing that'll be done in a week or two
Got it, should be worth the wait
I still got my eye on Directus or Payload (now that v3 is out of beta). I'm mostly interested in something I could hand off to non-technical writers/journalists to use on their own, which drastically limits the options...
frontmatter.codes
For devs by devs (and for only devs)? But devs don't need CMS! Non-devs do. Or am I wrong?
If you have like 500 blog posts you probably don't wanna build ALL of that and render it statically
I gave Payload an honest shot multiple times, and did not enjoy it personally. It likely was because it was still in beta but either way, it was not a good experience for me. I'm working on my own instead.
i really wanted to like PayloadCMS.
all their youtube videos and this resourceful site https://allaboutpayload.com/ made it seem like it's the best thing since sliced bread 🤔
but i just couldnt get my content to render properly without deeper and deeping into queries what would only work with one collection and not others.
maybe it's my unfamiliarity with it. but i was very successful when using Next along side it 👍
it is indeed a great way to structure a site and I really did start liking it with Next ... but as for my Astro projects? I'm sticking with Directus if I ever need SSR.
Your hub for all things Payload
I'm using payload now, as a surprise it works quite well. It's free, customizable to the fullest, for now I'm really satisfied with it. The only thing that confuses me is, why should I use content collections for querying collections from payload, while they provide an API for that?
Hey all! I'm starting a discussion on pain points that people from the Astro community have faced when implementing a CMS into their projects. The goal of this is to scope out what is lacking or what's doing really well in the CMS landscape today. I'm really interested in hearing from the Astro community specifically. https://github.com/orgs/luxeCMS/discussions/62
https://www.storyblok.com/docs/technical-limits
You have to be making a lot of money either from your the website itself or your business to warrant using a cms, yeah?
@short crescent is there anything interesting added in v3?
WHY DOES THIS HAVE TO BE MAC ONLY 😭 (im using arch btw)
this is literally everything i want
i don't want a CMS that has all this fancy stuff. I just want it to read my astro config automatically without me having to do anything else and be compatible with markdown / mdx so i can have a visual live preview
- nice ui
screw it all. im just gonna go with https://frontmatter.codes/
nah even front matter is too complicated. im going back to neovim
what about headless CMSes for e-commerce? Yall have any reccomendations?
And does Astro fit for e-commerce sites? if that's not the case, that's ok i'll just use Nuxt I guess
Astro is definitely a good fit for e-commerce
I've been looking at Medusa.js for a while, looks powerful
😉
IMO something that comes kinda close to this but requires some more setup is Decap CMS. Not quite the same thing but works nicely with content collections and the UI is also very simple but customizable enough that you can add plenty of information even for non-technical people.
Been wanting to look into Medusa.js as a backend and the Storefront template as the frontend. Just need the time...
Medusa is great for when you feel restricted with your existing e-commerce platform, as you can make it what you want. But it does require a lot of skill and knowledge on how things are done in that project
also if you are using decap cms you can use a cloudflare worker for auth and have the /admin route be served in a static astro site
you just need to add a file inside public/admin/index.html
i used this on a website served with starlight
GitCMS is a Git-based CMS for Static Site Generators. It is a headless CMS that stores your content in a Git repository. It is a single source of truth for your content and a powerful tool for collaboration and version control.
Hey man, I built an alternative to DecapCMS.
it's still incomplete but have a look and let me know your feature request.
Hey an important aspect I have improved is markdown editing experience using Notion like markdown editor!
did u use tiptap
No, react-slate
i think tiptap (based on prosemirror) is the best at handling the most amount of chars while being useable
also i didn't know github can add plugins for editing like that
It's a chrome extension not a GitHub plugin
makes sense didn't know it was possible
Wait you gave me a crazy AF idea ....oh man
Yup it took me a hell of a lot of time to come up with this
you can link this editor to a WebRTC server and have realtime collaboration support
this is so cool
here is the link to the product
GitCMS is a Git-based CMS for Static Site Generators. It is a headless CMS that stores your content in a Git repository. It is a single source of truth for your content and a powerful tool for collaboration and version control.
Currently landing page is still under construction and chrome extension is under review by chrome webstore team
Hoping to get paas review by this weekend 😁
Hmm how so?
i am not sure its possible or not but if you can connect to a websocket server from chrome extension it would work
I mean why is the need, you can edit and update in GitHubs UI and your CI-CD pipeline redeploys your sites.
Everything sorted for scale of large static site
i meant if you want to have realtime collaboration support
Hmm, i have that feature in the pipeline but I'm not sure whether the user needs it that much
its very easy to implement honstly also u can host a cloudflare worker that acts as a WebRTC server
Yup i know it's easy but not needed, I'll think according to the feature requests
yeah i was thinking the same thing
this is the webrtc example save it for later
also you can use glitch.com
Damn, you may be on to something big here... damn
Thanks man but it's a long journey you know an endless cycle of improving product
But this is where you must be exhaustive. You do have to open a new page for more. One key feature is references and resolving them to other files ... something like partner: reference('partners'), defined in content.config... one way I can contribute to this is by suggesting everything I feel is right for a cms and often missing because people tend to build cms for people they think should be dragging and dropping blocks like designers, instead a way for developers to let non-developers supply all the dynamic content they need ...
GitCMS is a Git-based CMS for Static Site Generators. It is a headless CMS that stores your content in a Git repository. It is a single source of truth for your content and a powerful tool for collaboration and version control.
@open hazel it is a WYSIWYG editor for markdown files in the github for now, right? Like Darkmatter, but web-based?
Like I can not create a content collection from the ui, connect to db to approve comments, and so on?
I don't know about Darkmatter, but in GitCMS, you can configure collections with the schema definition of frontmatter fields.
I urge everyone to check out Pages CMS - https://pagescms.org/
Completely free, no bs freemium open source. Git based.
Easy to set up. looks good and you don't even have to deploy it yourself if you don't want to.
a few missing features are supposed to come soon; seems like the perfect solution for easy sites.
easy sites?
Hah @short bluff did you catch that one? ☝🏻
simple :3
although I am sure you can also code advanced sites with it.
Still just Git based CMSs, I need CMS like Sanity but really self-hosted. So with my own database.
You should keep an eye on StudioCMS for once we release our beta.8 update! There is going to be quite a few fixes (beta.7 is now broken sadly due to a few deps (unless you manually override them)) and a HUGE Ui upgrade. StudioCMS is an astro integration, so you would have your astro project with the node adapter, and you could either run a local libSQL server, connect to a remote, or even use the local file if your host setup supports it. StudioCMS uses AstroDB (drizzle ORM with libSQL Client) for its DB connection.
I have it in bookmarks and planning to take a look.
we are hoping to have beta.8 out soon... we have been busy working on getting everything together, as we have almost completely rebuilt the entire thing again 😅 But this should be the last major change for awhile. checkout our GitHub for the current things we are working on, we also have our roadmap repo that has more details about the current rebuild project as an open PR 😄
I will wait for some major version, because I am looking for some CMS for clients and use it on 50+ website as CMS. So I need something stable 😄
That wont be too far off now, once we drop beta.8 it will be down to testing, and making sure things work and current features are able working how they should. and future updates will be much smaller fixes rather than whole rebuilds 😅 so hopefully (if all goes well) in the next few months we will have a semver that doesnt have beta in it... 😄
Sounds great!
Guys im looking for easy headless CMS for small e-commerce site. Ofc with Astro ;). Stripe?
Stripe is a payment processor, do you mean Strapi?
I know you can use Strapi with Astro, members of my work team do this now
Sorry i meant strapi ofc xD
in this case the best is manifest. can be deployed together with your project, simple to set up.
Will check, thank you
Is possible to change dashboard content and translate admininistration to custom language?
Is there any good CMS that works with Astro to create markdown frontmatter, and my components are using vue js, and it should have visual editing
pocketbase
I am having 25 news websites using pocketbase + astro
In sorry but this channel is for discussion of using ASTRO with CMSs… this entire website says nextJS and payload 🤔 if not Astro related please remove from here to prevent any future confusion
I already said in the beginning that it is a HEADLESS CMS, as the back-end, so you can use it with Astro for the front-end. Is that not clear enough?
Meet Payload Blog Template,
The text here in bold... makes it seem as if your advertising the template itself NOT the headless cms
Agreed, user is selling his template here.
Hey @gusty cove! This thread is dedicated to helping people find a CMS that works well with their Astro site. As your template is for Next.js, I’ve removed it from this thread to avoid confusing anyone looking for Astro resources. Of course you’re always welcome to share resources about Payload CMS if they relate to how to use it with Astro.
Hey, I'm currently building simple to use Git based CMS, checkout https://gitcms.blog
What vendor lock in ?
Yeah it’s just markdown and you can use content collections as well
Hey
Do you have setup or workflow for this, I'm looking to set similar stuff,
Yes
i am currently building obsidian clone and a cms that is collaborative and it will be better than this way
but its not done yet so i can show you how to setup google docs with astro like this
here is the JavaScript file @blissful gazelle
I am planning to use my "obsidian ish" clone as a cms for my starlight website
is there any eta on this? seems promising
We are actively making progress 😄 hopefully within the next month or so!
True, it does vendor locks to netlify, you can checkout https://gitcms.blog it is also git based headless CMS
Why did you not prefer git based CMS? Any particular reason?
decap doesn’t lock into netlify unless you use the netlify identity for auth
You can have your own auth endpoints for github oauth within your astro app or just as standalone Cloudflare workers like @rancid smelt does
I meant Netlify Identity for auth as vendor lock which makes things easier. I had to create my own auth endpoints using GitHub OAuth. That's all
.
Can someone recommend good alternative to keystatic cms i had a site with it which had block builder and alot other but i want to migrate from keystatic
If you still want git based I think the main ones are tina decap and sveltia
If you go DB/api based there are a lot more
i should try sveltia is it battle tested i mean iam using keystatic in some production sites but on some iam encoutring wired issues and the project seems dead as no one no longer reply in github issues
I just deployed a site using Sveltia. Not the greatest. But not the worst either. And it has pretty active development
Hey,
Are you using plain astro without any framework on top ?
I just found https://getdarkmatter.dev/ and used it on a random starlight documentation. It still seems to work. Does anybody has more information on this project? There is no repository or even dates on the blog posts. The macos app is last modified on october 2024
I like it 😮
Have this too. But it seems that Author is more focused on a development of a web version for now. For me personally that is a good safe island I can wait for a more robust CMS on
Has anyone ever auth users using pocketbase?
aaah 🙂 I see! thanks
i'm struggling with Oauth actually
I've been trying to do authorization without SSR all day yesterday
but I'm stuck on redirects because I don't know how to redirect an unauthorized user to the login page without flickering pages
because you can check localstorage only on the client, but you need to load the page first. And Middleware doesn't work fine with SSG, or I didn't figure out how to do it
that's why I decided to keep the SSR (which is actually not really necessary for my project, but authorization is required bruh)
here is an example of middleware for running pocketbase on the server side
import { defineMiddleware } from 'astro:middleware'
import PocketBase from 'pocketbase'
import { API_URL } from 'astro:env/client'
export const onRequest = defineMiddleware(async ({ locals, request, url, redirect }, next) => {
locals.pb = new PocketBase(API_URL)
locals.pb.authStore.loadFromCookie(request.headers.get('cookie') || '')
try {
locals.pb.authStore.isValid && (await locals.pb.collection('users').authRefresh())
} catch (error) {
console.log(error)
locals.pb.authStore.clear()
}
const isAuthPage = ['/signin', '/signup'].includes(url.pathname)
console.log(!locals.pb.authStore.isValid)
if (locals.pb.authStore.isValid && isAuthPage) {
return redirect('/')
}
if (!locals.pb.authStore.isValid && !isAuthPage) {
return redirect('/signin')
}
const response = await next()
response.headers.append('set-cookie', locals.pb.authStore.exportToCookie())
return response
})
Hi guys, I have an Issue with Astro and Sveltia CMS: Relation Fields Not Resolving Correctly for Multi-language Setup
I am migrating from Netlify CMS to Sveltia CMS to improve the management of multilingual content on my website. However, I have encountered an issue when trying to relate collections in Sveltia CMS, as the links do not include the localization correctly.
-
My website is multilingual, and collections are stored in language-specific folders (
enfor English andesfor Spanish). -
Relations like
authorare incorrectly linked without including the localization, for example,author: yuniel-acostainstead ofen/yuniel-acostaores/yuniel-acosta. -
I tried using
value_field: '{{locale}}/{{slug}}'but it resulted inauthor: /yuniel-acostainstead of the expected localized values. -
CMS Configuration (config.yml) and Astro Configuration (config.ts) can be consulted in the example branch.
-
It was suggested that the
{{locale}}tag cannot be used invalue_fieldand a bug in Sveltia CMS was identified. -
Sveltia CMS version v0.53.4 includes a partial fix, but additional manual adjustments are required in the configuration.
I still need a solution to ensure that relations between collections correctly include the localization (en/{{slug}} or es/{{slug}}). Any help would be greatly appreciated.
For more details, refer to the discussion.
Exist any astro + sveltia cms example with collections related an i18n (multilingual site) ?
Thank you
This thread is supposed to be for best CMS mentions, could you please take your support request to its own thread? Thanks!
You can leave the request for the examples part!
Because I host all client websites on a VPS with no build option. So if a change is made that requires a build, it is done manually, built and uploaded to the VPS via SSH using a deploy script.
Then there's managing the content of the site by the client and that's what the CMS is for. Once the client edits something on the site, they can see it immediately on the site without the need for a site build.
I used to use Vercel, but neither my clients or I are going to pay anyone for ridiculous data transfer limits and God knows what else.
One of our clients got almost 700k unique visits in January and he wouldn't have paid for that with Vercel. There was also a problem with Sanity, which we use as a CMS, so we had to migrate the images to Bunny CDN. Because just paying $620 to transfer images to someone, not really.
why not just have simple setup like this, where whenever user pushes new content file (markdown) we can trigger github CI CD to rebuild the site and deploy to cloudflare/netlify or VPS of your choice.
btw I'm currently building best and minimal git based CMS, you can have a quick look https://gitcms.blog, if you are interested let me know I could help you out simplify your client's setup if you are still using sanity or vercel.
👋 Hello from the friendly neighborhood
@support-patrol! We have gathered up everyone's mentions and compiled the first list on our new Support Squid platform. We welcome everyone to take a look and mention anything we missed in the comments. Registration is public and available to anyone with github, discord or email. Hope to see you there!
https://get.supportsquid.ink/d/7-the-best-cms-for-astro
This is a volunteer site run by members of your friendly, neighbourhood Astro Support Patrol to provide an open, public support forum outside of the Astro Discord.
That's great! Thank you!
Because CMS based on GIT is not for clients who are paying for their websites and services. Clients doesn't have access to GIT to make commit or push. Someone could do, instead of GIT based CMS, CMS with user management and markdown usage managed by NodeJS, without the need of re-build whole website.
I am using Sanity + VPS right now. I will have to create a minimal CMS for my clients, because I can't find a suitable CMS that is not GIT based and because last bill one of my client from Sanity was around 600$, so I have to move them from it.
You might be interested in the work being done by the StudioCMS team where we are working on a SSR integration built completely within Astro that will do just what your describing! We are actually hoping to release a major patch (beta.8) here soon that will get us really close to a stable version as well, in fact here is a small video which shows off some of the progress on our new design for our dashboard #showcase message We are starting off with a basic built-in Markdown editor setup for content, and fields for Metadata, with the goal to even add WYSIWYG through our plugin system in the future 😄
Yes, I have plan to look at StudioCMS when it reach a major version. 🙂
https://github.com/withstudiocms/studiocms/pull/333 Once we get this patch out, we will be ready to start working twords getting out of beta... we are just as tired of being in beta as everyone else, and we are excited to see people start using and experimenting with it!!! So hopefully we will only have a few more releases before we finally drop a 0.1.0 version 😄 (probably 2-3 months at the rate things are moving now 😄 )
It's hard to find a CMS, that will compete with Wordpress. Almost every potential client will read somewhere that for a website on Wordpress you just need to buy a domain, web hosting and that's all costs in total $40 per year. But then all CMS have a pricing per month greater then the annual cost of Wordpress.
But I will try, it could be useful for some websites.
@random anchor ApostropheCMS (https://apostrophecms.com/) has a free-tier and it would let your clients add content through the frontend. Not sure if it would meet your other needs.
Does anyone know of a CMS that works with Astro (ideally using the plain text files), and has support for Markdoc? so far, all I can find are either Markdown or MDX, or Sanity's Portable Text.
Ideally something like Cloud Cannon, but more versatile and with live cursor/editing/collaboration support.
thanks!
Will check, thank you
Keystatic supports Markdoc or MDX - It's worked well for me
thanks! i am guessing there's no "realtime" editing feature though, right? as in, multiple people working on the content at the same time (think google docs).
Correct - it is git based so when you save it gets commited to github (in cloud mode) or edits files locally in dev mode usually
I wanted to pass an table id into astro page how i can do like when user click on the table then navigate to the astro page with id and also i wanted to get id how i can do ? Anyone...
Should make a fresh #1019713903481081876
mean ? I dont understand
Can you explain
Can you please make a separate thread in the #1019713903481081876 channel
i want a astro cms like a headless-wordpress but i can deploy in vercel
does anyone know any?
I'd recommend StudioCMS but it's not production ready yet
The link is https://studiocms.dev
It's kind of hard to find on Google
Maybe I'm bad at Googling lol 😅
😂
The team is working on a Wordpress export plugin from what I hear. So it should help with migrations over to it. But it's still a work in progress.
I am so happy that it worked.... Google is a PITA... when it comes to ranking
also im one of the Core maintainers of the project 😅
anyone have a good experience introducing custom components into a cms' editor?
StudioCMS has something coming down the pipeline along those linnes 🤔 (i know not helpful)
i didnt even know it had an editor
We have various implementations planned (and one of them in progress) Astro component proxying is fun 🤣
custom components are really the end game of CMS, I think they all attempt to have some form of them, but if they're good I'm not sure
directus is pretty nice, but they have to be written in vue
what do you mean by proxying?
touching stuff that i probably shouldn't but it works anyway... 🤣
This is good~~
If there has a project like it, but supports Windows, I will get help.
Is there has one?
I don't think so
Oh...
Anyone ever tried using laravel + astro? Thoughts?
I don't think that's really compatible, those are concurrent tools (ie. at the same level)
👋 Hey Everyone!
Support Squid back here to ask for everyone's vote in a new Poll added to the SupportSquid The Best CMS for Astro version of this thread!
This is a volunteer site run by members of your friendly, neighbourhood Astro Support Patrol to provide an open, public support forum outside of the Astro Discord.
can my notes app be used as a cms, it syncs to icloud and icloud has an api right
I've never touched any of Apples API's so i got no clue
This would be the day. But then I'd celebrate Apple (still) if they (did/do) allow.
When you can't even share a (public) link to stuff on iCloud without "viewers" having an Apple account? Damn, Apple!
Yeah... i've never seen a proper API for Apple... 😅 and from what i know of how apple operates the icloud platform honestly, i dont think thats actually possible... mainly due to their levels of security they put in place... atleast not without them creating some sort of api for it, but i havent found any sort of docs leading to anything useful
You can do public iCloud links and viewers can download / view without accounts
true but not the point
any half competently built native app will be better than opening a web based editor on mobile
doesnt have to be by apple
I tried and then they were required to create an apple account... this was as recent as 2 or so weeks ago
xD
?
funny 😄
What do you mean? 😅
cons: still in development 😄
well, when you take ~700 messages, and provide a history to a program to gather all the commented CMS's... thats what it gives ya... 🤣
All i did was verify that it caught all the CMSs from this chat....
what u prefer for blog posts as cms easy to login easy to publish posts easy to manage personel info etc.
I am not the best person to ask.... 😅 I am the dev behind the StudioCMS project...
any experience until creating your own cms ? 😦
Just various random CMSes trying them out... Mostly worked with pagebuilder style more than content(before i got into astro)... GhostCMS wasn't tooo bad... as long as you make sure to keep good DB backups... and be careful during updates. (i even maintain a Astro content loader for it, since it was the one i used in my early astro days)
Can we all choose one CMS with a good team behind and collectively use it.
Not every CMS serves the same purpose
Yeah, CMSs differ so much 😅 . If I learned something here, it is that I have a lot of good CMS options and it really depends on my use case.
I'm trying to decide on a CMS; preferably something that:
a) is self-hosted (ie Ghost or Apostrophe)
b) has a block-based building system - ie; being able to drag-and-drop Astro components into a page
You might want to keep an eye on StudioCMS as we are self-hostable (we are an Astro Integration that brings a whole CMS as a SSR dashboard) and we plan to implement a block-based editor (with full Astro component support) in the near future! (currently we have a markdown editor that does support using components through a componentRegistry in the config)
sooooo
whats the best cms?
did we come to a conclusion?
looking for a free one for my static site
Looks really interesting but a screenshot or demo cms would really help!
We do have a gallery on our docs! https://docs.studiocms.dev/start-here/gallery/
Aha! Sorry I missed that.
Directus if you're selfhosting, Pages CMS if you need something super simple
Could you please share your experience with Directus 🙏
Perhaps you’ve used other CMSs like Strapi/Payload/Hygraph and can compare them to Directus?
in the end they all work, but Directus is truey free, works with a lot of dbs and can map to a existing db, plus it let's you easily set up flows that are almost like using n8n a bit.
also it let's you customize the CMS (color, logo, etc) which is a paid feature for a lot of CMS systems
that's the reason why I choose Directus, when I am looking for a CMS that I am hosting myself.. sure Strapi and Payload are great as well
I’m still banging the Sanity drum. Free tier is very generous (they host your data) and the CMS is very flexible with visual editing. It doesn’t have enough out of the box IMO but it has a plugin eco system. Works well with Astro because you just access the content via the API and there are Astro-specific helper libraries that connect the two
Still looking to give Sanity a try as I keep reading good comments about it. Have been trying to limit the amount of extra seperate services myself or a client needs to be registered for (image hosting, cms, contact form etc.) to have a functioning site while also avoiding vendor lock-in. Thats why I am liking the simplicity of Keystatic cms at the moment as it is just creating the markdown, json etc. in your project, which you then access like you normally would with astro for local data.
have any of your clients said something nice about a CMS?
Upd: I’ve started using self-hosted Directus and it runs great so far, previously I had remark-rehype plugins to pass dates to markdown, now everything is automated and the overall setup is not that fragile.
I also love wysiwyg for the ability to change html right from there. I use it to add <section> wrappers where needed.
The web hasn't (and will ever?) recover from (the sickness of) WordPress (or "website builders").
I have tried other CMS, but so far Sanity CMS still wins. Our clients like it, everything is clear (they mostly switch from WordPress) and there is no problem.
Are you / they paying for Sanity yet?
They did, but I fixed it on our server, so they can have at least 1 million visitors per month without paying for Sanity. One of our client had 2.5 millions pageviews per month and bill was about $650. Now he's fine and would pay a maximum of $40 if he had around 2.5 million hits again. But for now it's free. The site itself earned him around $3,000 that month, so the Sanity bill wasn't a problem anyway, but it was a signal to take action and optimize.
Question, are your client's sites using Astro SSG or the Node SSR adapter? I'm curious if you're only fetching from Sanity only when you build from recent changes or if it's all SSR and fetching from Sanity every request or if you have a redis cache in place in the middle
Using Node SSR Adapter for all websites. When client edit something in Sanity, it must be live at the moment.
thats incredible! when do the savings breakeven against the engineering time?
Including various experimentation, it was about 14 hours. But now that we have the solution ready, it is possible to implement it with modifications in the project within 3 hours. It depends on the scope of the project.
hi everyone, i'm a designer who wants to explore the dev world. i just wanted to pop in and ask:
WORDPRESS is familiar to many and has a huge plugin ecosystem. wouldn't it be a decent idea to use it as headless CMS?
i'm thinking: if the need arises, i could probably add a few plugins that solve my problem (booking systems, simple woocommerce shop)
At least for me, WordPress is a no go. Old code, plugins are mostly not checked, so if you download some no name plugin, it's a security flaw. Not to mention the cluttered administration. At least that's what our clients who have switched from WordPress to Sanity CMS say, where they only have what they need.
Mainly, if you use WordPress as headless, you have to interface so many things with the frontend, and as far as I know, a lot of people who just install WordPress and the plugins for it, they have no idea what's going on in the background and what exactly it brought them. So with a headless solution I'm guessing you're going to transfer about 1/2 of the stuff to the frontend.
Personally plan on writing all of my article/guide pages with vscode in mdx and html...
And using Decap for blog / newsposts. ( @timid carbon )
I've been using Obsidian as my CMS, works great if you combine it with GitHub submodules. Wrote about how to achieve this here (https://bryanhogan.com/blog/obsidian-astro-submodule) in case anyone else finds it useful.
^ Intrigued by this. I like Obsidian.
Personally at enterprise level I have seen multiple companies using Storyblok. Super easy to set up as well.
I can confirm this. Currently using it at work, with live preview enabled and it works like a charm with Astro SSR, with Vue as an UI framework
I use it at work too! But the only thing for me is I have SSG in production. For previews ik you have to have SSR but in Astro you have to structure your code differently for SSR if I’m not mistaken for slug route pages
So rn I just have to rebuild the preview branch to see changes which is fine or I’ll just do local dev which auto refreshes
I found something called Frontmatter CMS, a VSCode addon that let's you do the CMSing right there in VSCode. Intrigued by that too, but not quite sure how to config it correctly yet.
Yes, you have to maintain two different methods to generate URLs and pages for both SSR and SSG, but this is something you can toggle using an environment variable
It won’t try to build the SSG pages in SSR mode? I’d have to read the docs if there’s like a specific thing you can put in the code fences to tell it not to build if the env variable is true
🤔
Or maybe it’s doable in the Astro config hmmm
Last time I tried, it was only giving me a warning about getStaticPaths being not used in SSR
skimming the pre-releases, looks like things have been progressing rather rapidly the past few weeks! Is this something i should consider using or still early to commit to?
We are hoping to be able to drop the beta tag sooner than later, and start moving up the standard semver. We are just working to primarily clear out any of the bugs we happen to come across as well as flush out the current features. beta.8 took forever mostly because it was basically a complete rewrite of the internal functionality as well as the dashboard design itself. currently we are working on preparing to release beta.13 (currently on NPM beta.12 is available) and there is only a few more things to work out in this update, then it drops with a bunch of bug fixes, feature changes and cleanup.
Our biggest focus has really been trying to make the whole thing as dynamic as possible through our plugin system for other devs to be able to come in and add functionality through their own plugins, as well as trying to getting features that we currently have as close to "feature complete" as possible.
if i decide to give it an early whirl, are the docs up to date?
They are! We will even have an update to the docs going out for beta.13 since there is going to be a few changes with functionality for those who are using StudioCMS with some custom logic (i.e. headless mode)
awesome! i think I'll check it out then
anyone has experience with both cloudcannon and storyblok? If so, do you recommend one over the other
I don't quiet understand this, shouldn't sanity cost the same no matter where you use it from? your paing for api access and transfer from their system no? what exactly did you do?
I can confer with this. I have Astro with 2 outputs: SSG for production and SSR for live preview in Sanity. You get a warning about getStaticPaths but that’s it
This is cool, but Mac OS only is a problem...
I've set up caching on our server.
As soon as a visitor comes to the site, the cache on our server is checked, if the data from Sanity does not exist yet, it is downloaded, if another visitor has already downloaded the same data from Sanity, it is loaded from the cache.
The cache is set for 60 days.
Here you can see Sanity bandwidth + traffic for February.
a nice! yeah that makes a lot of sense!
also makes deploying sites on something like railway possible without worrying that you have to pay crazy egress. are you caching yourself or using something like bunny cdn?
Before we got to this solution, we quickly switched to Bunny CDN, but then we moved it to our server.
It was important for us that when the client modifies something in Sanity CMS, the changes are reflected on the site immediately, without the need to build the entire site and preserve data in the cache memory, which we managed to do with this solution.
how are you managing the cache, somethine like cdn cache tags or redis?
In-memory cache
Otherwise, it is currently on a simple basis that the data is cached for 60 days, or deleted earlier if the site is rebuilt.
So no tagging and deleting. Alternatively, in the future, tag individual segments of data in the in-memory cache and then use API requests to delete them, if necessary, directly from Sanity CMS using webhooks.
This is timely for me, thank you. Just got a warning from sanity that we’re at 80% of our bandwidth limit, with significantly less traffic than your site.
Hey all, I've scanned over this thread and will continue looking over it but in the meantime I figured I'd post what I'm looking for. I'm after a simple CMS for a client website, it would be really simple, essentially just adding adding case studies to their folio section and it might expand to include a blog/news section at some point. I've only really used Astro for my own site so far and I'm happy managing that through git so i haven't really done any client CMS stuff with Astro.
A good 6 months or maybe a year a go I dabbled with Tina CMS and Payload, they were okay, I think I preferred Payload, I also tried out decap but had some problems with it, but that was right at the time where they were switching over to Decap. I've also tried Strapi and Directus, pretty nice, but probably overkill in this instance and Strapi requires a VPS, can't remember on Directus. Hearing good stuff about Sanity but managing the free tier and the prospect of surprise bills puts me off.
So I'm pretty much looking for a simple, stable, client pleasing CMS which isn't too mind bending to implement and close to free with not too fancy hosting requirements. That's asking a lot isn't it!? 😄 I'm not tied to git based, but that might be the best fit here?
So I've more or less just read the entire thread, phew. A couple of posts put my mind at rest about Sanity free tier. So currently, Sanity and Keystatic battling out for the lead, Decap trailing, maybe pagescms as a late outsider. Does anyone know how far off StudioCMS is?
StudioCMS is getting closer and closer! (I am one of the maintainers!) We are working on a bunch of cleanup, and making sure there is no crazy bugs and everything is working as intended or implemented. once that is done we will be ready to drop the beta tags!
Feel free to hop in our discord https://chat.studiocms.dev to keep your self informed with all our news and updates!
Building the best, free, open-source tools with the community for all to use! Starting with StudioCMS | 90 members
Why not headless WordPress?
WordPress is the worst cms ever
What would ya'll recommend for a cms that needs an easily extensible dashboard? Need media upload hooks to process audio, maybe upload and preview 3d models. I used to use payload 2, but I really dislike the way 3 works now.
Been looking through https://docs.astro.build/en/guides/cms/ for an hour now but none catch my eye.
The ones people seem to recommend here are mostly for simple blogs and such, some don't even have a UI.
simple multi-tenancy would also be nice :)
self-hosting and FOSS is a must
thanks
I just discovered https://pocketbase.io/, looks almost perfect! surprised it's not on the list. Even can be extended with svelte, so maybe somehow could work with astro.
They have an astro example!
Pocketbase is great! It’s not V1 yet. But I’ve used it for a couple things and enjoy it
I did a lot of research on it, and it has no dashboard UI extensions yet. In fact, they say it's not a CMS and one should make their own user-facing dashboard in prod.
Thus I crawled back to payload :(
still keen!
well, at least when i'm not cheating on astro with next 😛
I am creating a dashboard to manage news website. News website layout and dashboard, both are in astro and using pocketbase.
Benefits of pocketbase is, its super fast and also I can test which indexing works for me very easily.
Plasmic works fantastic for me. https://www.plasmic.app/
Plasmic lets you build powerful web apps super fast, from internal tools to user facing products. Integrate with your codebase for unlimited possibilities.
How will plasmic work with Astro? Plasmic looks like Framer, Webflow etc. or do they have some API for Astro as frontend?
I build and use my own CMS, Strife. I chose to create it because I wanted a CMS that's genuinely easy for non-developers to use, with a strong focus on a beautiful, real-time preview. Our goal is simply to help more people confidently manage their content on the web. Happy to chat more if anyone is curious! https://strife.app
A brand new headless CMS built on core web standards, blazing fast with immense flexibility for both delevlopers and editors.
On the > 1024px layout the text at the top disappears behind the header:
Payload CMS
work well with astro? been thinking of giving it a shot
It depends. There's no clean solution for Sanity's Presentation Mode or preview mode atm unless you're fully SSR afaik.
Thanks for reporting 🙏
@rancid smelt did you use storyblok for your latest site ?
No, not at all. Ditched forever, even gradually pulling all my sites from them... latest site is all content collections/mdx for now
No returning to storyblok, ever.. still watching how studio is coming along, sadly not been able to contribute/participate as i'd like
If you don’t need the Visual Editing. I found SvelitaCMS to work well enough. It’s DecapCMS but written in Svelte.
At this point, when I have to try CMS again, has to be Studio or some way around wiring Notion up into Astro
Can you fill us in please? What happened?
I tried storyblok visual editing recently, was painful but it could’ve been user error
Will give it another shot at some point
Always user error with you 😅🤣
We tested many headless CMSs before settling on Sanity. Payload was a close second. Storyblok had too much "lock-in" for my liking
Ya sanity seems to be winning a lot, I haven’t looked at it in a while do they have something like visual editing?
Yup, but it requires SSR
And you'd want a good idea on how you plan to model your content
Speaking of Sanity with visual editing, does anyone have a public repo/demo of sanity working with visual editing?
What do you want to see?
I’m thinking strapi + Astro or I’ve seen a lot of strapi + Next? Not sure what to make of it. Need to make more than just a blogpost site. Anything from fullstack apps with database MySQL/psql, and client sites that’ll need membership tiers and event calendars with a few content pages.
The pains of storyblok are indeed many, maybe one of these days I'll document but for now good riddance to their <just held off swearing> software/service
I even posted on #general then questioning why Astro would choose them as official CMS sponsor when they couldn't even support their <again holds off swearing> software... I lost the equivalent of a whole month just sorting storyblok errors...
Is it mainly cuz they require you to depend on client components to render content?
Going to throw Bknd as an option for a CMS too. It's a lightweight Strapi alternative that integrates directly into your Astro server so you don't need to run two servers. It's pretty cool tbh
Ideally what the page will look like inside the editor, and to make changes and to see those changes reflected in the visual editor before actually publishing the page live for everyone
Are you hoping to use the Presentation tool from Sanity, or a split-pane preview?
Have only used Sanity once, so I believe either would work for me, as long as my clients can see an SSR view of the page with their new changes before they publish. If there's one extra step needed I'm sure most clients will be fine with that if that's the only way to handle it with Astro
It looks pretty much like how Sanity show it: https://www.sanity.io/docs/configuring-the-presentation-tool
Honestly, best to try it out. Add it to a Sanity + Astro template
Oh and it works with Astro? Is there an existing template/repo that shows this or should I just try making it myself?
Let me take another look
Once I've played with this a lot more, I reckon I'll try open a PR for the docs, as there's a lack of info with regards to live-preview with headless CMSs atm
No worries. You'll also need to account for conditionally rendering the presentation tool to only those that are logged into Sanity Studio
Yeah, Sanity is pretty good overall for cms. I'd recommend it as well.
Not really related to this thread
maybe make a fresh one
GROQ is damn annoying to use with Sanity though, that's the biggest negative imo
Damn, this is looking like awesome!
Reminds me of PocketBase
honstly after trying alot of git based cms i found one that might be perfect the only feature i am missing is live editing
now its forever free the only thing you need to do is configure what files to show and how to show them
any file type is supported but it will be just text preview
https://tina.io/docs/editing/blocks
currently i am using Tina seems like the perfect way to have for my clients
live editing seems so powerful ...you can even make your astro component into mdx and add them using ui without the client knowing anything about code
Tina supports block-based editing, so that your editors can build out full pages using your pre-defined blocks (i.e. page sections ). Let's... || TinaCMS Docs
yeah tinas nice my issue was that you have to use cloudinary for responsive images
also the custom blocks are a bit of a pain but i didnt dig too far into them
yeah its a pain, im doing a sanity project now though and i really like the live editing
it seemed confusing for sure but at least it seems to work better than nothing
i am a simple man with simple needs
live preview + git based cms + simple git auth using cloudflare worker or that gitlab feature
this seems cool but no live preview the only feature i am missing
SonicJs is 6x faster than Node/Express. 100% Javascript based API Framework/Headless CMS.
Need another counter.
Days since a JavaScript CMS is released.
literally too many and alot of them are nice aswell
https://demo-staticjscms.netlify.app/
this one was the best cms i used
bassically decap cms fork but with better ui
but it's now discontinued sadly
https://github.com/sveltia/sveltia-cms
this project is doing the same thing but its not v1 yet also custom previews aren't an option yet
you can use gitlab free feature for auth or host a cloudflare worker so it's basically free
I actually use Sveltia with https://dallaslowry.org/ and it works well
Supporting Veterans, First Responders, Deaf, Hard of Hearing, and Their Families Welcome to The Dallas Lowry Foundation We provide support to veterans, first responders, deaf, hard of hearing and their families.We have various services we offer. Please visit our services page for more info. We are based in Broken Arrow, OK and provide support th...
yes i am also excited for v1 release the dev says its going to be after 4 months from now almost
i am waiting for the custom preview one and i will diffently switch
I think this is SonicJs demo information. https://sonicjs.com/#demo please enjoy it.
SonicJs is 6x faster than Node/Express. 100% Javascript based API Framework/Headless CMS.
yeah i couldn't use it or open it
wait now it works
before when i click login it hangs and does nothing
now i am logged in and can't view anything
also i actually meant live preview of the website content
like if you change the heading in your markdown you can see the change on the website in the preview tap
this feature is so cool👌👌
Hi. I wanted to make a project using Astro + React + DecapCMS. Apparently DecapCMS doesn't work with React 19, and I have to downscale it to 18
Do you sugest any other CMS I could use (it's a very simple project)?
Depends on what you need. I use Contentful for one client. Very simple implementation and the free plan is more than enough for them. Then i use SvelitaCMS for another client.
There’s a nice write of Pages on the CSS Tricks site by Ryan Trimble
https://css-tricks.com/using-pages-cms-for-static-site-content-management/
ty for the answer. I'll try them. It's a very very simple work. I have a React component in a page:
<Card title={} text={} etc.. /> and I want to create like 5 of them using a CMS (i dont even need to create a new page for it, just edit the content of a page creating a new component). I tried Decap but no, I tryed Sanity and I got insane xd I was looking for something ez (i never used a headless cms so I might be a noob)
Thanks. I tried it, and it works for what I have to do. Also is ez, I didn't get mad too much
I'm using pagesCMS for my current site, it's great for basic content management when you don't want your copy writers to ever have to look at a curly brace or a git repo. It's still early in it's life but the creator is really invested in the project and very proactive.
nice one, that looks great, thanks!
To those of you using Decap CMS and wanting to migrate away from deprecated Netlify Identity, I recently updated my Astro Decap template to use a cool solution called decapbridge. I detail the upgrading steps in my kit's readme. All you need is a free Decapbridge account, a fine-grained Github token and a few lines in config.yml.
Visit Decapbridge Discord and their open-sources repos for more information on their solution.
My biggest problem with like DecapCMS and SveltiaCMS is that you need a GitHub account to access it. If I want to hand it over to a client. I would like something like Google Oauth or something easy for them to use
I don't know about Sveltia, but in the case of Decap, netlify Identity and now decapbridge allow the user to use goold old passwords to login (netlify identity allows more providers like Google)
oo honstly i am making a collaborative text editor and i am thinking of turning it into a cms
the idea is a static site text editor with optional webrtc also it uses CRDTs so you wouldn't have issues with merging changes because it will auto merge in the best way possible
i am going to use astro starlight as my first demo
this is what i got rn ⚡
Just a collaborative text editor with no servers involved looks amazing also im using CRDTs ...like yjs
docker
I use notion as my "backend"
and it has opened up a whole new world of opportunity ngl
I used to do the same with Google docs
i didn't like notion just because it was slow on my phone otherwise its so nice
Contentful can be a bit of a trap for small businesses.
The free tier seems generous, but if you start needing anything more, the step right above it is 300$/month.
Every CMS on this planet (I think it's called Earth, right?) seems to be priced this way 0 - 1000
Many of them, but not all.
Strapi (Cloud) and Sanity e.g. provide more manageable pricing step-ups.
directus is the best solution if you're working with a database imo - can work with any database, free if selfhosted unless your client has a lot of revenue.
You can use Sanity in free tier forever even with higher traffic.
And just in case? So CMS is really for clients (or much less so for devs) and as soon as the project is done, you cannot predict how much clients will take up resources and soon now they exhaust the free tier and boom, the rest is CMS!
You don't know how much the client will consume, but you can anticipate and adjust the development accordingly.
is there is any good file based cms .yaml which accept block builder i did tried keystatic is past in almost 20 sites. but seems like the main developer is not contributing to the project anymore other then that there are tons of issues open hardly someone fix it .
just and FYI my site will have over 3000+ .yaml files
I just heard that Payload CMS has joined Figma. What do you all think about that? (It will remain open-source)
I am interested to see where it will go/transform, I can't say if I'm pleased or dissapointed to hear that haha usually when cool projects join big companies it doesn't end well
This is interesting...
I was so scared when I heard Adobe wanted to acquire Figma last year
Still have AEM traumas 😳
Figma is the new Adobe... oops #off-topic
Did someone made a pool for what cms people use? would be nice to recap this thread
This is a volunteer site run by members of your friendly, neighbourhood Astro Support Patrol to provide an open, public support forum outside of the Astro Discord.
maybe, but there are 3 total votes 😅
let me create one here let's see if people vote
@naive pendant you should still add storyblok even if, for me, at this time, any rate, it's impossible to pick favorite... none I've tried has favored me
I wanted to add them all but there is a cap on the number of options
Feeling the same, I wish payload would integrate in a serverless environment and could be deployed as a single repo (no monorepo) to cloudflare and could handle repo assets, that would be neat
Keystatic is good but there are still missing features and it looks like they stopped the development
All the others have outrageous prices that if you exceed the free tier just by a little bit you end up pay hundreds a month, probably ok for big companies but not for people starting out
With Sanity looking popular for Astro projects, is it worth creating a thread for Sanity-specific community support? Sanity docs are lacking for Astro so maybe if we club together we can all advance. I’m not discord-literate so not sure of the best way to do that
Further to my previous post. I'm still testing it, but it looks like I've managed to completely "skip" the limits on Sanity.
I'm storing the images in plain memory-cache for now - see what I wrote earlier - which saves bandwidth.
Now I'm concentrating on other limits like API/API CDN Requests. To make it easier to use Live Content Collections, I made my own loader where I load data from Sanity and then store it in the Redis cache.
So far, the result is that the website does not consume any additional Sanity resources. But I will test further before deploying it to other sites.
Very cool, how do you invalidate the cache?
I’ve just done static sites with sanity and never had to worry about limits
Within Redis, I set up the key cache. Then I created an Endpoint API that calls Sanity through the webhook. I then use this webhook to invalidate the Redis cache by key.
As a result, fresh data is loaded after editing/creating data in Sanity without the need to rebuild project.
Very cool
Of course, it's not quite worked out in detail yet.
For example, I haven't yet tested how it will work if I have multiple documents in Sanity - how to differentiate redis keys within webhook. But hopefully it will work 😄
The worst case scenario is that all keys would be invalidated by a single webhook.
Guys I am building a CMS to use with astro it should work for any stack really
i haven't implemented pushing the the file to github yet if anyone want to offer some knowledge on this it would be nice
the idea is collaborative realtime cms using matrix then on the push of a button it commits the file to the Github repo then github actions will turn it into html or markdown files
I am currently using Sanity.io
You can checkout the source code of my blog app here: https://github.com/msabaq404/blog
What's your favourite CMS?
14
31
10
Others
Now we need the others answerers to tell us which they meant 😅
we need another poll for that 😆
payload is still nextjs only right, even after figma acquisition
I assume you can interact with the headless cms api bit from any framework but I’m not sure
They brand heavily toward next so there’s probably some sort of sdk like stuff that is next only
Payload runs on a nextjs server but it still behaves like a headless cms whether you’re using nextjs or not
Yeah you can connect use it with astro via their rest api. A couple of us in the payload server have been discussing and sharing tips, starter templates, etc.
people are sleeping on Directus, it's free and has a ton of features, easy to self-host
I saw a huge university using Directus for their lms
personally because my scale is very tiny i would choose something that dosen't require a server
i built a cms that uses webrtc to collaborate and uses github actions to generate markdown files
I have developed a CMS using astro. As of now it's pretty fast. I need some testers who can give me feedback on it.
Its mainly for writers(news/blog/brand blogs). Let me know if anyone's interested in testing my product.
do you have a website or a github repo?
And after? Figma CMS? Nah, Figma like Framer like Webflow... I'd expect Payload to be dead by now 😃
Manage all your websites, writers, and publishing workflows from one blazing-fast dashboard. Try WriterSuite free for 14 days. No credit card required.
Interested
i was thinking of trying sveltia-cms, anyone have experience with it?
Hi, I was trying the astro + sanity integration and on the sanity website I found this holy command:
npm create sanity@latest -- --template sanity-io/sanity-template-astro-clean
It was pure gold as it setup everything, and I was ready to go.
The bigger problem is that no dependency is updated. For example it runs astro v5, sanity is not updated and many other dependencies, and it's a pain to update them all manually because there are many and might break things. Anyone that uses Astro + Sanity consider this a problem for new projects? (things were working though)
@fast schooner I know you use Sanity. Right?
I've used a little bit of Sanity before, won't call myself an expert though
May be best to open a new #1019713903481081876 thread for issues with a certain CMS
Yeah, I asked in the sanity discord and they indeed told me those dependencies are outdated, and I had to arrange myself with what I could 
I just did pnpm up on the sanity repo within the surrounding mono repo and had success
@fast schooner yeah, it works which is great, but if you look at the dependencies they all are outdated. I was wondering if this is a problem or I could start building a blog anyway
By pnpm up I mean I updated all the sanity deps
But yeah in general safe to start building
@zealous marsh
I’m assuming you have two directories inside the mono repo one for astro one for sanity (studio)
Inside each of those directories there’s a package.json so you can update either of them
Yes . Can you tell me how you updated them with pnpm? I started using like npm vite@latest and such, adding @latest suffix to all the npm package 😅 to update them
“Pnpm up” inside the sanity directory or “npm update”
I am using Sanity, but I don't like these "templates" I prefer manual install 😄 I am using flag --latest for update dependencies, like pnpm update --latest
👋 Built a small CLI tool for Astro blogs — blogue
It reads your content/config.ts, uses your Zod schemas, and helps you generate posts with valid frontmatter + auto-PRs.
npm install -g @blogue/cli
blogue new # Create post
blogue publish # PR + auto-merge
Useful for my own blog, but curious if others would find it helpful — happy to get feedback or collaborate!
Feel free to also share it in #showcase!
to be fair, they also offer a hosted version with Directus Cloud if you don't want to self host.
I don't think payload was ever nextjs only, it can be deployed together with nextJS as a monorepo (i think) and it's interface might be powered by nextJS as well, but it's a headless CMS, so you can use it with whatever frontend you like.