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

# Application Updates

> Keep your applications secure and up-to-date with RepoCloud's update system

## Keeping Applications Updated

Maintaining up-to-date applications is crucial for security, performance, and accessing the latest features. RepoCloud simplifies this process with a one-click update system that allows you to easily keep your applications current while preserving your data and configurations.

<Tip>
  Regular updates are essential for maintaining the security, performance, and functionality of your applications. RepoCloud's one-click update system makes this process simple and reliable.
</Tip>

## RepoCloud's Update Philosophy

RepoCloud maintains a repository of application templates that are regularly updated to include the latest stable versions of all applications in our marketplace. Our approach to updates prioritizes:

<CardGroup cols={2}>
  <Card title="Security" icon="shield-halved">
    Security patches and fixes are prioritized in our update workflow
  </Card>

  <Card title="Stability" icon="check-double">
    We deploy stable, tested versions rather than bleeding-edge releases
  </Card>

  <Card title="Data Preservation" icon="database">
    Updates are designed to preserve existing data and configurations
  </Card>

  <Card title="Simplicity" icon="wand-magic-sparkles">
    The update process is user-friendly and requires minimal effort
  </Card>
</CardGroup>

## The "Rebuild / Update" Feature

The primary method for updating your applications on RepoCloud is the "Rebuild / Update" button on your instance's management page. Rebuilding recreates the service from scratch by pulling the latest image and discarding any cached data, ensuring a fresh setup while preserving your persistent data.

### How Rebuilding Works

<Steps>
  <Step title="Initiate Rebuild">
    RepoCloud pulls the latest version of your application's Docker image
  </Step>

  <Step title="Preserve Data">
    Your application data stored in persistent volumes is preserved
  </Step>

  <Step title="Apply Configuration">
    Your custom configurations and environment variables are maintained
  </Step>

  <Step title="Restart Application">
    The application restarts with the updated image
  </Step>
</Steps>

<Note>
  The rebuild process typically takes 3-7 minutes, with downtime limited to the restart.
</Note>

## Performing an Update

Updating your application is straightforward:

<Steps>
  <Step title="Access Instance Management">
    Navigate to your application's management page in the RepoCloud dashboard
  </Step>

  <Step title="Initiate Rebuild">
    Click the "Rebuild / Update" button
  </Step>

  <Step title="Confirm Action">
    Confirm the rebuild when prompted
  </Step>

  <Step title="Wait for the Rebuild to Complete">
    Your application will come back online within a few minutes; you can check its logs with "View Logs" if you want to follow along
  </Step>
</Steps>

## Pinning a Specific Version

By default, rebuilding pulls the latest stable image. If you need a specific version of your application instead, use the "Edit Docker Image" button on the management page:

<Steps>
  <Step title="Open Edit Docker Image">
    Click "Edit Docker Image" on your instance's management page
  </Step>

  <Step title="Enter the Version Tag">
    The base image is fixed (e.g., `flowiseai/flowise:`); enter the version tag you want to run
  </Step>

  <Step title="Save Changes">
    Click "Save Changes" and confirm. Your app will restart with the specified version, which typically takes 3-7 minutes.
  </Step>
</Steps>

<Tip>
  Version pinning is also the way to roll back if a new release causes problems: enter the previous version's tag and save. Note that rolling back does not undo database schema migrations the newer version may have already applied.
</Tip>

## Update Frequency

RepoCloud regularly refreshes application templates so that rebuilds pull current stable releases. Because rebuilds pull the latest published image directly, you receive the newest stable version of your application whenever you rebuild.

<Warning>
  While the rebuild process is designed to be safe, it's always good practice to create a backup of critical data before performing any update.
</Warning>

## What Gets Updated

When you rebuild an application, the following components are updated:

* **Application Code**: The core application is updated to the latest stable version
* **Dependencies**: Associated libraries and dependencies are updated
* **Base System**: The underlying container system may be updated for security and performance
* **Configuration**: Default configurations may be updated to reflect best practices

The following elements are preserved during updates:

* **User Data**: All user-generated content and database information
* **Custom Configurations**: Your environment variables and custom settings
* **Domains**: Any custom domains and SSL certificates remain configured
* **User Accounts**: Application user accounts and permissions

## Major Version Updates

Sometimes, applications undergo significant changes between major versions that require special attention:

<AccordionGroup>
  <Accordion title="Data Migration">
    Major version updates may include database schema changes that require data migration. RepoCloud attempts to handle these automatically, but some applications may require manual intervention.
  </Accordion>

  <Accordion title="Breaking Changes">
    Major updates can introduce breaking changes to APIs or features. Review the update notes carefully before proceeding with major version updates.
  </Accordion>

  <Accordion title="Plugin Compatibility">
    For applications that support plugins or extensions, major updates may affect compatibility. You may need to update or replace incompatible plugins after updating.
  </Accordion>
</AccordionGroup>

<Tip>
  For applications with extensive customizations or critical business functions, consider testing the update in a separate instance before updating your production environment.
</Tip>

## Troubleshooting Updates

If you encounter issues during or after an update:

<AccordionGroup>
  <Accordion title="Failed Update">
    If an update fails to complete:

    * Check the error message in the update logs
    * Verify that your application has sufficient resources
    * Attempt the rebuild again after a few minutes
    * Contact support if the issue persists
  </Accordion>

  <Accordion title="Post-Update Issues">
    If your application behaves unexpectedly after an update:

    * Check application-specific logs for errors
    * Verify that your custom configurations are still correctly applied
    * Consider restoring from a backup if available
    * For complex issues, consult the application's documentation or contact support
  </Accordion>

  <Accordion title="Reverting Updates">
    If you need to revert to a previous version:

    * Use "Edit Docker Image" to pin the previous version's tag (see [Pinning a Specific Version](#pinning-a-specific-version) above)
    * Restore from a backup if the newer version already migrated your data
    * Contact support for assistance with complex cases
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup>
  <Card title="Environment Variables" icon="gear" href="/user-guide/environment-variables">
    Learn how to configure your applications with custom settings
  </Card>

  <Card title="Troubleshooting" icon="wrench" href="/user-guide/troubleshooting">
    Resolve common issues with your applications
  </Card>

  <Card title="Platform Apps" icon="server" href="/platforms/introduction">
    Explore our platform apps for advanced control and customization
  </Card>
</CardGroup>
