Skip to content
/ my-idlers Public

Web app for displaying, organizing and storing information about servers (VPS), shared hosting, reseller hosting, domains and more.


Notifications You must be signed in to change notification settings


Repository files navigation

My idlers

A self-hosted web app for displaying, organizing and storing information about your servers (VPS/Dedi), shared & reseller hosting, seedboxes, domains, DNS and misc services.

Despite what the name infers this self-hosted web app isn't just for storing idling server information. By using a YABS output you can get disk & network speed values along with GeekBench 5 & 6 scores to do easier comparing and sorting. Of course storing other services e.g. web hosting is possible and supported too with My idlers.

Generic badge Generic badge Generic badge Generic badge

View demo site

Note: Create, Update and Delete are disabled on the demo site.

Project sponsor

Currently seeking a project sponsor

2.3.2 changes (26th September 2023):

  • Added tabs to the homepage for stats and avg summary cards
  • Added Geekbench 6 columns to YABS table
  • Added Geekbench 6 insert from YABS result
  • Updated YABS insert to include Geekbench 5 results also
  • Updated server show page and public show to display Geekbench 6 values
  • Updated tests to pass
  • Updated footer to only have one conditional check for the setting
  • Updated homepage table to be rounded
  • Fixed setting causing a fail with validation
  • Fixed pricing cache not being refreshed
  • Fixed object being accessed instead of array for certain models
  • Removed unused Vue component

Please run the following if updating from an existing install:

composer update
php artisan migrate
php artisan route:cache
php artisan cache:clear


  • PHP 8.1


  • Add servers
  • Add shared hosting
  • Add domains
  • Auto get IP's from hostname
  • Check up/down status
  • Get YABS data from output
  • Compare 2 servers
  • Save & view YABS output
  • Update YABS disk & network results
  • Next due date system
  • Multi currency compatibility
  • Multi payment-term compatibility
  • Pre-defined operating systems
  • Assign labels
  • Assign server type (KVM, OVZ, LXC & dedi)
  • Easy to edit values
  • Assign notes


  • Run git clone into your directory of choice
  • Run composer install
  • Run cp .env.example .env
  • Edit (If needed) MySQL details in .env
  • Run php artisan key:generate
  • Run php artisan make:database my_idlers to create database
  • Run php artisan migrate:fresh --seed to create tables and seed data
  • Run php artisan serve


If you already have at least version 2.0 installed:

  • Run git clone
  • Run composer install
  • Run composer update
  • Run php artisan migrate
  • Run php artisan route:cache
  • Run php artisan cache:clear

Run using Docker

docker run \
  -p 8000:8000\
  -e APP_URL=https://... \
  -e DB_HOST=... \
  -e DB_DATABASE=... \
  -e DB_USERNAME=... \
  -e DB_PASSWORD=... \
docker exec ... php artisan migrate:fresh --seed --force  # Set up database one time

Managed Hosting

Run with a single click on


Adding a YABS benchmark now has JSON formatted response and can POST the output directly from calling the script.

With My idlers you can use your API key and the server id to directly POST the benchmark result

Example call to POST the result:

curl -sL | bash -s -- -s ""


Add Geekbench 6 single and multi-core scores (On dev branch)

API endpoints

For GET requests the header must have Accept: application/json and your API token (found at /account)

Authorization : Bearer API_TOKEN_HERE

All API requests must be appended with api/ e.g

GET request:




























POST requests

Create a server


Body content template

    "active": 1,
    "show_public": 0,
    "hostname": "",
    "ns1": "ns1",
    "ns2": "ns2",
    "server_type": 1,
    "os_id": 2,
    "provider_id": 10,
    "location_id": 15,
    "ssh_port": 22,
    "bandwidth": 2000,
    "ram": 2024,
    "ram_type": "MB",
    "ram_as_mb": 2024,
    "disk": 30,
    "disk_type": "GB",
    "disk_as_gb": 30,
    "cpu": 2,
    "has_yabs": 0,
    "was_promo": 1,
    "ip1": "",
    "ip2": null,
    "owned_since": "2022-01-01",
    "currency": "USD",
    "price": 4.00,
    "payment_term": 1,
    "as_usd": 4.00,
    "usd_per_month": 4.00,
    "next_due_date": "2022-02-01"

PUT requests

Update a server


Body content template

    "active": 1,
    "show_public": 0,
    "hostname": "",
    "ns1": "ns1",
    "ns2": "ns2",
    "server_type": 1,
    "os_id": 2,
    "provider_id": 10,
    "location_id": 15,
    "ssh_port": 22,
    "bandwidth": 2000,
    "ram": 2024,
    "ram_type": "MB",
    "ram_as_mb": 2024,
    "disk": 30,
    "disk_type": "GB",
    "disk_as_gb": 30,
    "cpu": 2,
    "has_yabs": 0,
    "was_promo": 1,
    "owned_since": "2022-01-01"

Update pricing


Body content template

    "price": 10.50,
    "currency": "USD",
    "term": 1

DELETE requests

Delete a server



Public viewable listings

If enabled the public viewable table for your server listings is at /servers/public You can configure what you want viewable at /settings

Due date / due soon

This is simply just a reminder. If the homepage is requested (viewed) when a service is over due date it will get reset to plus the term from the old due date.

E.g if the term is a month then the due date gets updated to be 1 month from the old due date.

Supporting YABS commands:

curl -sL | bash


curl -sL | bash -s -- -r

Make sure YABS output starts at the first line which is:

# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #

Logo icons created by Freepik - Flaticon

Screenshots for v2

My idlers screenshot1

My idlers screenshot2

My idlers screenshot3

My idlers screenshot4

My idlers screenshot5

My idlers screenshot6

My idlers screenshot7

My idlers screenshot8