CMS is a Saleor app that allows one-direction synchronization of Saleor products into supported CMS platforms.
- node v22
- pnpm
- ngrok
- Saleor Cloud account (free!) or local instance
- An account with one of the CMS providers listed above
Important
You can use the devcontainer Dockerfile and docker-compose.yaml directly - but remember to run pnpm install manually
The easiest way to run Saleor for local development is to use development containers. If you have Visual Studio Code, follow their guide on how to open an existing folder in a container.
The development container only creates a container; you still need to start the server.
The development container will have a port opened:
3000- where the app dev server will listen for requests
- Install the dependencies by running the following command in the shell:
pnpm install-
Create a file named
.envand use the contents of the.env.examplefile as a reference. -
Start the development server by running the following command in the shell:
pnpm dev-
CMS app will be available under
http://localhost:3000 -
Tunnel the app by running:
ngrok http localhost:3000Note
See How to tunnel an app for more info.
- Go to Dashboard, open
Appstab and clickInstall external app, provide your tunnel URL with the path for the manifest file. For example${YOUR_TUNNEL_URL}/api/manifest
Here you can find doc how configure the app
Commands build and dev would generate schema and typed functions using Saleor's GraphQL endpoint. Commit generated folder to your repo as they are necessary for queries and keeping track of the schema changes.
Learn more about GraphQL code generation.
During the registration process, Saleor API passes the auth token to the app. With this token, the App can query Saleor API with privileged access (depending on permissions requested during installation). To store this data, app-template uses a different APL interface.
The choice of the APL is done using APL environment variable. If the value is not set, FileAPL is used. Available choices:
file: no additional setup is required. Good choice for local development. Can't be used for multi tenant-apps or be deployed (not intended for production)upstash: use Upstash Redis as storage method. Free account required. Can be used for development and production and supports multi-tenancy. RequiresUPSTASH_URLandUPSTASH_TOKENenvironment variables to be set
If you want to use your own database, you can implement your own APL. Check the documentation to read more.
Visit @saleor/apps-otel README to learn how to run app with OTEL locally
