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.
Storage Location
Section titled “Storage Location”By default, Uplinkr stores all data under:
storage/app/private/uplinkr/This path is configurable via the storage.path setting in config/uplinkr.php.
Note for Older Laravel Apps
Section titled “Note for Older Laravel Apps”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.
Directory Structure
Section titled “Directory Structure”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 projectsFile Types Overview
Section titled “File Types Overview”Uplinkr uses several types of JSON files, each serving a specific purpose:
1. Project Settings (settings.json)
Section titled “1. Project Settings (settings.json)”Contains project configuration, probe definitions, and alert rules.
Related Commands:
uplinkr:project:init- Creates initial settings fileuplinkr:project:update- Updates project metadatauplinkr:project:add:probe- Adds probe configurationsuplinkr:project:alerts- Configures alert rules
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.
3. Alert State (state.json)
Section titled “3. Alert State (state.json)”Tracks the current state of all probes, including failure counts, notification timestamps, and cooldown periods.
4. Archived Projects (archived/)
Section titled “4. Archived Projects (archived/)”Contains copies of projects that have been archived using the archiving command.
Note: Currently, archiving copies data without deleting the source.
File Naming Conventions
Section titled “File Naming Conventions”Project Directories
Section titled “Project Directories”Project directories use the project identifier as the folder name:
uplinkr/my-project/uplinkr/api-monitoring/Probe Files
Section titled “Probe Files”Probe result files follow the pattern:
<sanitized-url>@<timestamp>.jsonExample:
uplinkr_dev@2026-01-30-12.jsonapi_test_uplinkr_dev@2026-01-30-21.jsonThe URL is sanitized by:
- Removing protocol (
https://) - Replacing special characters with underscores
- Preserving domain and path information
Storage Management
Section titled “Storage Management”Manual Access
Section titled “Manual Access”All files are standard JSON and can be inspected manually:
cat storage/app/private/uplinkr/<project-name>/settings.jsonBackup Considerations
Section titled “Backup Considerations”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
Performance Notes
Section titled “Performance Notes”- 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
Next Steps
Section titled “Next Steps”Explore detailed documentation for each file type:
- Project Files - Learn about project configuration structure
- Probe Data - Understand probe result formats
- Alerts & State - Discover alert state management
- Archiving - Learn about project archiving
Related Topics
Section titled “Related Topics”- Configuration Reference - Configure storage paths
- Commands Reference - Commands that modify storage files