Skip to main content
Most static sites need no configuration. Add marina.json at the project root when you want to declare app identity or runtime behavior explicitly.
marina.json

Manifest fields

The name and icon initialize a newly created app. After creation, change display metadata in the Marina dashboard; later code deployments preserve it.

Static apps

A directory containing index.html can deploy directly. Projects with a package.json and a build script are built before deployment. Marina recognizes static output in dist, build, out, public, or .output/public when that directory contains index.html.

Dynamic apps

Dynamic apps declare the file Marina should run:
marina.json
Listen on the PORT environment variable rather than hardcoding a platform port.

Project linking

After the first successful deploy, the CLI writes .marina/project.json. This stable link tells future commands which Marina app the directory belongs to, even if its display name changes. Do not commit .marina/project.json. To target an app explicitly from an unlinked directory, pass --app <slug>.

Name precedence

When creating an app, the CLI chooses its name in this order:
  1. --name
  2. name in marina.json
  3. name in package.json
  4. The directory name