Sthora
Deploying applications

Projects and applications

How work is organised — projects, environments, applications — and every setting an application carries.

The hierarchy

Organization
└── Project              a product, or a customer
    └── Environment      production, staging, whatever you name
        └── Application  one deployable thing, on one server
  • A project is created with a name and a slug, and comes with one environment named production.
  • An environment exists so the same application can have a staging copy without a second project. Applications are scoped to one.
  • An application belongs to one environment and runs on one server. On a self-hosted install there is only one server and it is chosen for you.

Everything belongs to an organization, and every read and write is scoped to the organization on your session. See organizations and members.

Creating an application

The one value the platform cannot infer is the port your container listens on. It is what the health gate connects to and what the router forwards to, and everything else has a default.

Settings

SettingDefaultRangeWhat it does
exposedPort1–65535The container port that faces traffic. Required.
exposedServiceNameInferred≤ 63 charsWhich service in a multi-service compose file faces the world. Inferred when the file declares exactly one.
composePathDetected≤ 255 charsOverrides detection. When set, only this file is considered.
dockerfilePathDetected≤ 255 charsSame, for a Dockerfile.
contextPathSource root≤ 255 charsThe build context.
healthTimeoutSeconds605–900How long the health gate retries before the deployment fails.
cpuLimitNone0.1–64Written into the rendered compose file as cpus.
memoryLimitMbNone64–131072Written as mem_limit.
imageRetentionCount31–20How many previous images are kept. Each one is a rollback target and a full image on disk.
deployStrategyRECREATERECREATE | BLUE_GREENSee deployments and rollback.

buildType is not a setting — it is detected at the first deployment. See build types.

Status

An application is in one of five states:

StatusMeaning
NEWCreated, never deployed.
DEPLOYINGA deployment is in flight.
RUNNINGContainers are up and the last deployment succeeded.
STOPPEDStopped on purpose, through the portal.
FAILEDThe last deployment failed. The previous version, if there was one, is still running.

Lifecycle

Start, stop, and restart are three explicit actions on the application. They run through the lifecycle queue, which has a concurrency of 4 — they are cheap compared to a build.

Stopping an application stops its containers. It does not delete its volumes, its images, its deployment history, or its domains.

Deleting

Deleting an application removes its compose project and its containers. Deleting a server refuses while anything is still deployed to it — that refusal is deliberate, because the alternative is orphaning containers on a machine the portal no longer lists.

On this page