cb2ff263fb
Updated reseller for IP address CRUD |
||
---|---|---|
.idea | ||
app | ||
bootstrap | ||
config | ||
database | ||
public | ||
resources | ||
routes | ||
storage | ||
tests | ||
.editorconfig | ||
.env.example | ||
.gitattributes | ||
.gitignore | ||
.styleci.yml | ||
artisan | ||
composer.json | ||
composer.lock | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
phpunit.xml | ||
README.md | ||
server.php | ||
tailwind.config.js | ||
webpack.mix.js |
My idlers
A web app for displaying, organizing and storing information about servers (VPS), shared & reseller hosting, 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 scores to do easier comparing and sorting.
V2 notes
V2 build is a complete overhaul of My idlers with the project being moved onto the Laravel framework. This will simplify development and most of the features from the original build will be present in V2.
Using Laravel will bring in an API endpoint and the possibilities to show servers publicly with certain parameters removed.
2.0 changes:
Unfortunately you cannot migrate your current install to the new 2.0 version
- Laravel framework (version 9).
- Breeze authentication.
- API GET for any of the CRUD data.
- Labels (titles/desc) system.
- Misc services.
- DNS CRUD.
- Reseller hosting.
- Added Operating systems to DB, Deleting and creating them now possible.
- Make servers displayable public with config options to hide certain values.
- Vue JS used where possible.
- Datatables used on large tables (Locations, labels, and providers).
Requires
- PHP 8 (compatible with 8.1)
- MySQL server
Features
- 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
- Order by table
- Tally/stats card
Install
-
git clone https://github.com/cp6/my-idlers.git 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
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 mydomain.com/api/servers/gYk8J0a7
GET request:
dns/
dns/{id}
domains/
domains/{id}
servers
servers/{id}
labels/
labels/{id}
locations/
locations/{id}
misc/
misc/{id}
networkSpeeds/
networkSpeeds/{id}
os/
os/{id}
pricing/
pricing/{id}
providers/
providers/{id}
reseller/
reseller/{id}
settings/
shared/
shared/{id}
Notes
Public viewable listings
If enabled the public viewable table for your server listings is at /servers/public
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:
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #