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

# Setting Up Production Instance

> Configure and deploy your production Odoo instance

# Setting Up Production Instance

Learn how to set up and configure your production Odoo instance on doploy.

## Prerequisites

Before creating a production instance, ensure you have:

* **Active subscription** - Production deployments require a Pro or Starter plan subscription
* **Server ready** - A server must be available and fully provisioned (check status in [Servers](/servers/doploy-servers))
* **Git branch** - Your production Odoo modules and customizations should be committed to a Git branch (typically `main`, `master`, or `production`)

## Important Considerations

**One Production Instance Per Project**\
Each project can have only one production instance. If you need multiple production environments, create separate projects.

**Server Separation**\
For optimal performance and to minimize risk to production, deploy production on a server separate from staging instances.

**Backup Storage**\
Enable the backup storage add-on to automatically create daily backups with 7-day retention. This is highly recommended for production environments.

## Step 1: Create Production Instance

Navigate to your project's Deployments page and click the **"+"** button next to **Production**.

### Select Server

Choose which server to host your production instance. For best performance:

* Use a dedicated server for production
* Avoid servers already running staging instances
* Ensure adequate resources (CPU, RAM, storage) for your workload

If no servers are available, you'll need to [add a server](/servers/doploy-servers) first.

### Select Branch

Select the Git branch with your production Odoo modules and customizations. This is typically your `main` or `master` branch.

You can also create a new branch by clicking the **"Branch"** button, which lets you base it on an existing branch.

### Configure Domain

Choose how users will access your production instance:

**Free doploy subdomain**\
Use a `{your-name}.doploy.site` domain. This is automatically available and requires no DNS configuration.

**Custom domain**\
If using your own domain, doploy will display the server IP address and DNS setup instructions. Create an A record pointing your domain to this IP address before deployment. doploy will handle the SSL certificate for your custom domain automatically.

### Database Name

A database name is auto-generated based on your branch name and a random suffix, ensuring uniqueness. You can modify this if needed, but it must be a valid PostgreSQL identifier (letters, numbers, underscores only).

### Admin Password

A secure random password is automatically generated for the Odoo admin user.

**Important:** Save this password immediately—it won't be shown again. You can change it later from within Odoo or [reset it via doploy](/managing-odoo/reset-admin-password).

### Enable Automatic Backups

If you have the backup storage add-on enabled, you can automatically create daily backups with 7-day retention. This checkbox is checked by default for production instances.

You can modify backup schedules later from the [Backup Schedule](/getting-started/backup-schedule) tab.

## Step 2: Deploy

Review your configuration and click **"Deploy Instance"** to start the deployment process.

The instance will be built and deployed, typically completing within a few minutes. You can monitor progress in the deployment history tab.

## Step 3: Configure Domain DNS (Custom Domains Only)

If you're using a custom domain, configure your DNS records before the deployment completes:

1. Create an A record for your domain
2. Point it to the server IP address shown in the deployment modal
3. Wait for DNS propagation (usually 5-60 minutes)

SSL certificates are automatically provisioned once DNS is configured correctly.

## Production Best Practices

**Server Isolation**\
Run production on a dedicated server to prevent resource contention with staging instances.

**Backup Strategy**\
Enable automatic daily backups with sufficient retention. Consider additional manual backups before major updates.

**Monitoring**\
Regularly check your instance status and logs. Set up alerts for critical issues if available.

**Testing Before Production**\
Always test changes in staging and development instances before deploying to production.

**Regular Updates**\
Keep your Odoo version and modules updated. Consider enabling [automatic updates](/managing-odoo/auto-updates) for security patches.

## Next Steps

* [Set up staging instance](/managing-odoo/staging-instance) for testing before production
* [Configure automatic backups](/getting-started/backup-schedule) to protect your data
* [Set up DNS](/getting-started/dns-setup) for your custom domain
* [Enable auto updates](/managing-odoo/auto-updates) for security patches
