> ## Documentation Index
> Fetch the complete documentation index at: https://docs.replit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Publishing

> Learn how to publish your Replit App from the Publishing tool — domain, access, database, monitoring, security, and deployment settings in one place.

The Publishing tool is where you take your app live and manage how it runs on the web. It brings everything into one pane: your app's web address, who can use it, its production database, monitoring, security, and the settings that control how it's hosted.

To open it, select **Publishing** under **Replit Cloud** in the **Tools** pane, or select **Publish** in the top-right of the Project Editor.

## Publish your app

The main pane walks you through everything your app needs to go live. Review each section, then select **Publish**.

<Frame>
  <img src="https://mintcdn.com/replit/31IJAEOdTZHs9MKA/images/deployments/publish-pane/publish-your-app.png?fit=max&auto=format&n=31IJAEOdTZHs9MKA&q=85&s=2d4057394af134ae1313557242355fbe" alt="The Publish your app pane showing the Domain field, the app being published, access settings, database settings, monitoring, security, and engagement tools above the Publish button" width="578" height="980" data-path="images/deployments/publish-pane/publish-your-app.png" />
</Frame>

* **Domain**: The web address for your app. Replit suggests a `.replit.app` name and checks that it's available. You can change it, or connect a [custom domain](/features/publishing/custom-domains) after publishing.
* **What you're publishing**: A preview of the app that will go live, with the URL it will use.
* **Who can access your app**: Choose between public access and invite-only access. Invite only limits the app to you, admins, and the people or groups you invite. Learn more about [app access](/features/publishing/private-deployments).
* **Database settings**: Manage how your app's production database is created and filled with data when you publish. Learn more about [production databases](/features/data-and-storage/create-production-database-when-publishing).
* **Monitoring tools**: Turn on app monitoring to be the first to know when your app is down. Replit continuously checks that your app is online and emails you if something goes wrong. Learn more about [monitoring your app](/features/publishing/monitoring-a-deployment).
* **Security tools**: Run a deep security scan before you publish. Security Agent combines AI with leading static analysis tools to check your project for vulnerabilities. Learn more in the [Project Security Center](/features/security/project-security-center).
* **Engagement tools**: Turn on the feedback widget to add a feedback button to the corner of your published app. Review submissions in your inbox and send them to Agent for fixes.

## Adjust settings

Select **Adjust settings** to manually configure how your app is hosted. Most builders never need to change these settings. Replit picks sensible defaults.

<Frame>
  <img src="https://mintcdn.com/replit/31IJAEOdTZHs9MKA/images/deployments/publish-pane/adjust-settings.png?fit=max&auto=format&n=31IJAEOdTZHs9MKA&q=85&s=aea4af12baf1aff23b637464d4bf3c27" alt="The Adjust settings section showing deployment type, machine configuration, deployment secrets, deployment geography, and the block publishing of critical vulnerabilities toggle" width="574" height="794" data-path="images/deployments/publish-pane/adjust-settings.png" />
</Frame>

* **Deployment type**: The technology used to publish your app. **Autoscale** is recommended for most apps because it scales from zero to any level of demand. Compare [deployment types](/features/publishing/deployment-types).
* **Machine configuration**: The power of the servers running your app. Select **Edit** to change the CPU, memory, and the maximum number of machines. The pane shows the cost per machine and the cost at maximum traffic. Learn more about [machine configuration](/features/publishing/machine-configuration).
* **Deployment secrets**: Private keys your app uses to access APIs and services (a secure, hidden storage area for sensitive values like API keys). Secrets sync automatically from your development environment to your published app. Learn more about [Secrets](/core-concepts/project-editor/app-setup/secrets).
* **Deployment geography**: Where your app is hosted. Choosing a region closer to your users reduces latency. Once you publish, your app and its resources are locked to this region. To change regions later, remix the app. Learn more about [publishing geography](/features/publishing/publishing-geography).
* **Block publishing of critical vulnerabilities**: Replit always runs a security scan before publishing. This setting controls whether publishing is blocked when critical vulnerabilities are found. Learn more in the [Project Security Center](/features/security/project-security-center).

## Next steps

<CardGroup cols={2}>
  <Card title="Publish walkthrough" icon="rocket" href="/build/publish-your-app">
    A step-by-step guide from Publish button to live URL.
  </Card>

  <Card title="Custom domains" icon="globe" href="/features/publishing/custom-domains">
    Buy a domain or connect one you already own.
  </Card>

  <Card title="Monitor your app" icon="chart-line" href="/features/publishing/monitoring-a-deployment">
    Logs, analytics, and uptime monitoring for your published app.
  </Card>

  <Card icon="server" href="/features/publishing/deployment-types">
    When to use Autoscale, Static, Reserved VM, or Scheduled.
  </Card>
</CardGroup>
