Skip to content

Install Riposte from scratch

Beginner ⏱ 2 minutes

Install the package, choose embedded or standalone mode, and you're ready to sync emails.

Use the wizard to get started

Visit the setup wizard to get a customized guide based on your environment. If you don't feel up to that yet, just follow the steps below.

Step 1: Install and run

Add Riposte to your project and get it running in one command:

npm install @riposte.co/server

Embedded mode (recommended): Mount the toolkit inside your app server:

import Fastify from 'fastify'
import { createRiposteServer } from '@riposte.co/server'

const app = Fastify()

async function start() {
  const riposte = await createRiposteServer({
    hostServer: app, // Simply omit this to run on its own port
    initializeWorkspace: true,
  })

  await riposte.start()
  await app.listen({ port: 4000, host: '0.0.0.0' })
  console.log('Riposte ready at http://localhost:4000/riposte')
}

start().catch((error) => {
  console.error('Riposte failed to start', error)
  process.exit(1)
})

Standalone mode: Runs as its own process:

npx riposte-init
cd riposte
# update riposte/.env
npx riposte-run

That's it! Riposte automatically creates everything you need.

Which mode should I choose?

Embedded: If you have an existing API (Express, Fastify, Next.js). Standalone: If you want Riposte completely separate. You can switch anytime.

Step 2: Open the admin portal

Run your code and Riposte will:

  • Create a riposte/ folder with configuration
  • Generate secure API keys and admin credentials
  • Print the admin portal URL to your console

Open the admin portal and you'll see a simple dashboard that automatically detects your deployment mode and shows you exactly what to do next.

That's it! You're ready to start syncing emails. The admin portal guides you through connecting your first account.

No setup required

Riposte works out of the box with SQLite and in-memory queues. Add PostgreSQL and Redis later for production.