{"id":16749916,"url":"https://github.com/danilopolani/grover","last_synced_at":"2026-05-06T02:34:31.847Z","repository":{"id":90158588,"uuid":"89247020","full_name":"danilopolani/grover","owner":"danilopolani","description":"Grover - Web Server Crafter","archived":false,"fork":false,"pushed_at":"2017-05-06T21:53:42.000Z","size":43,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-22T16:48:09.537Z","etag":null,"topics":["fail2ban","firewall","gzip","mysql","nginx","php","server","ssh","web-server"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danilopolani.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-04-24T13:59:49.000Z","updated_at":"2017-09-08T07:39:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"66e04266-0a38-4cd9-9cc2-076d69b2627e","html_url":"https://github.com/danilopolani/grover","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danilopolani%2Fgrover","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danilopolani%2Fgrover/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danilopolani%2Fgrover/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danilopolani%2Fgrover/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danilopolani","download_url":"https://codeload.github.com/danilopolani/grover/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243823144,"owners_count":20353618,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["fail2ban","firewall","gzip","mysql","nginx","php","server","ssh","web-server"],"created_at":"2024-10-13T02:26:28.740Z","updated_at":"2025-10-06T13:02:00.580Z","avatar_url":"https://github.com/danilopolani.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Grover Logo](http://i.imgur.com/CbpIhow.jpg)\n\n## What is this?\nGrover is a simple interactive Python tool that allows you to craft a complete web server with LEMP stack (nginx, MySQL, PHP7.0), Fail2Ban, Firewall, only-SSH login, disable root account and other tools with simple questions like *What is your domain name?*\n\nAt this time Grover is available **only for Ubuntu servers**.\n\n## Why should I use it?\nIt's free, open source and simple to use: why not?\n\n## Ok, got it. How can I start?\n1. Install pexcept with `sudo apt-get install python3-pexpect`\n1. Download grover in your server. SSH in it and execute `wget https://raw.githubusercontent.com/DaniloPolani/grover/master/grover.py`.\n1. Install python3, if you don't have it (you should, man).\n1. Execute `sudo python3 grover.py` and answer to the questions.\n\n## FAQs\n* Why should I launch the script with sudo privileges?\n  * The script needs to update and install packages and edit files, so... It needs them.\n  \n* What is a domain name?\n  * Usually the domain name is your site domain without http and www, for example http://www.example.com will be **example.com**. If you are using a Load Balancer, type your machine IP.\n  \n* What this will install in my server?\n   * **PHP7.0**\n      * *FPM*\n      * *CLI*\n      * *mcrypt*\n      * *mbstring*\n      * *GD*\n      * *Secure removing version from public details*\n   * **Git**\n   * **NodeJS**\n   * **npm**\n   * **MariaDB**\n      * *New user (optional, but suggested)*\n      * *New database (optional)*\n   * **Nginx** (Web Server)\n      * *A project folder (in /var/www)*\n      * *HTTPS (optional) with SSL certificate + Auto redirect + HTTP/2*\n      * *Auto-redirect to www. or non-www.*\n      * *Secure removing version from public details*\n   * **Disable root account** (suggested)\n      * *New user with sudo privileges*\n         * *Auto-copy SSH authorized_keys to new user*\n      * *Disable PermitRootLogin (/etc/ssh/sshd_config file)*\n   * **Enable only SSH** (disabling password login)\n      * *Disable PasswordAuthentication (/etc/ssh/sshd_config file)*\n   * **Fail2Ban**\n   * **Firewall** (iptables + iptables-persistent)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanilopolani%2Fgrover","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanilopolani%2Fgrover","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanilopolani%2Fgrover/lists"}