Issue with embedding Sanity Studio into an Astro site, resolved with help from the community.
18 replies
Last updated: Nov 23, 2023
S
Hi there,I’m trying to embed the sanity studio into my new astro site.
I’ve followed along with this
documentation , but keep getting a 404 error.
I have the studio installed in a ‘admin’ folder in the root folder of my astro project.
Is there an issue with my astro config?
I’ve followed along with this
documentation , but keep getting a 404 error.
I have the studio installed in a ‘admin’ folder in the root folder of my astro project.
Is there an issue with my astro config?
import { defineConfig } from 'astro/config'; import tailwind from '@astrojs/tailwind'; import svelte from '@astrojs/svelte'; import sanity from 'astro-sanity'; import react from '@astrojs/react'; import netlify from "@astrojs/netlify/functions"; // <https://astro.build/config> export default defineConfig({ output: 'hybrid', integrations: [tailwind(), svelte(), sanity({ projectId: '<actualProjectID>', dataset: 'production', useCdn: false, studioBasePath: '/admin' }), react()], adapter: netlify() });
Sep 11, 2023, 4:51 PM
Looks right to me. Did you also add the
sanity.config.tsfile? Do you have the code on GitHub by any chance?
Sep 11, 2023, 4:53 PM
S
Yes, it’s sitting under /admin
import {defineConfig} from 'sanity' import {deskTool} from 'sanity/desk' import {visionTool} from '@sanity/vision' import {schemaTypes} from './schemas' export default defineConfig({ name: '<actualProjectName>', title: '<actualProjectTitle>', projectId: '<actualProjectID>', dataset: 'production', plugins: [deskTool(), visionTool()], schema: { types: schemaTypes, }, })
Sep 11, 2023, 4:54 PM
S
No repo currently, but I can get one up if need be.
Sep 11, 2023, 4:54 PM
S
I should be able to run the studio at /admin while in dev as well right?
Or is the embed just for production when I have the site up on Netlify?
Or is the embed just for production when I have the site up on Netlify?
Sep 11, 2023, 4:59 PM
Ah – try to remove the
adminfolder and put the
sanity.config.tsfile in root (alongside
astro.config.mjs)
Sep 11, 2023, 5:04 PM
S
Hmm, moved the file to the root (alongside
Where should I be storing the studio specific files then?
astro.config.mjs) and installed the file’s dependencies in the root as well.
Where should I be storing the studio specific files then?
Sep 11, 2023, 5:15 PM
Here’s an example https://github.com/sanity-io/sanity-template-astro-clean
Sep 11, 2023, 5:26 PM
S
Thank you for linking this.It’s a completely fresh project, so I just started over with this template and all is working now.
Sep 11, 2023, 5:39 PM
S
Thanks for your help!
Sep 11, 2023, 5:40 PM
S
So I'm having similar issues with deployment now.The studio just 404s in production, even though I have enabled CORs for the origin.
My astro config:
My astro config:
import { defineConfig } from 'astro/config'; // Loading environment variables from .env files // <https://docs.astro.build/en/guides/configuring-astro/#environment-variables> import { loadEnv } from 'vite'; const { PUBLIC_SANITY_STUDIO_PROJECT_ID, PUBLIC_SANITY_STUDIO_DATASET } = loadEnv(import.meta.env.MODE, process.cwd(), ''); import sanity from '@sanity/astro'; import react from '@astrojs/react'; import netlify from '@astrojs/netlify/functions'; import tailwind from '@astrojs/tailwind'; // <https://astro.build/config> export default defineConfig({ output: 'hybrid', adapter: netlify(), integrations: [ sanity({ projectId: PUBLIC_SANITY_STUDIO_PROJECT_ID, dataset: PUBLIC_SANITY_STUDIO_DATASET, studioBasePath: '/admin', useCdn: false, // `false` if you want to ensure fresh data apiVersion: '2023-03-20', }), react(), tailwind(), ], });
Sep 18, 2023, 4:42 PM
If it only happens in production, are you sure that your build has access to your environment variables?
Sep 19, 2023, 9:11 PM
S
The site itself is working, just not the studio.
The only variables I've configured are the project ID and dataset.
The only variables I've configured are the project ID and dataset.
Sep 19, 2023, 9:13 PM
G
Hello! I just encountered the problem.
I found something interesting that might help you
It should work if you go to yoururl/admin/desk.
I noticed in the dist/_redirects file that redirection for admin path was "/admin/*"
I found something interesting that might help you
user N
, it worked for me.It should work if you go to yoururl/admin/desk.
I noticed in the dist/_redirects file that redirection for admin path was "/admin/*"
Nov 23, 2023, 2:35 PM
S
Let’s use greetings like “Hey Everyone,” “Hi, Y’all," or “Hello, Folks” to make sure everyone in the community is included. Please read the Sanity Community Code of Conduct to stay updated on expected communication & behavior in our spaces: https://www.sanity.io/docs/community-code-of-conduct
Nov 23, 2023, 2:35 PM
Sanity– build remarkable experiences at scale
Sanity is a modern headless CMS that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.