To spin up this example locally, follow the Quick Start. Then Connect Stripe to enable payments, and Seed the database with a few products and pages.
Alternatively, you can use Docker to spin up this template locally. To do so, follow these steps:
- Follow steps 1 and 2 from above, the docker-compose file will automatically use the
.env
file in your project root - Next run
docker-compose up
- Follow steps 4 and 5 from above to login and create your first admin user
That's it! The Docker instance will help you get up and running quickly while also standardizing the development environment across your teams.
To seed the database with a few products and pages you can run yarn seed
. This template also comes with a GET /api/seed
endpoint you can use to seed the database from the admin panel.
NOTICE: seeding the database is destructive because it drops your current database to populate a fresh one from the seed template. Only run this command if you are starting a new project or can afford to lose your current data.
In a monorepo when routes are bootstrapped to the same host, they can conflict with Payload's own routes if they have the same name. In our template we've named the Nextjs API routes to
next
to avoid this conflict.This can happen with any other routes conflicting with Payload such as
admin
and we recommend using different names for custom routes. Alternatively you can also rename Payload's own routes via the configuration.
To run Payload in production, you need to build and serve the Admin panel. To do so, follow these steps:
- Invoke the
payload build
script by runningyarn build
ornpm run build
in your project root. This creates a./build
directory with a production-ready admin bundle. - Finally run
yarn serve
ornpm run serve
to run Node in production and serve Payload from the./build
directory. - When you're ready to go live, see Deployment for more details.
Before deploying your app, you need to:
- Switch your Stripe account to live mode and update your Stripe API keys. See Connect Stripe for more details.
- Ensure your app builds and serves in production. See Production for more details.
The easiest way to deploy your project is to use Payload Cloud, a one-click hosting solution to deploy production-ready instances of your Payload apps directly from your GitHub repo. You can also deploy your app manually, check out the deployment documentation for full details.