> For the complete documentation index, see [llms.txt](https://nostalgiatv.gitbook.io/user-guide/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://nostalgiatv.gitbook.io/user-guide/advanced/cloud-sync.md).

# Cloud sync

*Keep your TV guide and "Live" schedule perfectly synchronized across your phone, tablet, and Android TV devices.*

## How it Works

**Scenario: Syncing your Phone and Living Room TV**

{% columns %}
{% column %}
Device A (The Phone) Starts First:

* The app checks your Firebase database for an active guide.
* Since the database is empty, your phone generates a fresh 8-hour schedule based on your Plex library.
* It then uploads this schedule to Firebase.
  {% endcolumn %}

{% column %}
Device B (The TV) Starts Later:

* When you turn on the TV app, it immediately checks Firebase.
* It finds the guide recently uploaded by your phone.
* The TV downloads that exact schedule, ensuring that Channel 1001 is playing the same show at the same timestamp as your phone.
  {% endcolumn %}
  {% endcolumns %}

<figure><img src="https://1133341156-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyQJozebwQu1tYl63pxW%2Fuploads%2FuuabyQ5ZQaD9HIwpuTxE%2Fimage.png?alt=media&amp;token=368d7990-7eff-4b31-81ef-71c24602b799" alt=""><figcaption></figcaption></figure>

## Setting Up Firebase

{% hint style="info" %}
If you are doing this on a mobile device, the Firebase.io site may make it difficult to find the secret key. It's recommended to either do this on a desktop browser to switch your mobile browser to desktop mode.
{% endhint %}

{% stepper %}
{% step %}

### Login

Login [console.firebase.google.com.](https://console.firebase.google.com/)
{% endstep %}

{% step %}

### Create a Project

<details>

<summary>Expand</summary>

Click the **Get started...** button and name your project whatever you'd like.

<div><figure><img src="https://1133341156-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyQJozebwQu1tYl63pxW%2Fuploads%2FufM9fDA8Vz1Fwn9RO1TZ%2FScreenshot%202026-02-27%20115740.png?alt=media&amp;token=9a3c4aaa-9352-4635-8d67-e8b1957bc575" alt="" width="375"><figcaption></figcaption></figure> <figure><img src="https://1133341156-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyQJozebwQu1tYl63pxW%2Fuploads%2Fy850AtbSwXYtnwvCuzSu%2FScreenshot%202026-02-27%20115754.png?alt=media&amp;token=14c5b399-b54a-4cd6-9552-304ec117fac4" alt="" width="375"><figcaption></figcaption></figure></div>

Continue through the creation windows including setting up a Google Analytics account. Don't worry, none of this will cost any money.

<div><figure><img src="https://1133341156-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyQJozebwQu1tYl63pxW%2Fuploads%2FUiCo0zaW0KDv1p8R1SUB%2FScreenshot%202026-02-27%20115814.png?alt=media&amp;token=e8d124db-534d-4662-a6dd-2f455c2d9065" alt=""><figcaption></figcaption></figure> <figure><img src="https://1133341156-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyQJozebwQu1tYl63pxW%2Fuploads%2FkGBn7Etp4cqPvOIJqwyx%2FScreenshot%202026-02-27%20115900.png?alt=media&amp;token=a2d0bf2b-5074-4bcf-a873-0928274fc4da" alt=""><figcaption></figcaption></figure> <figure><img src="https://1133341156-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyQJozebwQu1tYl63pxW%2Fuploads%2FdNwcqesfXRfHjTdwibTS%2FScreenshot%202026-02-27%20115925.png?alt=media&amp;token=7cc11238-4a84-44a2-8c11-ba532d1b8fdf" alt=""><figcaption></figcaption></figure></div>

</details>
{% endstep %}

{% step %}

### Create a Realtime Database

<details>

<summary>Expand</summary>

Click **Build** and then click **Realtime Database**&#x20;

<div><figure><img src="https://1133341156-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyQJozebwQu1tYl63pxW%2Fuploads%2Fc17V53uhw7Lki9rIX38m%2FScreenshot%202026-02-27%20120035.png?alt=media&amp;token=e82888ae-6866-4e8f-8abc-5bf54e8f8d36" alt=""><figcaption></figcaption></figure> <figure><img src="https://1133341156-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyQJozebwQu1tYl63pxW%2Fuploads%2FbILtm2WAm1M6qMUqrN3w%2FScreenshot%202026-02-27%20120049.png?alt=media&amp;token=d5a62e39-5d78-4331-884c-a153beff9a0b" alt="" width="146"><figcaption></figcaption></figure></div>

Click **Create Database** and proceed through the setup screen keeping it in **Test mode**

<div><figure><img src="https://1133341156-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyQJozebwQu1tYl63pxW%2Fuploads%2FDQhmuBfSQhRDQQLTxone%2FScreenshot%202026-02-27%20120450.png?alt=media&amp;token=f6d4b48e-5fde-4c13-950b-c1664a8f619b" alt="" width="563"><figcaption></figcaption></figure> <figure><img src="https://1133341156-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyQJozebwQu1tYl63pxW%2Fuploads%2FZ5Z1QzqwpGVkaeV8zS8P%2FScreenshot%202026-02-27%20120511.png?alt=media&amp;token=5ddb6c55-66bf-4c27-bfac-fffcc9db9590" alt=""><figcaption></figcaption></figure> <figure><img src="https://1133341156-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyQJozebwQu1tYl63pxW%2Fuploads%2FdK5eIThgfm412uPYrd3M%2FScreenshot%202026-02-27%20120530.png?alt=media&amp;token=63831696-7ae9-4915-b9b3-447035d17458" alt=""><figcaption></figcaption></figure></div>

</details>
{% endstep %}

{% step %}

### Get Database URL

<details>

<summary>Expand</summary>

Copy the firebaseio.com URL somewhere you can recall it in later steps.

<figure><img src="https://1133341156-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyQJozebwQu1tYl63pxW%2Fuploads%2FXOuWinFsIASD245UV3qG%2FScreenshot%202026-02-27%20120745.png?alt=media&amp;token=6d1a1280-7b89-4c69-bfc3-108ff5db4645" alt="" width="375"><figcaption></figcaption></figure>

</details>
{% endstep %}

{% step %}

### Verify the rules

Click **Rules** and verify it looks like the following

```
{
    "rules": {
      ".read": false,
      ".write": false
    }
  }
```

{% endstep %}

{% step %}

### Locate your secret key

<details>

<summary>Expand</summary>

Click the ⚙️ icon next to Project Overview and then click **General.**

<figure><img src="https://1133341156-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyQJozebwQu1tYl63pxW%2Fuploads%2F9yNGhAvz0mHU79oXN8tt%2FScreenshot%202026-02-27%20120946.png?alt=media&amp;token=46106efc-f1b7-4588-9aeb-265a79e2ee19" alt=""><figcaption></figcaption></figure>

Click **Service Accounts 1️⃣.**&#x20;

Lower on on the page you will find **Database secrets 2️⃣.**&#x20;

Next to the line of dots 3️⃣, click the **Show** button and copy the random letters and numbers somewhere you can recall it for later steps.

<figure><img src="https://1133341156-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyQJozebwQu1tYl63pxW%2Fuploads%2FdlLzHyczcBJroIdmko7c%2FScreenshot%202026-02-27%20121025.png?alt=media&amp;token=6897c4c0-9087-4369-97a6-14fe25a063b5" alt="" width="563"><figcaption></figcaption></figure>

</details>
{% endstep %}
{% endstepper %}

## Configuration

{% columns %}
{% column %}
Once you have your credentials, enter them into the Guide Schedule settings in NostalgiaTV.

* Database URL: Paste your Firebase URL here.
* Firebase Secret: Paste your secret key here.
* Sync Button: Tap to verify the connection and perform your first sync.
  {% endcolumn %}

{% column %}

<figure><img src="https://1133341156-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FbyQJozebwQu1tYl63pxW%2Fuploads%2FlLFm82a7EC9pfd4JWQa1%2FScreenshot_20260227-124317.png?alt=media&amp;token=dcf7da12-8e7c-401f-b14a-1fa74fd12da8" alt="" width="375"><figcaption></figcaption></figure>

{% endcolumn %}
{% endcolumns %}

{% hint style="warning" %}
Cloud Sync only synchronizes the schedule itself (what is playing and when). It does not currently sync your custom channel settings, hidden channels, or UI themes, which are stored locally on each device.

If you are looking to sync your settings and custom channels, you want to utilize the import/export feature. [Learn how to export your data](https://nostalgiatv.gitbook.io/user-guide/basics/settings/profile-configuration#manual-configuration-transfer)
{% endhint %}
