Server manager is a open source project made for people so that they can add the servers to one single place irrespective of their provider and manage it through one location.

Overview

Server Manager

Are you sick of having to log into hundreads of different website just to access your server? Well we got you, Server manager is a open source project made for people so that they can add the servers to one single place irrespective of their provider and manage it through one location. Feel free to setup a local instance of this, would be helpful to manage servers.

Preview

Supported softwares

ID Softwares Supported
1 Virtualizor Yes
2 Pterodactyl Yes

Installation

The below installation steps are for Ubuntu OS only. Refer to other guides for installation on different OS.

Dependencies

APT Update

apt-get update && apt-get -y upgrade

Curl (used in several places during installation)

apt-get -y install curl

Installed apt-add-repository

apt -y install software-properties-common curl apt-transport-https ca-certificates gnupg

Add Ondřej Surý PPA repository

LC_ALL=C.UTF-8 add-apt-repository -y ppa:ondrej/php

Add Chris-lea redis server repository

add-apt-repository -y ppa:chris-lea/redis-server

Download mariadb setup and install it

curl -sS https://downloads.mariadb.com/MariaDB/mariadb_repo_setup | sudo bash

Install Dependencies

apt -y install php8.0 php8.0-{cli,gd,mysql,pdo,mbstring,tokenizer,bcmath,xml,fpm,curl,zip} mariadb-server nginx tar unzip git redis-server npm

Composer

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Downloading files

mkdir -p /var/www/manager
cd /var/www/manager
git clone https://github.com/RyderAsKing/ServerManager.git ./
chmod -R 755 storage/* bootstrap/cache/

Storage setup, Key setup, Packages install using composer and NPM

# Copy .env.example to .env
cp .env.example .env

# Composer install
composer install --no-dev --optimize-autoloader

# NPM install
npm install express express-ws ws axios

# Only run the command below if you are installing this Panel for the first time
php artisan key:generate --force

# You should create a symbolic link from public/storage to storage/app/public
php artisan storage:link

Database Setup

Login as root

mysql -u root -p

Create database, user and grant all privileges

CREATE DATABASE servermanager;
CREATE USER 'servermanager'@'127.0.0.1' IDENTIFIED BY 'USE_YOUR_OWN_PASSWORD';
GRANT ALL PRIVILEGES ON *.* TO 'servermanager'@'127.0.0.1' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Configuration

Note that you can ignore PRIVATE_KEY, CERTIFICATE and CHAIN if not using HTTPS.

nano .env
#Example .env vars
APP_NAME=ServerManager
APP_URL="http://yourdomain.com"
WEBSOCKET_TYPE="ws://"
WEBSOCKET_DOMAIN="yourdomain.com"
WEBSOCKET_PORT="3000"

PRIVATE_KEY="/etc/letsencrypt/live/yourdomain.com/privkey.pem"
CERTIFICATE="/etc/letsencrypt/live/yourdomain.com/cert.pem"
CHAIN="/etc/letsencrypt/live/yourdomain.com/chain.pem"

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=servermanager
DB_USERNAME=servermanager
DB_PASSWORD=USE_YOUR_OWN_PASSWORD

Installing tables and setting up permission

php artisan migrate --seed --force
chown -R www-data:www-data /var/www/manager/*

Example NGINX Config

nano /etc/nginx/sites-available/manager.conf
# Paste the code below in the file and then save and exit
server {
        listen 80;
        root /var/www/manager/public;
        index index.php index.html index.htm index.nginx-debian.html;
        server_name yourdomain.com; # Change this

        location / {
                try_files $uri $uri/ /index.php?$query_string;
        }

        location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
        }

        location ~ /\.ht {
                deny all;
        }
}

# Enable NGINX Config
# You do not need to symlink this file if you are using CentOS.
sudo ln -s /etc/nginx/sites-available/manager.conf /etc/nginx/sites-enabled/manager.conf

# Check for nginx errors
sudo nginx -t

# You need to restart nginx regardless of OS. only do this you haven't received any errors
systemctl restart nginx

SSL (Optional but recommended)

# Make sure you have python3 installed
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python3-certbot-nginx
sudo certbot --nginx -d yourdomain.com

Finishing up

Congratulations, you are now running a instance of server manager on your server.

Updating

Enable Maintenance Mode

cd /var/www/manager
sudo php artisan down

Downloading new files

sudo git stash
sudo git pull
sudo chmod -R 755 /var/www/manager

Updating database

sudo php artisan migrate --seed --force

Clear cache

sudo php artisan view:clear
sudo php artisan config:clear

Updating dependencies

sudo composer install --no-dev --optimize-autoloader
npm install express express-ws ws axios

Updating permissions

sudo chown -R www-data:www-data /var/www/manager/*

Restarting queue workers

sudo php artisan queue:restart

Disable maintenance mode

sudo php artisan up

Debugging

Get the past 100 logs

tail -n 100 /var/www/manager/storage/logs/laravel.log | nc termbin.com 9999

Paste the URL in the support discord server at https://discord.gg/6ET3NPYn3a

Do note that this is a open source project and we are not obligated to provide support.

Finishing up

Congratulations, you have successfully updated and are now running the latest instance of server manager on your server.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Please make sure to update tests as appropriate.

License

The MIT License (MIT)

Copyright (c) 2021 Server Manager by Ryder Asking

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

You might also like...
GitScrum is a Project Management Tool, developed to help entrepreneurs, freelancers, managers, and teams Skyrocket their Productivity with the Agile methodology and Gamification.
GitScrum is a Project Management Tool, developed to help entrepreneurs, freelancers, managers, and teams Skyrocket their Productivity with the Agile methodology and Gamification.

GitScrum is a Project Management Tool, developed to help entrepreneurs, freelancers, managers, and teams Skyrocket their Productivity with the Agile methodology and Gamification.

flare Manager .flare framework Manager
flare Manager .flare framework Manager

flare-Manager flare Manager .flare framework Manager Welcome to the flare-Manager install Flare form https://github.com/flare-framework/Flare move ind

PHP backend Scripts to add and Manage Live tv Streaming android app
PHP backend Scripts to add and Manage Live tv Streaming android app

PHP Backend to Manage Live TV Streaming Android app Follow Given Steps to Setup Local Environment to run this php Script Setting Up Local Environment

Emoncms is an open-source web application for processing, logging and visualising energy, temperature and other environmental data and is part of the OpenEnergyMonitor project.
Emoncms is an open-source web application for processing, logging and visualising energy, temperature and other environmental data and is part of the OpenEnergyMonitor project.

Emoncms is an open-source web application for processing, logging and visualising energy, temperature and other environmental data and is part of the OpenEnergyMonitor project.

Create videos programmatically in the cloud from PHP: add watermarks, resize videos, create slideshows, add soundtrack, voice-over with text-to-speech (TTS), text animations.

Create videos programmatically in the cloud from PHP: add watermarks, resize videos, create slideshows, add soundtrack, voice-over with text-to-speech (TTS), text animations.

Cool git for cool people.

Welcome to AIP Ticket System 👋 Ticket Management Service for IT Support Requests ✨ Setup Guide Clone Source code to your local machine Download XAMPP

MenuCard - Employees can login with already made admin accounts

MenuCard Symfony 5.4.2 application Employees can login with already made admin accounts. Employees can manages create new accounts for new employees.

WebDirStat is a disk usage utility for web servers written in PHP
WebDirStat is a disk usage utility for web servers written in PHP

WebDirStat is disk usage utility for web servers, it’s a single PHP file that gives you statistics about disk usage inside a specific Directory ordered by size, in a form of a simple tree table.

Online chatting application through a logical decentralized blockchain network that stores chat information and hashing keys implemented using AJAX, JQuery, PHP, SQL, CSS, and HTML
Online chatting application through a logical decentralized blockchain network that stores chat information and hashing keys implemented using AJAX, JQuery, PHP, SQL, CSS, and HTML

Online chatting application through a logical decentralized blockchain network that stores chat information and hashing keys implemented using AJAX, JQuery, PHP, SQL, CSS, and HTML. The blockchain stores a previous hash value, current hash value, time, chat data, and a special key(nonce) used for encryption in each block (node).

Comments
  • Bump guzzlehttp/psr7 from 2.0.0 to 2.2.1

    Bump guzzlehttp/psr7 from 2.0.0 to 2.2.1

    Bumps guzzlehttp/psr7 from 2.0.0 to 2.2.1.

    Release notes

    Sourced from guzzlehttp/psr7's releases.

    2.2.1

    See change log for changes.

    2.2.0

    See change log for changes.

    2.1.2

    See change log for changes.

    2.1.1

    See change log for changes.

    2.1.0

    See change log for changes.

    Changelog

    Sourced from guzzlehttp/psr7's changelog.

    2.2.1 - 2022-03-20

    Fixed

    • Correct header value validation

    2.2.0 - 2022-03-20

    Added

    • A more compressive list of mime types
    • Add JsonSerializable to Uri
    • Missing return types

    Fixed

    • Bug MultipartStream no uri metadata
    • Bug MultipartStream with filename for data:// streams
    • Fixed new line handling in MultipartStream
    • Reduced RAM usage when copying streams
    • Updated parsing in Header::normalize()

    2.1.1 - 2022-03-20

    Fixed

    • Validate header values properly

    2.1.0 - 2021-10-06

    Changed

    • Attempting to create a Uri object from a malformed URI will no longer throw a generic InvalidArgumentException, but rather a MalformedUriException, which inherits from the former for backwards compatibility. Callers relying on the exception being thrown to detect invalid URIs should catch the new exception.

    Fixed

    • Return null in caching stream size if remote size is null
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • Bump minimist from 1.2.5 to 1.2.6

    Bump minimist from 1.2.5 to 1.2.6

    Bumps minimist from 1.2.5 to 1.2.6.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies javascript 
    opened by dependabot[bot] 0
Releases(v2.6)
  • v2.6(Oct 7, 2021)

  • v2.5(Oct 2, 2021)

  • v2.4(Sep 30, 2021)

    Backend: Added new endpoints for subusers /api/user/subuser (returns a list), /api/user/subuser/{id} (returns information) and /api/user/subuser/{id]/destroy (deletes the subuser) Creating a sub user can be done by /api/user/register sending 2 extra params along with the default one ex. ['subuser': true, servers: ["2", "3"]] Frontend: Added list subuser page, delete subuser page, subusers cant access pages like list api, create api and more.

    Source code(tar.gz)
    Source code(zip)
  • v2.3(Sep 26, 2021)

    • Added a api endpoint to list servers directly from source
    • Changed form type add server to import list add server
    • Removed unnecessary php frontend code from version 1.x-2.2
    Source code(tar.gz)
    Source code(zip)
  • v2.1(Sep 19, 2021)

    Note that server manager supports http and https however the websocket server at /pterodactyl/console (server.js) only supports http (ws://) as of now, you cant use https manager with a http websocket server hence you will need to run it on a HTTP for now or have the manager running at HTTPS but skip the console feature. Support for https will be added in future.

    • Add server
    • Add server API endpoint
    • Removed unused code
    Source code(tar.gz)
    Source code(zip)
  • v2.0(Sep 18, 2021)

    React JS client area

    • Login
    • Register
    • List API's
    • Delete API's
    • List servers
    • Perform power actions
    • Server information (basics)
    • Graphs for pterodactyl servers
    • Console for pterodactyl servers
    Source code(tar.gz)
    Source code(zip)
  • v1.4(Sep 11, 2021)

  • v1.3(Sep 5, 2021)

    Following API end points were made

    /api/server - returns all servers that you own /api/server/{id} - returns server information /api/server/{id}/power - sends power action to server ("action" => "start|stop|restart|kill") /api/server/{id}/destroy - deletes the server from the database

    Many more fixes.

    Source code(tar.gz)
    Source code(zip)
  • v1.2(Sep 5, 2021)

    Error handling for Virtualizor empty response (most likely due to invalid license or host blocking api requests). Changed pterodactyl status grpah to "percentage", previously it was percentage for CPU and megabyte for RAM, which made CPU always on the bottom of the graph for practical use and that made the graph completely useless for CPU.

    Source code(tar.gz)
    Source code(zip)
  • v1.1(Sep 1, 2021)

    The value "0" which means "no-limit" on pterodactyl now show up as Unlimited instead of 0 on the server manager. VPS which have VNC enabled will show a additional button on the management page which once clicked shows a model with VNC information. Alot more bug fixes.

    Source code(tar.gz)
    Source code(zip)
  • v1.0(Aug 26, 2021)

    Virtualizor and Pterodactyl server support, add or remove multiple API's. No host restriction, manage all servers at a single place irrespective of the host.

    Source code(tar.gz)
    Source code(zip)
Owner
Web developer and Node JS lover!
null
ControlPanel's Dashboard is a dashboard application designed to offer clients a management tool to manage their pterodactyl servers.

Features PayPal Integration Email Verification Audit Log Admin Dashboard User/Server Management Store (credit system) Vouchers and so much more! Contr

ControlPanel.gg 223 Jan 5, 2023
TinyFileManager is web based file manager and it is a simple, fast and small file manager with a single file, multi-language ready web application

TinyFileManager is web based file manager and it is a simple, fast and small file manager with a single file, multi-language ready web application for storing, uploading, editing and managing files and folders online via web browser. The Application runs on PHP 5.5+, It allows the creation of multiple users and each user can have its own directory and a build-in support for managing text files with cloud9 IDE and it supports syntax highlighting for over 150+ languages and over 35+ themes.

Prasath Mani 3.5k Jan 7, 2023
AdoteUm.Dev has the proposal to connect people who are looking for developers for their projects

AdoteUm.Dev has the proposal to connect people who are looking for developers for their projects. AdoteUmDev is a web application, developed in PHP language and the Laravel Framework.

Beer And Code 101 Oct 19, 2022
Linkfyle is a system that allows you to collect your social media accounts in one place and be reachable.

Linkfyle About Linkfyle is a system that allows you to collect your social media accounts in one place and be reachable. Features Login and Registrati

null 6 Dec 15, 2022
CI4-Lic is a software license manager modul for Codeigniter 4, connecting to WordPress license server based on the Software License Manager Plugin.

CI4-Lic CI4-Lic is a software license manager modul for Codeigniter 4, connecting to WordPress license server based on Software License Manager Plugin

George Lewe 1 Jan 15, 2022
A great looking and easy-to-use photo-management-system you can run on your server, to manage and share photos.

Lychee A great looking and easy-to-use photo-management-system. Since the 1st of April 2018 this project has moved to it's own Organisation (https://g

Tobias Reich 6.2k Jan 5, 2023
This is a Task Manager system for managing your task. You can categorize your tasks and upload music to the project And a whole host of other features

taskManager Login and register Each user can have their own task Categorize tasks by creating folders Edit and Delete Folders Search for Tasks Show nu

masoudharooni 11 May 22, 2022
DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

DooTask is a lightweight open source online project task management tool that provides various document collaboration tools, online mind mapping, online flowcharting, project management, task distribution, instant IM, file management and other tools.

kuaifan 3k Jan 5, 2023
Open Source Voucher Management System is a web application for manage voucher. used PHP with Laravel Framework and use MySQL for Database.

Voucher Management System is a web application for manage voucher. You can create and manage your voucher. Voucher Management System is used PHP with Laravel Framework and use MySQL for Database.

Artha Nugraha Jonar 34 Sep 17, 2022
Passbolt - Open source password manager for teams

Passbolt - Open source password manager for teams

Passbolt 3.4k Dec 30, 2022