Payload CMS is fully open source and can be used both as an app framework and a headless CMS. This recipe showcases how to set up and run Payload on Zerops properly. It was created using the create-payload-app CLI, based on Payload version v3.0.1 and its website template.
You can either click the deploy button to deploy directly on Zerops, or manually copy the import yaml to the import dialog in the Zerops app.
- Zerops PostgreSQL 16.2 service as database
- Zerops Object Storage (S3 compatible) service as file system using a private bucket
- Logs set up to use syslog and accessible through Zerops GUI
- Utilization of Zerops built-in environment variables system
- Mailpit as SMTP mock server
- Wait till the moment the recipe's services are installed and initialized.
- Open the auto-generated subdomain URL available for the
api
service. - Visit the admin dashboard through the offered link on the shown page.
- Register the first administration user and log in to the admin client.
- Click the Seed your database link to fill out some content.
- Using the admin dashboard, you can publish your custom content.
- Open the auto-generated subdomain URL available for the
mailpit
service. - The
mailpit
SMTP mock server will receive any email sent by the Payload API.
The difference may come down to:
- Use the highly available version of the PostgreSQL database (change
mode
fromNON_HA
toHA
in recipe YAML,db
service section) in which case Patroni cluster is created. - Think about some caching mechanism (such as Zerops KeyDB or Valkey service, CDN) instead of the database HA mode because of the static character of the Payload pages.
- Try running Payload CMS on multiple runtime containers in high availability (change
maxContainers
from1
to2
or more in recipe YAML,api
service section). - Use a production-ready third-party SMTP server instead of Mailpit.
Need help setting your project up? Join Zerops Discord community.