2021-01-20 04:35:24 +01:00
# My idlers
2022-07-20 06:47:37 +02:00
A web app for displaying, organizing and storing information about servers (VPS), shared & reseller hosting, seed boxes,
domains,
2022-03-05 16:22:28 +01:00
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 ](https://github.com/masonr/yet-another-bench-script ) output you can get disk & network speed values along with
GeekBench 5 scores to do easier comparing and sorting.
2021-01-20 04:35:24 +01:00
2022-07-20 06:47:37 +02:00
[![Generic badge ](https://img.shields.io/badge/version-2.1.3-blue.svg )](https://shields.io/) [![Generic badge ](https://img.shields.io/badge/Laravel-9.0-red.svg )](https://shields.io/) [![Generic badge ](https://img.shields.io/badge/PHP-8.1-purple.svg )](https://shields.io/) [![Generic badge ](https://img.shields.io/badge/Bootstrap-5.1-pink.svg )](https://shields.io/)
2022-03-06 11:29:06 +01:00
2022-05-22 05:35:32 +02:00
< img src = "https://raw.githubusercontent.com/cp6/my-idlers/main/public/My%20Idlers%20logo.jpg" width = "128" height = "128" / >
2022-05-22 05:32:22 +02:00
2022-07-20 06:47:37 +02:00
[Demo site ](https://demo.myidlers.com/ )
2022-05-22 05:35:32 +02:00
2022-06-01 15:37:23 +02:00
**Note:** Create, Update and Delete are disabled on demo site.
2022-05-16 15:14:20 +02:00
2022-03-06 11:29:06 +01:00
## Project sponsor
2022-02-04 13:50:18 +01:00
2022-03-06 11:29:06 +01:00
[Cloud Five Limited ](https://cloud-v.net/ ) for providing the hosting for demo installation.
2021-08-19 09:24:28 +02:00
2022-07-20 06:47:37 +02:00
## 2.1.3 changes (20th July 2022):
2022-07-19 07:26:25 +02:00
2022-07-20 06:47:37 +02:00
#### Please run the following if updating from existing install:
```shell
php artisan migrate
php artisan route:cache
php artisan cache:clear
```
* Added YABs to JSON output page
* Added uptime, distro and kernel to YABs inserting
* Added memory swap values to YABs inserting
* Added save YABs as txt file (setting)
* Added back and edit button component with icon
* Updated Reseller model to use relationships + caching
* Updated Misc model to use relationships + caching
* Updated SeedBoxes model to use relationships + caching
* Updated ApiController to use the new model relationship calling (& caching)
* Updated container large screen max width from 1320px to 1420px
2021-01-20 04:35:24 +01:00
2021-01-20 04:55:09 +01:00
## Requires
2021-01-20 04:35:24 +01:00
2022-06-19 13:27:34 +02:00
* PHP 8.1
2021-01-20 04:35:24 +01:00
2021-01-20 04:55:09 +01:00
## Features
2022-03-05 16:22:28 +01:00
2021-01-20 04:35:24 +01:00
* Add servers
* Add shared hosting
* Add domains
2021-01-29 01:42:44 +01:00
* [Auto get IP's from hostname ](https://cdn.write.corbpie.com/wp-content/uploads/2021/01/my-idlers-self-hosted-server-domain-information-ips-from-hostname.gif )
* [Check up/down status ](https://cdn.write.corbpie.com/wp-content/uploads/2021/01/my-idlers-self-hosted-server-domain-information-ping-up-feature.gif )
2021-01-20 04:35:24 +01:00
* Get YABs data from output
2021-02-06 15:28:39 +01:00
* Compare 2 servers
2021-01-20 04:35:24 +01:00
* Save & view YABs output
2021-01-29 01:42:44 +01:00
* Update YABs disk & network results
2021-01-20 04:35:24 +01:00
* Next due date system
* Multi currency compatibility
* Multi payment-term compatibility
* Pre-defined operating systems
2021-01-31 02:46:46 +01:00
* Assign labels
2021-01-20 04:35:24 +01:00
* Assign server type (KVM, OVZ, LXC & dedi)
* Easy to edit values
2021-01-20 04:55:09 +01:00
## Install
2021-01-20 04:35:24 +01:00
2022-03-06 03:03:59 +01:00
* Run `git clone https://github.com/cp6/my-idlers.git` into your directory of choice
2022-03-05 16:22:28 +01:00
* 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`
2021-01-31 02:46:46 +01:00
2022-07-20 06:47:37 +02:00
## Updating
2022-05-16 08:46:08 +02:00
2022-07-20 06:47:37 +02:00
If you already have at least version 2.0 installed:
2022-05-16 08:46:08 +02:00
* Run `git clone https://github.com/cp6/my-idlers.git`
* Run `composer install`
* Run `php artisan migrate`
2022-07-20 06:47:37 +02:00
* Run `php artisan route:cache`
* Run `php artisan cache:clear`
2022-05-16 08:46:08 +02:00
2022-03-14 07:19:11 +01:00
## Run using Docker
2022-05-16 08:46:08 +02:00
2022-03-14 07:19:11 +01:00
```
docker run \
-p 8000:8000\
-e APP_URL=https://... \
-e DB_HOST=... \
-e DB_DATABASE=... \
-e DB_USERNAME=... \
-e DB_PASSWORD=... \
2022-05-17 14:31:27 +02:00
ghcr.io/cp6/my-idlers:latest
2022-03-14 07:51:41 +01:00
docker exec ... php artisan migrate:fresh --seed --force # Set up database one time
2022-03-14 07:19:11 +01:00
```
2022-05-17 14:31:27 +02:00
## Managed Hosting
Run with a single click on [PikaPods.com ](https://www.pikapods.com/ )
[![PikaPods ](https://www.pikapods.com/static/run-button.svg )](https://www.pikapods.com/pods?run=my-idlers)
2022-03-05 16:22:28 +01:00
## API endpoints
2021-01-20 04:35:24 +01:00
2022-03-05 16:22:28 +01:00
For GET requests the header must have `Accept: application/json` and your API token (found at `/account` )
2021-01-20 04:35:24 +01:00
2022-03-05 16:22:28 +01:00
`Authorization : Bearer API_TOKEN_HERE`
2021-01-20 04:55:09 +01:00
2022-03-05 16:22:28 +01:00
All API requests must be appended with `api/` e.g `mydomain.com/api/servers/gYk8J0a7`
2021-01-20 04:55:09 +01:00
2022-03-05 16:22:28 +01:00
**GET request:**
2021-01-20 04:55:09 +01:00
2022-03-05 16:22:28 +01:00
`dns/`
`dns/{id}`
`domains/`
`domains/{id}`
`servers`
`servers/{id}`
`labels/`
`labels/{id}`
`locations/`
`locations/{id}`
`misc/`
`misc/{id}`
2021-01-20 04:55:09 +01:00
2022-03-05 16:22:28 +01:00
`networkSpeeds/`
2021-01-20 04:35:24 +01:00
2022-03-05 16:22:28 +01:00
`networkSpeeds/{id}`
2021-01-20 04:35:24 +01:00
2022-03-05 16:22:28 +01:00
`os/`
2021-01-20 04:35:24 +01:00
2022-03-05 16:22:28 +01:00
`os/{id}`
2021-01-20 04:35:24 +01:00
2022-03-05 16:22:28 +01:00
`pricing/`
2021-01-20 04:41:37 +01:00
2022-03-05 16:22:28 +01:00
`pricing/{id}`
2021-01-20 04:35:24 +01:00
2022-03-05 16:22:28 +01:00
`providers/`
2021-01-20 04:41:37 +01:00
2022-03-05 16:22:28 +01:00
`providers/{id}`
2021-01-20 04:35:24 +01:00
2022-03-05 16:22:28 +01:00
`reseller/`
2021-01-20 04:41:37 +01:00
2022-03-05 16:22:28 +01:00
`reseller/{id}`
2021-01-20 04:35:24 +01:00
2022-05-16 08:46:08 +02:00
`seedbox/`
`seedbox/{id}`
2022-03-05 16:22:28 +01:00
`settings/`
`shared/`
`shared/{id}`
2022-06-19 06:56:19 +02:00
**POST requests**
Create a server
`/servers`
Body content template
```json
{
2022-07-20 06:47:37 +02:00
"active": 1,
"show_public": 0,
"hostname": "test.domain.com",
"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": "127.0.0.1",
"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"
2022-06-19 06:56:19 +02:00
}
```
2022-06-19 13:27:34 +02:00
**PUT requests**
Update a server
`/servers/ID`
Body content template
```json
{
2022-07-20 06:47:37 +02:00
"active": 1,
"show_public": 0,
"hostname": "test.domain.com",
"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"
2022-06-19 13:27:34 +02:00
}
```
Update pricing
`/pricing/ID`
Body content template
```json
{
"price": 10.50,
"currency": "USD",
2022-07-20 06:47:37 +02:00
"term": 1
2022-06-19 13:27:34 +02:00
}
```
**DELETE requests**
Delete a server
`/servers/ID`
2022-03-05 16:22:28 +01:00
## Notes
**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 yabs.sh | bash```
or
```curl -sL yabs.sh | bash -s -- -r```
**Make sure YABs output starts at the first line which is:**
```# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #```
2021-01-20 04:41:37 +01:00
2022-05-22 05:32:22 +02:00
Logo icons created by Freepik - Flaticon
2022-03-05 16:22:28 +01:00
## Screenshots for v2
2021-01-29 01:42:44 +01:00
2022-03-09 03:18:30 +01:00
[![My idlers screenshot1 ](https://cdn.write.corbpie.com/wp-content/uploads/2022/03/My-idlers-v2-home-2.jpg )](https://cdn.write.corbpie.com/wp-content/uploads/2022/03/My-idlers-v2-home-2.jpg)
2021-01-20 04:41:37 +01:00
2022-03-09 03:18:30 +01:00
[![My idlers screenshot2 ](https://cdn.write.corbpie.com/wp-content/uploads/2022/03/My-idlers-v2-server-view.jpg )](https://cdn.write.corbpie.com/wp-content/uploads/2022/03/My-idlers-v2-server-view.jpg)
2021-01-20 04:35:24 +01:00
2022-03-09 03:18:30 +01:00
[![My idlers screenshot3 ](https://cdn.write.corbpie.com/wp-content/uploads/2022/03/My-idlers-v2-servers-home.jpg )](https://cdn.write.corbpie.com/wp-content/uploads/2022/03/My-idlers-v2-servers-home.jpg)
2021-01-20 04:41:37 +01:00
2022-03-09 03:18:30 +01:00
[![My idlers screenshot4 ](https://cdn.write.corbpie.com/wp-content/uploads/2022/03/My-idlers-v2-YABs.jpg )](https://cdn.write.corbpie.com/wp-content/uploads/2022/03/My-idlers-v2-YABs.jpg)
2021-01-20 04:35:24 +01:00
2022-03-09 03:18:30 +01:00
[![My idlers screenshot5 ](https://cdn.write.corbpie.com/wp-content/uploads/2022/03/My-idlers-v2-add-server_2.png )](https://cdn.write.corbpie.com/wp-content/uploads/2022/03/My-idlers-v2-add-server_2.png)
2021-01-29 01:42:44 +01:00
2022-03-09 03:18:30 +01:00
[![My idlers screenshot6 ](https://cdn.write.corbpie.com/wp-content/uploads/2022/03/My-idlers-v2-servers-compare.jpg )](https://cdn.write.corbpie.com/wp-content/uploads/2022/03/My-idlers-v2-servers-compare.jpg)
2021-01-29 01:42:44 +01:00
2022-03-09 03:18:30 +01:00
[![My idlers screenshot7 ](https://cdn.write.corbpie.com/wp-content/uploads/2022/03/My-idlers-v2-Ips.jpg )](https://cdn.write.corbpie.com/wp-content/uploads/2022/03/My-idlers-v2-Ips.jpg)
2021-01-29 01:42:44 +01:00
2022-03-09 03:18:30 +01:00
[![My idlers screenshot8 ](https://cdn.write.corbpie.com/wp-content/uploads/2022/03/My-idlers-v2-labels.jpg )](https://cdn.write.corbpie.com/wp-content/uploads/2022/03/My-idlers-v2-labels.jpg)