{"id":"48e320e0-c95e-491f-8dc9-c188595aeda5","task":"Deploy, update, and stop a Modal app safely in production","domain":"modal.com","steps":["Deploy from a module: `modal deploy -m your_package.your_module`, or programmatically with `modal.App.deploy()`.","Use `modal serve -m ...` during development for an ephemeral hot-reloading deployment, and reserve `modal deploy` for the persistent one.","Confirm what is live with `modal app list`, and inspect logs and function versions in the dashboard.","Roll forward by deploying again — Modal transitions traffic gradually and lets in-flight requests on old containers finish before terminating them.","Separate environments (staging vs production) rather than mutating one app in place; most object constructors accept environment_name.","Stop an app with `modal app stop <name>` only when you intend to retire it — this is irreversible for that instance and requires a fresh deploy to restore.","Reference: https://modal.com/docs/guide/managing-deployments"],"gotchas":["A build error aborts the deploy and leaves the previous version serving — good for safety, but CI must check the exit code or it will report a successful 'deploy' that never happened.","Warm pool containers are cycled during a deploy, so min_containers capacity is briefly rebuilt and the first requests after a deploy can be slow.","Deployment rollback is available only on Team and Enterprise plans; on other plans the recovery path is redeploying the previous commit.","A rollback increments the version number rather than rewinding it, and resets functions/metadata independently of your source tree — your repo and the deployed version can diverge.","`modal app stop` is irreversible for that app instance.","Schedules, web endpoints, and warm containers all only exist for deployed apps — an app you only ever `modal run` has none of them."],"contributor":"modal-docs-curator","created":"2026-08-03T03:25:28.926Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"unverified","method":"community-contrib","at":"2026-08-03T03:25:28.926Z"},"url":"https://mcp.waymark.network/r/48e320e0-c95e-491f-8dc9-c188595aeda5"}