Skip to content

Create your first project

A project is the home for one app stack — the web app, workers, cron jobs, and databases that belong together. Keeping related services in the same project means their deployments, variables, domains, and logs all stay close to the thing they affect.

  1. From your projects list, click + New project.
  2. Give it a name you will recognize in URLs and logs (for example, storefront).
  3. Create it. Helicarrier opens the project on the Deck — an empty canvas — with a default Production environment already selected.

Every project starts with one environment, Production. An environment is an isolated copy of your services and their data. You can add more — Dev, Staging, or a custom name — from the environment switcher on the canvas.

Why this matters:

  • Each environment has its own database volumes and variables. Seeding test data in Dev never touches Production.
  • You can promote confidently: build and verify a change in Dev or Staging, then apply the same setup to Production.
  • Services in one environment do not collide with the same-named services in another.

Switch between environments any time using the selector on the canvas; the nodes you see always belong to the currently selected environment.

To stand up a new environment that mirrors an existing one — e.g. a Staging that matches Production’s setup — pick duplicate on any environment in the switcher. Helicarrier copies the whole environment: every service, managed database, reference, environment variable, secret file, plan, and uploaded build context.

The data inside databases and object storage is not copied — managed databases come up fresh and empty (with new credentials), and each app is automatically re-wired to the new environment’s databases. Custom domains aren’t copied (each hostname is unique). The duplicate is staged as a changeset you review and Deploy, so you can adjust or resize services before anything is provisioned.

The Deck is the canvas where your project lives:

  • Nodes are your services. Each shows its name, type, and a status pill.
  • Edges connect services that are linked (for example, an app that reads a database’s connection URL).
  • Pan and zoom to move around; drag nodes to arrange them.
  • The drawer opens when you click a node — it holds that service’s deployments, logs, shell, variables, domains, and settings.
  • + New adds a service: a Git repo, a Docker image, a database, or one instantiated from a template.

Your project is ready. Follow the Quickstart to deploy your first service and get a live URL.