Docker: Use an existing Node.js project

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.

If you have an existing Node.js project that you want to integrate with Docker, follow these steps:

  1. Create a new directory called my-app inside your project.

  2. Move all your project files into the my-app directory, excluding the .gitignore and .git files.

  3. Copy the docker, secrets, and Makefile from the boilerplate into the root directory of your project.

  4. Edit the .gitignore file in your project and add the following lines:

    node_modules/
    secrets/*.production
    secrets/*.staging
    

This boilerplate assumes your app listens on port 5000. If you prefer a different port, you can edit the docker/docker-compose.development.yml file and then relaunch the environment with make development-start.