Docker: Add a staging environment

This documentation is part of the Node.js guide. View the full guide here: How to use and deploy a Node.js app with Docker.

Welcome to the Stackhero documentation

Stackhero provides a ready-to-use Docker cloud CaaS (Containers as a Service) platform, designed for fast and reliable container deployments:

  • Deploy to production with a single docker-compose up. There is no extra setup: just start your containers.
  • Pick your own domain name, secured automatically with HTTPS (for example: https://api.your-company.com, https://www.your-company.com, or https://backoffice.your-company.com).
  • Benefit from strong performance and robust security on private, dedicated infrastructure.
  • Apply updates with one click for simple, low-effort maintenance.

You can have your containers live in production in about five minutes. Stackhero manages the infrastructure, updates, and security for you, so you can focus on delivering your applications. Read more about Docker CaaS cloud hosting.

You can easily modify this boilerplate to add a staging environment. To do so:

  1. Create a copy of docker/docker-compose.production.yml and name it docker/docker-compose.staging.yml. This file defines the containers and configuration for your staging environment.
  2. Create the secrets file secrets/my-app.staging containing any sensitive information required for staging, such as database passwords or API keys.
  3. In the Makefile, locate the section labelled "Staging platform" and uncomment it.

Finally, run make help to view the new staging commands that are now available.