docs-site/content/guide/running-in-production.md
In addition to performance and ease-of-use, Typesense is also designed to have low operational overhead in Production.
When running Typesense in Typesense Cloud, running in production is as simple as flipping a switch to enable "High Availability" and you'll have a distributed multi-node cluster that is production-ready and ready-to-use.
Typesense is a single self-contained binary with no runtime dependencies. So when self-hosting, running Typesense in Production involves simply installing Typesense, starting the Typesense process as a daemon, either via Docker or a process manager (our DEB and RPM packages do this for you) and configuring High Availability as needed.
Here are a couple of pointers to ensure that you get an optimal experience from Typesense in Production.
::: tip Most of the server infrastructure related items are not applicable to Typesense Cloud clusters, since we manage the infrastructure for you. :::
--enable-cors server parameter</RouterLink> should you need it. (We manage this for you in Typesense Cloud)./health API endpoint</RouterLink> for uptime./metrics.json endpoint</RouterLink> or via the Typesense Cloud Dashboard./stats.json API endpoint</RouterLink> for request rate and latency./metrics.json endpoint</RouterLink> or via the Typesense Cloud Dashboard.import API</RouterLink> to ingest large batches of data, make sure that you have configured a sufficiently high timeout value to let your large imports complete, since all write operations are synchronous in Typesense.default_sorting_order is optional, it is highly recommended especially if you have a field in your documents that is a proxy for how popular a document is within your dataset.--api-port <RouterLink :to="`/${$site.themeConfig.typesenseLatestVersion}/api/server-configuration.html#networking`">server parameter</RouterLink> to 443 and use HTTPS in production.
--ssl-certificate and --ssl-certificate-key parameters.--peering-address parameter is an IP Address on your INTERNAL private network.expires_at</RouterLink> parameter.index: false on those fields). But you can also use Regex fields name and auto schema detection especially when field names are dynamic.index: false when using <RouterLink :to="`/${$site.themeConfig.typesenseLatestVersion}/api/collections.html#with-auto-schema-detection`">auto-schema detection</RouterLink>), in order to set these fields as unindexed fields and save memory. You can still send these unindexed fields in the documents when adding them to the collection - they will just be stored on disk, and will not take up any memory. Then when that document is a hit, these unindexed fields will be fetched from disk, and stuffed into the search API response for you to use for display purposes.We've strived to keep Typesense as self-service and out-of-the-box as possible, with fully public documentation.
But if you need help or have any questions, here are a couple of ways to seek additional help: