Zum Inhalt springen

Deployment

Setzkasten benötigt einen SSR-Adapter für die API-Routen. Alle gängigen Hosting-Plattformen werden unterstützt.

Vercel

Empfohlen
@astrojs/vercel

Netlify

@astrojs/netlify

Cloudflare Pages

@astrojs/cloudflare

Vercel (Empfohlen)

Vercel bietet die beste Developer Experience: automatische Previews, Edge-Caching und ein einfaches Dashboard für Env-Vars.

astro.config.mjs
# @astrojs/vercel installieren
npm install @astrojs/vercel

// astro.config.mjs
import vercel from '@astrojs/vercel'
import setzkasten from '@setzkasten-cms/astro'

export default defineConfig({
  output: 'server',
  adapter: vercel(),
  integrations: [
    setzkasten({
      adminPath: '/admin',
      storage: { owner: 'acme', repo: 'website' },
      github: {
        clientId: process.env.GITHUB_CLIENT_ID,
        clientSecret: process.env.GITHUB_CLIENT_SECRET,
      },
    }),
  ],
})

Netlify

astro.config.mjs
npm install @astrojs/netlify

// astro.config.mjs
import netlify from '@astrojs/netlify'
export default defineConfig({
  output: 'server',
  adapter: netlify(),
  // ...
})

Cloudflare Pages

Cloudflare Pages mit @astrojs/cloudflare Adapter. Hinweis: Node.js-APIs sind eingeschränkt — nutze die Cloudflare Workers Kompatibilitäts-Flags.

Umgebungsvariablen

Diese Variablen müssen in der Hosting-Plattform als Environment Variables (encrypted) konfiguriert werden:

.env (lokal) / Environment Variables (Hosting)
# GitHub OAuth (für Admin-Login)
GITHUB_CLIENT_ID=Ox...
GITHUB_CLIENT_SECRET=...

# GitHub Token (für Content-Commits, Server-seitig)
GITHUB_TOKEN=ghp_...

# Deploy-Hook-URL (optional, löst Neubuild nach Speichern aus)
DEPLOY_HOOK_URL=https://api.vercel.com/v1/integrations/deploy/...

Deploy-Hook: Automatisch nach Speichern deployen

Setzkasten löst nach jedem Content-Commit automatisch einen Neubuild aus. Dafür einen Deploy-Hook in deiner Hosting-Plattform anlegen (Vercel: Project Settings → Git → Deploy Hooks) und die URL in der Integration konfigurieren:

astro.config.mjs
// astro.config.mjs — Deploy Hook konfigurieren
setzkasten({
  // ...
  deployHook: {
    url: process.env.DEPLOY_HOOK_URL,
    secret: process.env.DEPLOY_HOOK_SECRET, // optional
  },
})
Tipp: Das GitHub-Actions-Template für Build-Trigger liegt unter templates/deploy-on-content.yml im Setzkasten-Repository. Einfach in dein Projekt kopieren und DEPLOY_HOOK_URL als Repository-Secret hinterlegen.