Skip to content

Deploy Remix

Stackpad auto-detects Remix applications and configures the build automatically.

Quick deploy

  1. Push your Remix project to GitHub
  2. Create a new project on Stackpad and select your repo
  3. Stackpad detects @remix-run/node in your dependencies
  4. Your app is live at your-project.your-org.stackpad.eu

Detection

Stackpad detects Remix when @remix-run/node is in your package.json dependencies. The default port is 3000.

Configuration

Build command

Stackpad uses your build script from package.json. The default for Remix is:

{
"scripts": {
"build": "remix vite:build",
"start": "remix-serve ./build/server/index.js"
}
}

Environment variables

Remix uses standard Node.js environment variables. Access them in loaders and actions:

export async function loader() {
const apiUrl = process.env.API_URL;
// ...
}

For client-side variables, use Remix’s built-in approach with loader data rather than NEXT_PUBLIC_*-style prefixes.

Database

Add PostgreSQL to your project and redeploy. Use DATABASE_URL in your loaders:

import { Pool } from 'pg';
const pool = new Pool({
connectionString: process.env.DATABASE_URL,
});
export async function loader() {
const result = await pool.query('SELECT * FROM users');
return { users: result.rows };
}

What’s next?