Skip to content

Uplinkr Storage Layout and Directories

Uplinkr stores all project data, probe results, and alert states in JSON files within Laravel’s storage system. This page provides an overview of the storage architecture and file organization.

By default, Uplinkr stores all data under:

storage/app/private/uplinkr/

This path is configurable via the storage.path setting in config/uplinkr.php.

If your app was upgraded across Laravel major versions and still uses the older filesystem config (no private disk), Uplinkr will use the local disk and store files under:

storage/app/uplinkr/

To align with newer Laravel defaults, add a private disk in config/filesystems.php and set UPLINKR_STORAGE_DISK=private.

storage/app/private/uplinkr/
├── <project-name>/
│ ├── analyzed.json # Includes analyzed data
│ ├── settings.json # Project configuration
│ ├── state.json # Alert state tracking
│ └── probes/
│ └── <url-name>@<timestamp>.json # Probe execution results
└── archived/
└── <project-name>/ # Archived projects

Uplinkr uses several types of JSON files, each serving a specific purpose:

Contains project configuration, probe definitions, and alert rules.

Related Commands:

  • uplinkr:project:init - Creates initial settings file
  • uplinkr:project:update - Updates project metadata
  • uplinkr:project:add:probe - Adds probe configurations
  • uplinkr:project:alerts - Configures alert rules

Detailed documentation

2. Probe Data (probes/<url-name>@<timestamp>.json)

Section titled “2. Probe Data (probes/<url-name>@<timestamp>.json)”

Stores the results of executed health checks, including response headers, status codes, and timing information.

Detailed documentation

Tracks the current state of all probes, including failure counts, notification timestamps, and cooldown periods.

Detailed documentation

Contains copies of projects that have been archived using the archiving command.

Note: Currently, archiving copies data without deleting the source.

Detailed documentation

Project directories use the project identifier as the folder name:

uplinkr/my-project/
uplinkr/api-monitoring/

Probe result files follow the pattern:

<sanitized-url>@<timestamp>.json

Example:

uplinkr_dev@2026-01-30-12.json
api_test_uplinkr_dev@2026-01-30-21.json

The URL is sanitized by:

  • Removing protocol (https://)
  • Replacing special characters with underscores
  • Preserving domain and path information

All files are standard JSON and can be inspected manually:

Terminal window
cat storage/app/private/uplinkr/<project-name>/settings.json

Since all Uplinkr data is file-based, you can:

  • Include storage/app/private/uplinkr/ in your backup strategy
  • Version control archived projects if needed
  • Migrate projects by copying directories
  • Probe files can grow large over time (multiple MB per file)
  • Consider periodic archiving for long-running projects
  • Monitor disk space usage in high-frequency monitoring scenarios

Explore detailed documentation for each file type: