# Self-Hosted Data Connection
Hosting Data on Your Own Server (Custom Data Hosting)
Available in: Professional plan
Extra cost: None (you cover your own server costs)
# Why use it
By default, MetricsCube hosts and processes your data on our secure servers.
With Custom Data Hosting, you can keep all WHMCS data on your own server, while still using the MetricsCube dashboard in the cloud.
This gives you full control and ownership of your data - especially useful for larger companies or strict compliance needs.
# Minimum Server Requirements
| Component | Requirement |
|---|---|
| OS | Debian 12 |
| RAM | 8 GB |
| Disk | 80 GB SSD |
| CPU | 4 vCores |
| Scalability | Recommended for up to ~10,000 active clients. For bigger datasets, a two-server setup (processing + reporting) may be required. |
⚠️ The real requirements depend mostly on how many invoices and transactions you process, not just the number of clients.
# How It Works - Workflow Overview
Default setup (before this feature):
- Your WHMCS data is synced and processed on our internal MetricsCube database servers.
- The dashboard (dashboard.metricscube.io) connects to our databases to build your reports.
With Custom Data Hosting enabled:
- Instead of sending data to our servers, your MetricsCube account is linked to your own MySQL server.
- Our app still provides the UI, analytics logic, and reporting engine, but reads and processes the data stored on your side.
- We maintain the configuration, updates, and data processing logic remotely.
# Step-by-Step Setup
Create your MetricsCube account
Sign up, but do not connect WHMCS yet.Provide server access
Share SSH access for your Debian 12 server with the MetricsCube team.Our technical team will:
- Install and configure MySQL
- Set up firewall and security rules
- Add your server to our backend configuration
- Link your MetricsCube account to this server.
Connect WHMCS
Once we finish setup, you can connect WHMCS via the Connector Wizard (same as standard setup).
The only difference is the database target - it’s your own server.Synchronization and data processing
Data sync happens as usual, but your data is processed locally on your infrastructure.
For high-volume data, processing can run during the night to avoid resource spikes.Updates and maintenance
When MetricsCube releases software updates, our team accesses your server to apply them.
Some releases may require 1–2 days of maintenance, temporarily affecting access to reports.
# Data Flow in the MetricsCube Application
To move forward with using a dedicated database server, the client creates an account in the MetricsCube system. In order to use their own database server, the client must contact the MetricsCube team (as the process is currently manual). The MetricsCube team then prepares the environment and connects the client’s server to the MetricsCube infrastructure.
Then, the process is as follows:
- The client installs and activates the MetricsCube connector in their WHMCS system using the installation key available in the Installation Wizard on
dashboard.metricscube.io - Once connected, the MetricsCube servers request data from WHMCS in batches. This happens regularly to update the reports daily and also for live dashboard information.
- The data is then received through our Automation server.
- The data is processed and stored directly on client's Database Server. Sensitive information (such as domains, names, addresses, and emails) is encrypted.
- By default, if not using your own server, the data is stored on MetricsCube Database Server.
- When the data is requested it is being loaded by MetricsCube Application (e.g. to be displayed in the reports dashboard).
# Architecture Diagram
WHMCS Application (Client side)
- Sends data through the MetricsCube Connector.
MetricsCube Dashboard (Cloud Application)
- Provides a login interface for clients at
dashboard.metricscube.io - Displays reports and dashboards
- Connects securely to the assigned data server.
- Provides a login interface for clients at
Standard Scenario
- Dashboard connects to MetricsCube Database Servers (hosted by us).
Custom Hosting Scenario
- Dashboard connects instead to the Client’s Own Server (self-hosted).
- Connection is secure and isolated to the client environment.
Optional two-server setup (for large data)
- Processing Server: handles data sync and heavy computation (“crunching”).
- Reporting Server: stores processed data and serves it to the dashboard.
# FAQ
Does my dashboard change?
No. You use the same MetricsCube dashboard. Only the data location changes.
Who installs everything?
Our team handles setup and configuration after you provide server access.
Who updates the software later?
Our team does. We may need short maintenance windows for major updates.
Can I use two servers?
Yes, for high-volume data or heavy invoice processing. One server can handle data “crunching” while another provides stable reporting.
Is my data secure?
Yes. All connections between our app and your server use strict access rules and secure protocols.
# Best Practices
- Keep backups of your MySQL data.
- Monitor server disk space and performance.
- Contact us before making system-level changes or kernel updates.