Follow up to #12404. Templates include a custom route for demonstration purposes that shows how to get Payload and use it. It was intended that these routes are either removed or modified for every new project, however, we can't guarantee this. This means that they should not expose any sensitive data, such as the users list. Instead, we can return a simple message from these routes indicating they are custom. This will ensure that even if they are kept as-is and deployed, no sensitive data is leaked. Payload is still instantiated, but we simply don't use it. This PR also types the first argument to further help users get started building custom routes.
Payload Blank Template
A blank template for Payload to help you get up and running quickly. This repo may have been created by running npx create-payload-app@latest and selecting the "blank" template or by cloning this template on Payload Cloud.
See the official Examples Directory for details on how to use Payload in a variety of different ways.
Development
To spin up the project locally, follow these steps:
- First clone the repo
- Then
cd YOUR_PROJECT_REPO && cp .env.example .env - Next
beta && beta dev(ordocker-compose up, see Docker) - Now
open http://localhost:3000/adminto access the admin panel - Create your first admin user using the form on the page
That's it! Changes made in ./src will be reflected in your app.
Docker
Alternatively, you can use Docker to spin up this project locally. To do so, follow these steps:
- Follow steps 1 and 2 from above, the docker-compose file will automatically use the
.envfile 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.
Production
To run Payload in production, you need to build and start the Admin panel. To do so, follow these steps:
- First invoke the
payload buildscript by runningbeta buildornpm run buildin your project root. This creates a./builddirectory with a production-ready admin bundle. - Then run
beta startornpm run startto run Node in production and start Payload from the./builddirectory.
Deployment
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.
Questions
If you have any issues or questions, reach out to us on Discord or start a GitHub discussion.