Overview
Keystone Preview Environment is keystone - a headless CMS and GraphQL backend for developers who want to define content models in code. This is a preview and staging profile of Keystone, meant as a disposable environment for testing changes and reviewing builds before they are promoted to production. Through DockerCP you can launch it on your own server with persistent volumes, a mapped domain, and automatic SSL.
How deployment works in DockerCP
This template gives DockerCP the deployment metadata needed to create a service, prepare runtime variables, map persistent storage, expose the internal port, and connect a public domain with SSL when required.
- Create or select a project where the service belongs.
- Review the Docker image, tag, default port, environment variables, and volume mappings.
- Deploy the service and check logs until the application is healthy.
- Attach a domain or subdomain when the application must be available publicly.
- Enable HTTPS and verify the final browser response.
Configuration
Environment variables
| Variable | Default / guidance |
|---|---|
APP_ENV |
production |
APP_PORT |
3000 |
APP_URL |
https://example.com |
Persistent volumes
| Volume | Mount path |
|---|---|
| keystone_preview_environment_data | /var/www/html |
Commands
DockerCP handles deployment from the panel, but understanding the equivalent Docker commands helps users debug services with more confidence.
docker pull node:20-alpine
docker ps --filter "name=keystone-preview-environment"
docker logs --tail=100 keystone-preview-environment
DNS and SSL checklist
| Step | Expected result |
|---|---|
| Add A or CNAME record | The domain points to the DockerCP server or configured target. |
| Attach domain to service | The service is reachable through the selected hostname. |
| Enable HTTPS | The certificate becomes active and redirect to HTTPS can be enabled. |
Screenshots
Panel previews for the Keystone Preview Environment template: how deployment, the running service, and its key details look inside DockerCP.
Spin up a disposable Keystone preview to test changes before promoting them, a headless CMS and GraphQL backend for developers who want to define content models in code.
Troubleshoot
- Confirm the Docker image and tag exist.
- Confirm the selected internal port matches the application port.
- Confirm required variables such as database URL, app URL, and credentials are set.
- Check service logs after the first deployment.
- Verify DNS before requesting or renewing SSL certificates.