Skip to main content
As an Upsun user, your code and data belong to you. At any time, you can download your site’s data for local development, to back up your data, or to change provider.

Before you begin

You need:
  • Git
  • An Upsun account
  • Code in your project
  • Optional: the Upsun CLI

1. Download your app’s code

Your app’s code is maintained through the Git version control system. To download your entire app’s code history:
  1. List all your projects by running the following command:
    upsun projects
    
  2. Retrieve the project you want to back up by running the following command:
    upsun get <PROJECT_ID>
    

2. Download your files

Some files might not be stored in Git, such as data your app writes in mounts. You can download your files using the CLI or using SSH.

Network Storage mounts

If your project uses a Network Storage service (mounts with source: service), the data lives in a dedicated service container rather than in the app container itself. The download process is the same as for local mounts — use the CLI or rsync over SSH — but you need to target the path as it is mounted inside the app container. For example, to download a web/uploads network mount using the CLI:
Terminal
upsun mount:download --mount web/uploads --target ./local-uploads

3. Download data from services

While Upsun supports customer data portability, certain technical characteristics of cloud-native platforms may affect migration workflows.
Upsun does not impose platform-specific restrictions on the volume of customer data that can be exported. However, exports may be subject to:
  • Network bandwidth limitations
  • Resource constraints of the originating environment
  • Service-specific export mechanisms
Some exported data may require reconfiguration before being used in another environment. Examples include:
  • Environment-specific configuration values
  • Infrastructure definitions referencing Upsun-specific services
  • Deployment configuration files tailored to Upsun’s build and runtime model
Upsun supports widely adopted open formats and standards to maximize portability. However:
  • Infrastructure definitions written for Upsun may require adaptation when deployed on other cloud providers
  • Service configuration may need adjustment depending on the destination platform’s capabilities
  • Some operational metadata used internally by Upsun is platform-specific and may not be applicable in external environments
These limitations are typical for platform-as-a-service environments and do not prevent customers from exporting their application data and code.
The mechanism for downloading from each service varies. For services designed to hold non-persistent data in memory only — such as ephemeral Redis, ephemeral Valkey, Memcached, or Solr — it’s generally not necessary to download data as it can be rebuilt from the primary data store. For services designed to hold persistent data, see the instructions for each service below.

Relational databases

Document and time-series databases

Search engines

Key-value stores (persistent)

Message brokers

Vector databases

4. Get environment variables

Environment variables can contain critical information such as tokens or additional configuration options for your app. Environment variables can have different prefixes: All other variables are part of $PLATFORM_VARIABLES. To back up your environment variables:
  1. Get the variable’s values by running the following command:
    upsun ssh -- 'echo $PLATFORM_VARIABLES | base64 -d | jq'
    
    Note that you can also get all the environment variable values by running the following command:
    upsun ssh -- env
    
  2. Store the data somewhere secure on your computer.

What’s next

Last modified on March 13, 2026