# How to Backup and Restore App Data Folders in InternetIncome: Complete Guide

> Learn how to backup and restore app data folders in InternetIncome. Archive persistent IDs and state with tar commands for easy data recovery.

- Repository: [engageub/internetincome](https://github.com/engageub/internetincome)
- Tags: how-to-guide
- Published: 2026-03-01

---

**InternetIncome stores all persistent device IDs, node IDs, and application state in specific backup folders and text files defined in [`internetIncome.sh`](https://github.com/engageub/internetincome/blob/main/internetIncome.sh), which you can archive using standard `tar` commands and restore by extracting them back to the repository root before running `--start`.**

The InternetIncome script by engageub orchestrates multiple passive income Docker containers, each requiring persistent storage for unique identifiers and profile data. Understanding how to backup and restore these app data folders is essential for migrating hosts, recovering from system failures, or preventing the loss of established node reputations. This guide explains the backup architecture implemented in [`internetIncome.sh`](https://github.com/engageub/internetincome/blob/main/internetIncome.sh) and provides production-ready commands to safeguard your income streams.

## Where InternetIncome Stores Persistent Data

InternetIncome maintains two distinct categories of persistent state in the repository root directory. These are declared in arrays near the top of **[`internetIncome.sh`](https://github.com/engageub/internetincome/blob/main/internetIncome.sh)** (lines 62–63) and mounted as Docker bind-volumes when containers launch.

**Backup folders** contain full application data directories that are written to continuously:

- `titan-data/` – Titan device profiles and edge node configuration
- `network3-data/` – Network3 node identification and session data  
- `bitping-data/` – Bitping application state and credentials
- `urnetwork-data/` – URnetwork persistent volumes
- `traffmonetizerdata/` – Traffmonetizer browser profiles and identifiers
- `mysterium-data/` – Mysterium node identity and keystore files

**Backup files** are simple text files storing device or node IDs for apps that authenticate via registration tokens:

- [`earnapp.txt`](https://github.com/engageub/internetincome/blob/main/earnapp.txt) – EarnApp device identifier
- [`proxyrack.txt`](https://github.com/engageub/internetincome/blob/main/proxyrack.txt) – Proxyrack node ID

When the script launches containers, it mounts these paths directly into the Docker containers. For example, in the Titan container setup, the script executes:

```bash
titan_volume="--mount type=bind,source=$PWD/$titan_data_folder/data$i,target=/root/.titanedge"

```

This bind-mount architecture ensures that all persistent state remains on the host filesystem, making backup operations as simple as copying files.

## How to Backup InternetIncome App Data

### Manual Backup Using tar

To create a complete snapshot of all recoverable data, navigate to the InternetIncome repository root and archive the backup arrays' contents:

```bash
cd /path/to/internetincome
tar -czvf internet_income_backup_$(date +%F).tar.gz \
  earnapp.txt proxyrack.txt \
  titan-data network3-data bitping-data \
  urnetwork-data traffmonetizerdata mysterium-data

```

This command packages every directory listed in `back_up_folders` and every file listed in `back_up_files` into a compressed tarball with a date stamp.

### Automated Backup Script

For scheduled backups, use this idempotent bash script that dynamically references the same items defined in [`internetIncome.sh`](https://github.com/engageub/internetincome/blob/main/internetIncome.sh):

```bash
#!/usr/bin/env bash

# backup_internet_income.sh

# Backs up all persistent data from InternetIncome

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR" || exit 1

BACKUP_ITEMS=(
  earnapp.txt proxyrack.txt
  titan-data network3-data bitping-data
  urnetwork-data traffmonetizerdata mysterium-data
)

ARCHIVE="internet_income_$(date +%Y%m%d_%H%M%S).tar.gz"

if tar -czvf "$ARCHIVE" "${BACKUP_ITEMS[@]}"; then
    echo "Backup successful: $ARCHIVE ($(stat -c%s "$ARCHIVE") bytes)"
else
    echo "Backup failed" >&2
    exit 1
fi

```

Store this archive off-site using `scp`, `rsync`, or cloud storage to ensure recovery capability during host migration or hardware failure.

## How to Restore InternetIncome Data

Restoring app data requires extracting your backup archive into the InternetIncome repository root **before** executing the start command. The containers will automatically pick up the restored identities and resume operation with existing node reputations.

### Full Restore from Archive

To restore all applications simultaneously:

```bash
cd /path/to/internetincome
tar -xzvf internet_income_backup_2024-03-15.tar.gz
sudo bash internetIncome.sh --start

```

The extraction recreates the exact folder and file layout the script expects. When `--start` executes, Docker mounts the restored paths as volumes, preserving your device IDs and wallet configurations.

### Selective App Restoration

If you only need to restore a specific application's data—perhaps after accidentally deleting a single container's volume—target that specific folder:

```bash

# Restore only Titan data

tar -xzvf titan_backup.tar.gz titan-data/
sudo bash internetIncome.sh --start

```

This approach minimizes disruption to other income streams that are operating normally.

## Deleting Backup Data with --deleteBackup

When you need to purge all persistent identifiers and start completely fresh, InternetIncome provides a built-in deletion mechanism. The **`--deleteBackup`** flag (implemented in [`internetIncome.sh`](https://github.com/engageub/internetincome/blob/main/internetIncome.sh) lines 1314–1358) removes every item enumerated in `back_up_files` and `back_up_folders`.

Execute the deletion command:

```bash
sudo bash internetIncome.sh --deleteBackup

```

The script first verifies that no Docker containers are currently running to prevent data corruption, then deletes the folders and files. This is useful when retiring old node identities or troubleshooting registration conflicts.

## Summary

- InternetIncome persists all critical data in **`back_up_folders`** (six app directories) and **`back_up_files`** (two ID text files) defined at lines 62–63 of [`internetIncome.sh`](https://github.com/engageub/internetincome/blob/main/internetIncome.sh).
- **Backup** operations use standard `tar` commands to archive these specific paths; no database dumps or complex exports are required.
- **Restore** operations simply extract archives to the repository root before running `sudo bash internetIncome.sh --start`.
- The **`--deleteBackup`** flag safely purges all persistent data after verifying container shutdown, as implemented at lines 1314–1358.
- Docker bind-mounts ensure restored data immediately becomes available to containers without additional configuration steps.

## Frequently Asked Questions

### What specific files and folders must I backup in InternetIncome?

You must backup the six data directories (`titan-data`, `network3-data`, `bitping-data`, `urnetwork-data`, `traffmonetizerdata`, `mysterium-data`) and two identifier files ([`earnapp.txt`](https://github.com/engageub/internetincome/blob/main/earnapp.txt), [`proxyrack.txt`](https://github.com/engageub/internetincome/blob/main/proxyrack.txt)). These correspond exactly to the `back_up_folders` and `back_up_files` arrays declared in [`internetIncome.sh`](https://github.com/engageub/internetincome/blob/main/internetIncome.sh) at lines 62–63. Missing any of these will result in new device registration and loss of accumulated reputation or earnings history.

### Can I backup individual applications instead of all data?

Yes. While a full backup captures all income streams simultaneously, you can target specific folders for selective backup and restore. For example, `tar -czvf titan_only.tar.gz titan-data/` creates a minimal archive containing only Titan node identity. This is useful when managing storage constraints or troubleshooting individual container issues without affecting other apps.

### How do I completely remove all InternetIncome data and start fresh?

Run `sudo bash internetIncome.sh --deleteBackup` from the repository root. This command checks that no containers are running, then deletes every file and folder listed in the backup arrays (source: [`internetIncome.sh`](https://github.com/engageub/internetincome/blob/main/internetIncome.sh) lines 1314–1358). After execution, the next `--start` command will generate entirely new device IDs and node registrations for all applications.

### Will restoring data on a new machine affect my earnings or account status?

Restoring to a new host maintains your existing device IDs and node reputations, allowing earnings to continue seamlessly. However, some platforms (EarnApp, Proxyrack) may flag simultaneous identical IDs running on different IP addresses as suspicious. Ensure the old host is completely stopped (`--delete` or `--stop`) before starting containers on the restored machine to avoid duplicate node conflicts.