From e198e7ab18c7a50b08883cab63bd38ea86672596 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 19:33:39 +0000 Subject: [PATCH 01/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md new file mode 100644 index 000000000..c16099e95 --- /dev/null +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -0,0 +1,9 @@ +--- +title: Self-hosted TinaCMS powered by Vercel KV +date: '2023-06-30T04:00:00.000Z' +last_edited: '2023-06-30T04:00:00.000Z' +author: Kelly Davis +prev: content/blog/self-hosted-datalayer.md +--- + +TODO From 8a7b1d9fa4b81300c283233bc5d1a615f540a6e6 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 19:38:24 +0000 Subject: [PATCH 02/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index c16099e95..aa93facd2 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -6,4 +6,4 @@ author: Kelly Davis prev: content/blog/self-hosted-datalayer.md --- -TODO +Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the first iteration of Self-hosted Tina. From a2e4aa87649cdb26c98f31ce8cd5afdc0d27ca97 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 19:38:33 +0000 Subject: [PATCH 03/31] TinaCMS content update by Kelly Davis From 4f2494a9cdae3883ca6018962b3f99403915689f Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 19:51:07 +0000 Subject: [PATCH 04/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index aa93facd2..19392784a 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -1,9 +1,11 @@ --- -title: Self-hosted TinaCMS powered by Vercel KV +title: Self-hosted TinaCMS powered by Vercel KV & NextAuth date: '2023-06-30T04:00:00.000Z' last_edited: '2023-06-30T04:00:00.000Z' author: Kelly Davis prev: content/blog/self-hosted-datalayer.md --- -Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the first iteration of Self-hosted Tina. +Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the first iteration of Self-hosted Tina. The initial demo relied on Tina Cloud for authorization and used MongoDB for the data layer. Today we are excited to announce the next iteration of self-hosted Tina, leveraging Vercel's KV for the data layer and [NextAuth.js](NextAuth.js). + +Internally Tina uses LevelDB as an abstraction over the From b5c9eb49cd485e8a23d5728d7fd12d475572ff55 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 19:51:32 +0000 Subject: [PATCH 05/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index 19392784a..ba087ee74 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -6,6 +6,6 @@ author: Kelly Davis prev: content/blog/self-hosted-datalayer.md --- -Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the first iteration of Self-hosted Tina. The initial demo relied on Tina Cloud for authorization and used MongoDB for the data layer. Today we are excited to announce the next iteration of self-hosted Tina, leveraging Vercel's KV for the data layer and [NextAuth.js](NextAuth.js). +Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the first iteration of Self-hosted Tina. The initial demo relied on Tina Cloud for authorization and used MongoDB for the data layer. Today we are excited to announce the next iteration of self-hosted Tina, leveraging [Vercel KV](https://vercel.com/docs/storage/vercel-kv) for the data layer and [NextAuth.js](NextAuth.js). Internally Tina uses LevelDB as an abstraction over the From fc0a72eeb4a71c34d2a9c2d3f367aceeb31422e1 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 20:01:02 +0000 Subject: [PATCH 06/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index ba087ee74..32ff83992 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -6,6 +6,6 @@ author: Kelly Davis prev: content/blog/self-hosted-datalayer.md --- -Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the first iteration of Self-hosted Tina. The initial demo relied on Tina Cloud for authorization and used MongoDB for the data layer. Today we are excited to announce the next iteration of self-hosted Tina, leveraging [Vercel KV](https://vercel.com/docs/storage/vercel-kv) for the data layer and [NextAuth.js](NextAuth.js). +Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the first iteration of self-hosted TinaCMS. The initial demo relied on Tina Cloud for authorization and used MongoDB for the data layer. That was the first step in freeing TinaCMS users from vendor lock-in, but in the meantime we've been hard at work on improving self-hosted. Today we are excited to announce the next iteration of our self-hosted Tina demo, leveraging [Vercel KV](https://vercel.com/docs/storage/vercel-kv) for the data layer and [NextAuth.js](NextAuth.js). It is now possible for a developer to setup a fully functioning [Next.js](https://nextjs.org/) site running TinaCMS relying on just GitHub and Vercel provided services. Internally Tina uses LevelDB as an abstraction over the From 4aa9bb64a2aacd12154890549ae31f924718ed88 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 20:01:48 +0000 Subject: [PATCH 07/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index 32ff83992..f0a0331f0 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -6,6 +6,6 @@ author: Kelly Davis prev: content/blog/self-hosted-datalayer.md --- -Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the first iteration of self-hosted TinaCMS. The initial demo relied on Tina Cloud for authorization and used MongoDB for the data layer. That was the first step in freeing TinaCMS users from vendor lock-in, but in the meantime we've been hard at work on improving self-hosted. Today we are excited to announce the next iteration of our self-hosted Tina demo, leveraging [Vercel KV](https://vercel.com/docs/storage/vercel-kv) for the data layer and [NextAuth.js](NextAuth.js). It is now possible for a developer to setup a fully functioning [Next.js](https://nextjs.org/) site running TinaCMS relying on just GitHub and Vercel provided services. +Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the first iteration of self-hosted TinaCMS. The initial [demo](https://github.com/tinacms/tina-self-hosted-demo/tree/274c0d9ee004629ff0cef2539b56c88324abd8f8) relied on Tina Cloud for authorization and used MongoDB for the data layer. That was the first step in freeing TinaCMS users from vendor lock-in, but in the meantime we've been hard at work on improving self-hosted. Today we are excited to announce the next iteration of our self-hosted Tina demo, leveraging [Vercel KV](https://vercel.com/docs/storage/vercel-kv) for the data layer and [NextAuth.js](NextAuth.js). It is now possible for a developer to setup a fully functioning [Next.js](https://nextjs.org/) site running TinaCMS relying on just GitHub and Vercel provided services. Internally Tina uses LevelDB as an abstraction over the From fb203245893dd5b602bf61137138f4b3309f8bb1 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 20:08:30 +0000 Subject: [PATCH 08/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index f0a0331f0..6511eb968 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -6,6 +6,6 @@ author: Kelly Davis prev: content/blog/self-hosted-datalayer.md --- -Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the first iteration of self-hosted TinaCMS. The initial [demo](https://github.com/tinacms/tina-self-hosted-demo/tree/274c0d9ee004629ff0cef2539b56c88324abd8f8) relied on Tina Cloud for authorization and used MongoDB for the data layer. That was the first step in freeing TinaCMS users from vendor lock-in, but in the meantime we've been hard at work on improving self-hosted. Today we are excited to announce the next iteration of our self-hosted Tina demo, leveraging [Vercel KV](https://vercel.com/docs/storage/vercel-kv) for the data layer and [NextAuth.js](NextAuth.js). It is now possible for a developer to setup a fully functioning [Next.js](https://nextjs.org/) site running TinaCMS relying on just GitHub and Vercel provided services. +Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the first iteration of self-hosted TinaCMS. The initial [demo](https://github.com/tinacms/tina-self-hosted-demo/tree/274c0d9ee004629ff0cef2539b56c88324abd8f8) relied on Tina Cloud for auth and used MongoDB for the data layer. That was the first step in freeing TinaCMS users from vendor lock-in, but there were limitations, such as requiring a custom auth implementation when not using Tina Cloud and requiring MongoDB for the data layer. Since then, we've been hard at work on improving our self-hosted offering to make it easier to get started and less dependent on other vendor services (including our own). Today we are excited to announce the next iteration of our self-hosted Tina demo, leveraging [Vercel KV](https://vercel.com/docs/storage/vercel-kv) for the data layer and [NextAuth.js](NextAuth.js) for auth. It is now possible for a developer to setup a fully functioning [Next.js](https://nextjs.org/) site running TinaCMS relying on only GitHub for source control and Vercel for hosting, auth, and data management. Internally Tina uses LevelDB as an abstraction over the From 2d6e5a30a1f42d1b90d81be6383012a823a71585 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 20:18:22 +0000 Subject: [PATCH 09/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index 6511eb968..a9330818a 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -1,5 +1,5 @@ --- -title: Self-hosted TinaCMS powered by Vercel KV & NextAuth +title: 'Self-hosted TinaCMS, now powered by Vercel KV & NextAuth!' date: '2023-06-30T04:00:00.000Z' last_edited: '2023-06-30T04:00:00.000Z' author: Kelly Davis @@ -8,4 +8,10 @@ prev: content/blog/self-hosted-datalayer.md Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the first iteration of self-hosted TinaCMS. The initial [demo](https://github.com/tinacms/tina-self-hosted-demo/tree/274c0d9ee004629ff0cef2539b56c88324abd8f8) relied on Tina Cloud for auth and used MongoDB for the data layer. That was the first step in freeing TinaCMS users from vendor lock-in, but there were limitations, such as requiring a custom auth implementation when not using Tina Cloud and requiring MongoDB for the data layer. Since then, we've been hard at work on improving our self-hosted offering to make it easier to get started and less dependent on other vendor services (including our own). Today we are excited to announce the next iteration of our self-hosted Tina demo, leveraging [Vercel KV](https://vercel.com/docs/storage/vercel-kv) for the data layer and [NextAuth.js](NextAuth.js) for auth. It is now possible for a developer to setup a fully functioning [Next.js](https://nextjs.org/) site running TinaCMS relying on only GitHub for source control and Vercel for hosting, auth, and data management. +What is Vercel KV + +How is TinaCMS using Vercel KV for the data layer + +How is TinaCMS using NextAuth.js + Internally Tina uses LevelDB as an abstraction over the From b6e25acf30a7a7e78f965f961aff68b2cfc27eb2 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 20:23:07 +0000 Subject: [PATCH 10/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index a9330818a..0ec811a74 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -6,10 +6,14 @@ author: Kelly Davis prev: content/blog/self-hosted-datalayer.md --- -Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the first iteration of self-hosted TinaCMS. The initial [demo](https://github.com/tinacms/tina-self-hosted-demo/tree/274c0d9ee004629ff0cef2539b56c88324abd8f8) relied on Tina Cloud for auth and used MongoDB for the data layer. That was the first step in freeing TinaCMS users from vendor lock-in, but there were limitations, such as requiring a custom auth implementation when not using Tina Cloud and requiring MongoDB for the data layer. Since then, we've been hard at work on improving our self-hosted offering to make it easier to get started and less dependent on other vendor services (including our own). Today we are excited to announce the next iteration of our self-hosted Tina demo, leveraging [Vercel KV](https://vercel.com/docs/storage/vercel-kv) for the data layer and [NextAuth.js](NextAuth.js) for auth. It is now possible for a developer to setup a fully functioning [Next.js](https://nextjs.org/) site running TinaCMS relying on only GitHub for source control and Vercel for hosting, auth, and data management. +Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the first iteration of self-hosted TinaCMS. The initial [demo](https://github.com/tinacms/tina-self-hosted-demo/tree/274c0d9ee004629ff0cef2539b56c88324abd8f8) relied on Tina Cloud for auth and used MongoDB for the data layer. That was the first step in freeing TinaCMS users from vendor lock-in, but there were limitations, such as requiring a custom auth implementation when not using Tina Cloud and requiring MongoDB for the data layer. + +Since then, we've been hard at work on improving our self-hosted offering to make it easier to get started and less dependent on other vendor services (including our own). Today we are excited to announce the next iteration of our self-hosted Tina demo, leveraging [Vercel KV](https://vercel.com/docs/storage/vercel-kv) for the data layer and [NextAuth.js](NextAuth.js) for auth. It is now possible for a developer to setup a fully functioning [Next.js](https://nextjs.org/) site running TinaCMS relying on only GitHub for source control and Vercel for hosting, auth, and data management. What is Vercel KV +Vercel KV is a durable Redis database that enables you to store and retrieve JSON data and is available on both hobby (free) and paid plans. The service is provided in partnership with [Upstash](https://upstash.com/about) and does not require a separate account. Because of it's flexibility and performance, Vercel KV is a great fit for powering the TinaCMS data layer. + How is TinaCMS using Vercel KV for the data layer How is TinaCMS using NextAuth.js From 6cdb430c610123ff156e5994f39661fac0e304f3 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 20:35:14 +0000 Subject: [PATCH 11/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index 0ec811a74..09c77a758 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -10,11 +10,13 @@ Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the fi Since then, we've been hard at work on improving our self-hosted offering to make it easier to get started and less dependent on other vendor services (including our own). Today we are excited to announce the next iteration of our self-hosted Tina demo, leveraging [Vercel KV](https://vercel.com/docs/storage/vercel-kv) for the data layer and [NextAuth.js](NextAuth.js) for auth. It is now possible for a developer to setup a fully functioning [Next.js](https://nextjs.org/) site running TinaCMS relying on only GitHub for source control and Vercel for hosting, auth, and data management. -What is Vercel KV +## What is Vercel KV? -Vercel KV is a durable Redis database that enables you to store and retrieve JSON data and is available on both hobby (free) and paid plans. The service is provided in partnership with [Upstash](https://upstash.com/about) and does not require a separate account. Because of it's flexibility and performance, Vercel KV is a great fit for powering the TinaCMS data layer. +Vercel KV is a durable Redis database that enables you to store and retrieve JSON data and is available on both hobby (free) and paid plans. The service is provided in partnership with [Upstash](https://upstash.com/about) and does not require a separate account. Because of it's flexibility and performance, Vercel KV is a great fit for powering the self-hosted TinaCMS data layer. -How is TinaCMS using Vercel KV for the data layer +## How is TinaCMS using Vercel KV for the data layer? + +When you build your site with TinaCMS, the ultimate source of truth is your Markdown files. Features like search and filtering of content while editing, though, require a data layer on top of those Markdown files. TinaCMS has incorporated an open source library called [LevelDB](https://github.com/Level/abstract-level) to provide a further layer of abstraction between TinaCMS's data layer and the underlying database implementation (Redis). How is TinaCMS using NextAuth.js From 4865f725714ffc4c399ce213f56a4f89a0978af2 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 20:38:38 +0000 Subject: [PATCH 12/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index 09c77a758..31ff3ae0a 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -16,7 +16,7 @@ Vercel KV is a durable Redis database that enables you to store and retrieve JSO ## How is TinaCMS using Vercel KV for the data layer? -When you build your site with TinaCMS, the ultimate source of truth is your Markdown files. Features like search and filtering of content while editing, though, require a data layer on top of those Markdown files. TinaCMS has incorporated an open source library called [LevelDB](https://github.com/Level/abstract-level) to provide a further layer of abstraction between TinaCMS's data layer and the underlying database implementation (Redis). +When you build your site with TinaCMS, the ultimate source of truth is your Markdown files. Features like search and filtering of content while editing, though, require a data layer on top of those Markdown files. TinaCMS has incorporated an open source library called [LevelDB](https://github.com/Level/abstract-level) to provide a further layer of abstraction between TinaCMS's data layer and the underlying database implementation. Using LevelDB, virtually any database can be adapted for use with TinaCMS. To allow Vercel KV to work with TinaCMS, we have implemented a new Upstash Redis LevelDB [implementation](https://github.com/tinacms/upstash-redis-level). How is TinaCMS using NextAuth.js From 8837165581e4d63485259385d00ca0bd06486422 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 20:39:09 +0000 Subject: [PATCH 13/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index 31ff3ae0a..d8f1b4f40 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -16,7 +16,7 @@ Vercel KV is a durable Redis database that enables you to store and retrieve JSO ## How is TinaCMS using Vercel KV for the data layer? -When you build your site with TinaCMS, the ultimate source of truth is your Markdown files. Features like search and filtering of content while editing, though, require a data layer on top of those Markdown files. TinaCMS has incorporated an open source library called [LevelDB](https://github.com/Level/abstract-level) to provide a further layer of abstraction between TinaCMS's data layer and the underlying database implementation. Using LevelDB, virtually any database can be adapted for use with TinaCMS. To allow Vercel KV to work with TinaCMS, we have implemented a new Upstash Redis LevelDB [implementation](https://github.com/tinacms/upstash-redis-level). +When you build your site with TinaCMS, the ultimate source of truth is your Markdown files. Features like search and filtering of content while editing, though, require a data layer on top of those Markdown files. TinaCMS has incorporated an open source library called [LevelDB](https://github.com/Level/abstract-level) to provide a further layer of abstraction between TinaCMS's data layer and the underlying database implementation. Using LevelDB, virtually any database can be adapted for use with TinaCMS. To allow Vercel KV to work with TinaCMS, we have implemented a new Upstash Redis LevelDB [implementation](https://www.npmjs.com/package/upstash-redis-level). How is TinaCMS using NextAuth.js From f3168551aa88b95422b0a91014f235b2c7433efb Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Fri, 30 Jun 2023 20:45:33 +0000 Subject: [PATCH 14/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index d8f1b4f40..a259dfc87 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -14,10 +14,8 @@ Since then, we've been hard at work on improving our self-hosted offering to mak Vercel KV is a durable Redis database that enables you to store and retrieve JSON data and is available on both hobby (free) and paid plans. The service is provided in partnership with [Upstash](https://upstash.com/about) and does not require a separate account. Because of it's flexibility and performance, Vercel KV is a great fit for powering the self-hosted TinaCMS data layer. -## How is TinaCMS using Vercel KV for the data layer? +## Using Vercel KV in the TinaCMS data layer -When you build your site with TinaCMS, the ultimate source of truth is your Markdown files. Features like search and filtering of content while editing, though, require a data layer on top of those Markdown files. TinaCMS has incorporated an open source library called [LevelDB](https://github.com/Level/abstract-level) to provide a further layer of abstraction between TinaCMS's data layer and the underlying database implementation. Using LevelDB, virtually any database can be adapted for use with TinaCMS. To allow Vercel KV to work with TinaCMS, we have implemented a new Upstash Redis LevelDB [implementation](https://www.npmjs.com/package/upstash-redis-level). +When you build your site with TinaCMS, the ultimate source of truth is your Markdown files. Features like search and filtering of content while editing, though, require a data layer on top of those Markdown files. TinaCMS has incorporated an open source library called [LevelDB](https://github.com/Level/abstract-level) to provide a further layer of abstraction between TinaCMS's data layer and the underlying database implementation. By leveraging LevelDB in the data layer, virtually any database can be adapted for use with TinaCMS. To enable Vercel KV to work with TinaCMS, we have implemented a new Upstash Redis LevelDB [implementation](https://www.npmjs.com/package/upstash-redis-level). This provides all the data functionality needed by TinaCMS entirely within the Vercel ecosystem. How is TinaCMS using NextAuth.js - -Internally Tina uses LevelDB as an abstraction over the From a06c70dabcc5b66a655d301bc58a2dc29bfdc4a9 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Mon, 3 Jul 2023 22:51:36 +0000 Subject: [PATCH 15/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index a259dfc87..c8bb9f2a2 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -6,7 +6,7 @@ author: Kelly Davis prev: content/blog/self-hosted-datalayer.md --- -Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the first iteration of self-hosted TinaCMS. The initial [demo](https://github.com/tinacms/tina-self-hosted-demo/tree/274c0d9ee004629ff0cef2539b56c88324abd8f8) relied on Tina Cloud for auth and used MongoDB for the data layer. That was the first step in freeing TinaCMS users from vendor lock-in, but there were limitations, such as requiring a custom auth implementation when not using Tina Cloud and requiring MongoDB for the data layer. +Earlier this year, we [released](/blog/self-hosted-datalayer/ "released") the first iteration of self-hosted TinaCMS. The initial [demo](https://github.com/tinacms/tina-self-hosted-demo/tree/274c0d9ee004629ff0cef2539b56c88324abd8f8) relied on Tina Cloud for auth and used MongoDB for the data layer. That was the first step in freeing TinaCMS users from vendor lock-in, but there were limitations, such as requiring a custom auth implementation when not using Tina Cloud and requiring MongoDB for the data layer. Since then, we've been hard at work on improving our self-hosted offering to make it easier to get started and less dependent on other vendor services (including our own). Today we are excited to announce the next iteration of our self-hosted Tina demo, leveraging [Vercel KV](https://vercel.com/docs/storage/vercel-kv) for the data layer and [NextAuth.js](NextAuth.js) for auth. It is now possible for a developer to setup a fully functioning [Next.js](https://nextjs.org/) site running TinaCMS relying on only GitHub for source control and Vercel for hosting, auth, and data management. @@ -18,4 +18,6 @@ Vercel KV is a durable Redis database that enables you to store and retrieve JSO When you build your site with TinaCMS, the ultimate source of truth is your Markdown files. Features like search and filtering of content while editing, though, require a data layer on top of those Markdown files. TinaCMS has incorporated an open source library called [LevelDB](https://github.com/Level/abstract-level) to provide a further layer of abstraction between TinaCMS's data layer and the underlying database implementation. By leveraging LevelDB in the data layer, virtually any database can be adapted for use with TinaCMS. To enable Vercel KV to work with TinaCMS, we have implemented a new Upstash Redis LevelDB [implementation](https://www.npmjs.com/package/upstash-redis-level). This provides all the data functionality needed by TinaCMS entirely within the Vercel ecosystem. -How is TinaCMS using NextAuth.js +## Using NextAuth in TinaCMS + +Tina Cloud provides organization and project-level user & role management, but we recognize that every project has its own specific authentication and authorization requirements. TinaCMS already provides built-in support for custom auth solutions that can be adapted for a wide variety of situations. The latest iteration of self-hosted TinaCMS takes this a step further by integrating with [NextAuth.js](https://next-auth.js.org/). By leveraging NextAuth.js, any of the available auth providers offered by the framework (such as google, facebook, github) can easily be integrated with TinaCMS. It also allows fully customizable login screens, allowing your sites to be fully branded. The latest iteration of the self-hosted demo also provides a basic Credentials provider that leverages the Vercel KV store to immediately enable auth without additional configuration. From 530c5aac31005343c2606888fbb1558c92ec2448 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Mon, 3 Jul 2023 22:52:53 +0000 Subject: [PATCH 16/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index c8bb9f2a2..828ba6531 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -18,6 +18,6 @@ Vercel KV is a durable Redis database that enables you to store and retrieve JSO When you build your site with TinaCMS, the ultimate source of truth is your Markdown files. Features like search and filtering of content while editing, though, require a data layer on top of those Markdown files. TinaCMS has incorporated an open source library called [LevelDB](https://github.com/Level/abstract-level) to provide a further layer of abstraction between TinaCMS's data layer and the underlying database implementation. By leveraging LevelDB in the data layer, virtually any database can be adapted for use with TinaCMS. To enable Vercel KV to work with TinaCMS, we have implemented a new Upstash Redis LevelDB [implementation](https://www.npmjs.com/package/upstash-redis-level). This provides all the data functionality needed by TinaCMS entirely within the Vercel ecosystem. -## Using NextAuth in TinaCMS +## Using NextAuth.js in TinaCMS -Tina Cloud provides organization and project-level user & role management, but we recognize that every project has its own specific authentication and authorization requirements. TinaCMS already provides built-in support for custom auth solutions that can be adapted for a wide variety of situations. The latest iteration of self-hosted TinaCMS takes this a step further by integrating with [NextAuth.js](https://next-auth.js.org/). By leveraging NextAuth.js, any of the available auth providers offered by the framework (such as google, facebook, github) can easily be integrated with TinaCMS. It also allows fully customizable login screens, allowing your sites to be fully branded. The latest iteration of the self-hosted demo also provides a basic Credentials provider that leverages the Vercel KV store to immediately enable auth without additional configuration. +Tina Cloud provides organization and project-level user & role management, but we recognize that every project has its own specific authentication and authorization requirements. TinaCMS already provides built-in support for custom auth solutions that can be adapted for a wide variety of situations. The latest iteration of self-hosted TinaCMS takes this a step further by integrating with [NextAuth.js](https://next-auth.js.org/). By leveraging NextAuth.js, any of the available auth providers [offered by the framework](https://next-auth.js.org/providers/) (e.g Github, Twitter, Google, etc...) can easily be integrated with TinaCMS. It also allows fully customizable login screens, allowing your sites to be fully branded. The latest iteration of the self-hosted demo also provides a basic Credentials provider that leverages the Vercel KV store to immediately enable auth without additional configuration. From dadec38334ff0fcf689cc7920d172a025a2c6967 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Mon, 3 Jul 2023 22:53:44 +0000 Subject: [PATCH 17/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index 828ba6531..ff3c46f68 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -20,4 +20,4 @@ When you build your site with TinaCMS, the ultimate source of truth is your Mark ## Using NextAuth.js in TinaCMS -Tina Cloud provides organization and project-level user & role management, but we recognize that every project has its own specific authentication and authorization requirements. TinaCMS already provides built-in support for custom auth solutions that can be adapted for a wide variety of situations. The latest iteration of self-hosted TinaCMS takes this a step further by integrating with [NextAuth.js](https://next-auth.js.org/). By leveraging NextAuth.js, any of the available auth providers [offered by the framework](https://next-auth.js.org/providers/) (e.g Github, Twitter, Google, etc...) can easily be integrated with TinaCMS. It also allows fully customizable login screens, allowing your sites to be fully branded. The latest iteration of the self-hosted demo also provides a basic Credentials provider that leverages the Vercel KV store to immediately enable auth without additional configuration. +Tina Cloud provides organization and project-level user & role management, but we recognize that every project has its own specific authentication and authorization requirements. TinaCMS already provides built-in support for custom auth solutions that can be adapted for a wide variety of situations. The latest iteration of self-hosted TinaCMS takes this a step further by integrating with [NextAuth.js](https://next-auth.js.org/). By leveraging NextAuth.js, any of the available auth providers [offered by the framework](https://next-auth.js.org/providers/) (e.g Github, Twitter, Google, etc...) can easily be integrated with TinaCMS. It also allows fully customizable login screens, allowing your site to be fully branded. Lastly, the latest iteration of the self-hosted demo provides a basic Credentials provider that leverages the Vercel KV store to immediately enable auth without additional configuration. From 3836b7eb7a98fd964c65a42267642e7b2bcd0a26 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Mon, 3 Jul 2023 22:59:07 +0000 Subject: [PATCH 18/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index ff3c46f68..16dd0d904 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -21,3 +21,7 @@ When you build your site with TinaCMS, the ultimate source of truth is your Mark ## Using NextAuth.js in TinaCMS Tina Cloud provides organization and project-level user & role management, but we recognize that every project has its own specific authentication and authorization requirements. TinaCMS already provides built-in support for custom auth solutions that can be adapted for a wide variety of situations. The latest iteration of self-hosted TinaCMS takes this a step further by integrating with [NextAuth.js](https://next-auth.js.org/). By leveraging NextAuth.js, any of the available auth providers [offered by the framework](https://next-auth.js.org/providers/) (e.g Github, Twitter, Google, etc...) can easily be integrated with TinaCMS. It also allows fully customizable login screens, allowing your site to be fully branded. Lastly, the latest iteration of the self-hosted demo provides a basic Credentials provider that leverages the Vercel KV store to immediately enable auth without additional configuration. + +## Future Plans + +Repo-based media is not currently available for self-hosted TinaCMS. We currently recommend one of our other media manager solutions when self-hosting, such as Cloudinary, AWS S3 or Digital Oceans. This is something that we are exploring and hope to make available. Additionally our new search capability currently requires Tina Cloud but is something we expect to add soon to self-hosting. From 0b5497f9f0742cdb0ef4fda1b1eee7f63d78d5b7 Mon Sep 17 00:00:00 2001 From: "tina-cloud-app[bot]" <58178390+tina-cloud-app[bot]@users.noreply.github.com> Date: Mon, 3 Jul 2023 23:08:02 +0000 Subject: [PATCH 19/31] TinaCMS content update by Kelly Davis --- content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md index 16dd0d904..312ec2f1c 100644 --- a/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md +++ b/content/blog/Self-hosted-TinaCMS-powered-by-Vercel-KV.md @@ -14,6 +14,8 @@ Since then, we've been hard at work on improving our self-hosted offering to mak Vercel KV is a durable Redis database that enables you to store and retrieve JSON data and is available on both hobby (free) and paid plans. The service is provided in partnership with [Upstash](https://upstash.com/about) and does not require a separate account. Because of it's flexibility and performance, Vercel KV is a great fit for powering the self-hosted TinaCMS data layer. +