Migrate from Netlify

Netlify's strength is static sites — Temps handles those the same way and adds full-stack app support alongside them. This guide covers converting your build config, redirects, and functions.


Build Settings

Netlify reads build config from netlify.toml. Temps auto-detects most frameworks, but you can override settings via the console or a temps.json file.

netlify.toml → Temps equivalents

netlify.toml fieldTemps equivalent
[build] commandBuild command in Project Settings
[build] publishOutput directory in Project Settings
[build] environmentEnvironment Variables in Project Settings
[[redirects]]_redirects file or Next.js rewrites
[[headers]]Framework-level headers or nginx config
[functions]Standard API routes (Node.js, Python, etc.)

A typical netlify.toml for a static site:

[build]
  command = "npm run build"
  publish = "dist"

[[redirects]]
  from = "/*"
  to = "/index.html"
  status = 200

The equivalent Temps setup: set Build command to npm run build and Output directory to dist. Temps serves static files automatically; the SPA fallback redirect is handled by default for single-page apps.


Redirects

If you use a _redirects file (Netlify's format), it works as-is for static sites deployed on Temps — no changes needed.

For framework-based apps (Next.js, Nuxt, etc.), keep redirects in your framework's config:

// next.config.ts
const nextConfig = {
  async redirects() {
    return [
      { source: "/old-path", destination: "/new-path", permanent: true },
    ];
  },
};

Netlify Functions → API Routes

Netlify Functions are Lambda-style serverless functions. On Temps, use standard framework API routes instead — they run as long-lived processes rather than cold-starting per invocation.

A Netlify Function:

// netlify/functions/hello.js
exports.handler = async (event) => {
  return { statusCode: 200, body: JSON.stringify({ message: "Hello" }) };
};

The equivalent Next.js API route:

// app/api/hello/route.ts
export async function GET() {
  return Response.json({ message: "Hello" });
}

For non-Next.js projects, add an Express or Fastify server and Temps will run it as a container.


Forms

Netlify Forms captures form submissions without a backend. Temps doesn't include a managed forms service — use one of these instead:

  • Formspree or Formspark — drop-in replacements, same embed pattern
  • A Temps API route — store submissions in your own database
  • Resend — send form data directly as email via API

Environment Variables

Export from Netlify → Site Settings → Environment Variables, then add them in Temps → Project → Settings → Environment Variables.

Netlify's context-specific variables (CONTEXT=production) don't have a direct equivalent — use Temps's per-environment variables instead (Production, Preview, Development each have separate scopes).


Deploy to Temps

# Install Temps on your server if not already done
curl -fsSL https://temps.sh/deploy.sh | bash

Then:

  1. Go to Projects → New Project in the Temps console
  2. Connect your Git repository
  3. Set build command and output directory if not auto-detected
  4. Add your environment variables
  5. Click Deploy

Cut Over DNS

  1. Go to Project → Settings → Domains → Add Domain
  2. Add the DNS records shown (A or CNAME)
  3. Temps provisions TLS automatically

Keep your Netlify site active for 48 hours post-migration as a fallback.


Next Steps

Was this page helpful?