diff --git a/public/logos/seenode.svg b/public/logos/seenode.svg new file mode 100644 index 0000000000000..080744bc38f0a --- /dev/null +++ b/public/logos/seenode.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/components/DeployGuidesNav.astro b/src/components/DeployGuidesNav.astro index d2c46540d0302..1420c1b533cff 100644 --- a/src/components/DeployGuidesNav.astro +++ b/src/components/DeployGuidesNav.astro @@ -45,6 +45,7 @@ const services: Service[] = [ { title: 'Zeabur', slug: 'zeabur', supports: ['ssr', 'static'] }, { title: 'Zerops', slug: 'zerops', supports: ['ssr', 'static'] }, { title: 'CloudRay', slug: 'cloudray', supports: ['static'] }, + { title: 'Seenode', slug: 'seenode', supports: ['ssr'] }, ]; --- diff --git a/src/content/docs/en/guides/deploy/seenode.mdx b/src/content/docs/en/guides/deploy/seenode.mdx new file mode 100644 index 0000000000000..3b49ceeff7d9d --- /dev/null +++ b/src/content/docs/en/guides/deploy/seenode.mdx @@ -0,0 +1,103 @@ +--- +title: Deploy your Astro Site to Seenode +description: How to deploy your Astro site to the web on Seenode. +sidebar: + label: Seenode +type: deploy +i18nReady: true +--- +import { Steps } from '@astrojs/starlight/components'; +import PackageManagerTabs from '~/components/tabs/PackageManagerTabs.astro'; +import ReadMore from '~/components/ReadMore.astro'; + +[Seenode](https://seenode.com) is a deployment platform for building and deploying web applications with databases, built-in observability, and auto-scaling. Astro sites can be deployed to Seenode using server-side rendering (SSR). + +This guide includes instructions for deploying to Seenode through the web interface. + +## Project Configuration + +### Adapter for SSR + +To enable on-demand rendering in your Astro project and deploy to Seenode, add [the Node.js adapter](/en/guides/integrations-guide/node/) with the following `astro add` command. This will install the adapter and make the appropriate changes to your `astro.config.mjs` file in one step. + + + + ```shell + npx astro add node + ``` + + + ```shell + pnpm astro add node + ``` + + + ```shell + yarn astro add node + ``` + + + +After installing the adapter, update your `astro.config.mjs` to configure the server for Seenode's requirements: + +```js title="astro.config.mjs" ins={6-11} +import { defineConfig } from 'astro/config'; +import node from '@astrojs/node'; + +export default defineConfig({ + output: 'server', + adapter: node({ + mode: 'standalone' + }), + server: { + port: process.env.NODE_ENV === 'production' ? (Number(process.env.PORT) || 80) : 4321, + host: true + } +}); +``` + +Update your `package.json` to include a start script that runs the built server: + +```json title="package.json" ins={6} +{ + "scripts": { + "dev": "astro dev", + "build": "astro build", + "preview": "astro preview", + "start": "NODE_ENV=production node ./dist/server/entry.mjs" + } +} +``` + +See [Seenode's Astro deployment guide](https://seenode.com/docs/frameworks/javascript/astro/) for more configuration options and troubleshooting. + +## How to Deploy + +You can deploy to Seenode through the web interface by connecting your Git repository. + +### Web Interface Deployment + + +1. Create a [Seenode account](https://cloud.seenode.com) and sign in. + +2. Push your code to your Git repository (GitHub or GitLab). + +3. From the [Seenode Dashboard](https://cloud.seenode.com/dashboard/applications/web/create), create a new **Web Service** and connect your repository. + +4. Seenode will automatically detect your Astro project. Configure the deployment settings: + + - **Build Command:** `npm ci && npm run build` (or use `pnpm` / `yarn` equivalents) + - **Start Command:** `npm start` + - **Port:** `80` (required for web services) + +5. Select your preferred instance size and click **Create Web Service**. + +6. Your application will be built and deployed. Once complete, you'll receive a URL to access your live Astro site after which you can link your domain. + + +## Official Resources + +- [Seenode Cloud](https://cloud.seenode.com) — Seenode dashboard +- [Seenode Documentation](https://seenode.com/docs) — complete platform documentation +- [Seenode Astro Guide](https://seenode.com/docs/frameworks/javascript/astro/) — detailed deployment guide and troubleshooting +- [Seenode Astro Template](https://github.com/seenode/example-astro) — pre-configured starter template \ No newline at end of file diff --git a/src/data/logos.ts b/src/data/logos.ts index b274176a21ca3..173e480519151 100644 --- a/src/data/logos.ts +++ b/src/data/logos.ts @@ -108,6 +108,7 @@ export const logos = LogoCheck({ neon: { file: 'neon.svg', padding: '.2em' }, studiocms: { file: 'studiocms.svg', padding: '.25em' }, optimizely: { file: 'optimizely.svg', padding: '.2em' }, + seenode: { file: 'seenode.svg', padding: '.2em' }, }); export type LogoKey = keyof typeof logos;