Documentation Index
Fetch the complete documentation index at: https://upstash.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
GitHub Repository
You can find the project source code on GitHub.
Prerequisites
You need to have AWS credentials configured locally and SST CLI installed.
- Create an AWS account
- Create an IAM user
- Configure the AWS CLI
- Setup SST CLI
Project Setup
Let’s create a new Next.js application.
npx create-next-app@latest
cd my-app
Let’s initialize SST in our app.
Install the @upstash/redis package.
npm install @upstash/redis
Database Setup
Create a Redis database using Upstash Console or Upstash CLI and copy the UPSTASH_REDIS_REST_URL and UPSTASH_REDIS_REST_TOKEN into your .env file.
UPSTASH_REDIS_REST_URL=<YOUR_URL>
UPSTASH_REDIS_REST_TOKEN=<YOUR_TOKEN>
Pass the Environment Variables
/// <reference path="./.sst/platform/config.d.ts" />
export default $config({
app(input) {
return {
name: "my-app",
removal: input?.stage === "production" ? "retain" : "remove",
home: "aws",
};
},
async run() {
new sst.aws.Nextjs("MyWeb", {
environment: {
UPSTASH_REDIS_REST_URL: process.env.UPSTASH_REDIS_REST_URL || "",
UPSTASH_REDIS_REST_TOKEN: process.env.UPSTASH_REDIS_REST_TOKEN || "",
},
});
},
});
Home Page Setup
Update /app/page.tsx:
import { Redis } from "@upstash/redis";
const redis = Redis.fromEnv();
export default async function Home() {
const count = await redis.incr("counter");
return (
<div className="flex h-screen w-screen items-center justify-center">
<h1 className="text-4xl font-bold">Counter: {count}</h1>
</div>
)
}
Run
Run the SST app.
Check http://localhost:3000/
Deploy
Deploy with SST.
Check the output URL.