Giter Site home page Giter Site logo

serverman's Introduction

  _____
 / ____|
| (___   ___ _ ____   _____ _ __ _ __ ___   __ _ _ __
 \___ \ / _ \ '__\ \ / / _ \ '__| '_ ` _ \ / _` | '_ \
 ____) |  __/ |   \ V /  __/ |  | | | | | | (_| | | | |
|_____/ \___|_|    \_/ \___|_|  |_| |_| |_|\__,_|_| |_|

Serverman is a comprehensive tool for managing your servers across different platforms directly from your terminal. At the moment the tool can handle DigitalOcean Server Creation and Sites addition, and deploying Github repos on Netlify and Vercel.

If you want to contribute to this project, please read the Contributing file first. For any further doubt don't hesitate to contact me! Issues and features ideas are welcome!

Installation

To install ServerMan locally just open a terminal and run:

npm i -g ghostylab/serverman@latest

then to use it you can run

sm

or

serverman

Configuration

The first time you'll run serverman you'll be asked to provide some configurations. Don't worry if you don't have everything at your first run, you can always access and edit your configs later


Digital Ocean

doAuthToken

  • Your Digital Ocean Token. You can get it here

localKeyFile

  • the path to your ssh key (necessary for ssh your way to the server)

sshKey

  • your Ssh key fingerprint. You can either use an already exsisting key or creating a new one. To add a new ssh key from your computer to Digital Ocean's recognized keys you can go here. You can then ad the fingerprint to your config.

GitHub

GitUser

  • Your github username

GitToken

  • Your Github Token. You can get one by going here

Netlify

NetlifyUser

  • Your Netlify username

NetlifyToken

  • Your Netlify Token. You can get one by going here

GithubInstallation

  • Your Netlify Installation ID on github. If you wish to use ServerMan to create sites on netlify you will need to connect Netlify and github manually and save the installation ID. To create you connection between Netlify and github you just need to go on netlify user settings and configure the connection with your github account (grant access to all the repos to easily deploy further projects). After doing this you can con on Github Application settings click on configure and copy the number appended at the end of the URL.

Vercel

vercelToken

  • Your Vercel Token

serverman's People

Contributors

giuliano1993 avatar

Stargazers

Francesco Bianco (yafb) avatar marcopolello avatar

Watchers

 avatar  avatar

serverman's Issues

Add the possibility to change the default configuration when deployn on Netlify

at the moment Netlify options sent to API to deploy a project are somehow hardcoded: the options are mostly in the direction of a vue project. But we need to have the possibility to change some of them, specifically:

{
      "branch": repo['default_branch'],
      "cmd": "npm run build",
      "dir": "dist/",
      "private": false,
}

these are mostly default commands and directives but could change at times,
branch: is the branches to deploy when it has got pushes or PR
**cmd: ** is the build command
dir is the directory where the built projects is
private check for the private repositories

We should ask some question thanks to inquirer in order to allow this value to be set (the values should default to the ones already in)

Allow to write a local config which is readable by the package

We need to allow configuration so the user can insert all the information needed to make the tool work
we need:

  • Post install script which allow to insert the information in a file saved in the folder
  • a configuration option in the menu which allows to check and write the missing informations

Implement control for common errors

  • implement a check on returned status
  • implement a check before the requests, to be sure all required keys ant tokens are set before making a request

Copy paste doesn't work properly when in the application

If you try to paste something, you need to ctrl-v and then do the right click. This gets pretty annoying especially when you ssh into your servers and if yo perform some sudo action can't say if you've pasted your password or not.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.