Skip to content

gauchocode/brolit-shell

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

BROLIT-SHELL

🌟 About the project

BROLIT-SHELL is a server management tool built on BASH, designed to expediently set up a LEMP Stack on Ubuntu servers (versions 20.04, and 22.04). It streamlines the process of automating and restoring backups, deploying PHP projects, and executing various essential IT tasks efficiently.

ScreenShot

πŸ‘Ύ Why Bash?

  • Natively pre-installed on Linux systems.
  • Lightweight with minimal dependencies.

πŸ’‘ Benefits

  • Standardize server configurations.
  • Automate IT/DevOps tasks for efficiency.
  • Minimize time spent and errors in IT/DevOps operations.

🎯 Features

  • Fully open-source.
  • Automated LEMP stack installation (Nginx, MySQL/MariaDB, PHP).
  • Simplified backup and restoration processes.
  • Backup upload functionality to Dropbox or an FTP server.
  • Restore backups from Dropbox, URLs, or local files.
  • Streamlined creation, deployment, and hosting of PHP projects.
  • WordPress automated installation feature.
  • WP-CLI actions helper for WordPress management.
  • Integration of Let's Encrypt for SSL/TLS management.
  • Cloudflare support through API integration.
  • Image optimization tools to enhance web performance.
  • Comprehensive security tools, including malware scanners.
  • IP/Domain blacklist checking tool.
  • Email and Telegram notifications for system alerts.
  • Additional features and tools for enhanced server management.

🎯 New features! (since v 3.3.8)

  • Enhanced Docker Integration:
    • Facilitates backing up, restoring, and deploying new projects within Docker containers.
    • Offers WordPress-cli support specifically tailored for Docker environments.
  • Wordfence-cli scanning capabilities for WordPress sites.

⚠️ Supports

Ubuntu LTS 20.04 or 22.04

Packages Versions BROLIT config
Nginx O.S default nginx.conf + mime.types + server blocks
Lets Encrypt O.S default default config
MySQL O.S default my.cnf
MariaDB O.S default my.cnf
PHP-FPM 7.4.x/8.2.x php.ini + php-fpm.conf + www.conf
Redis O.S default redis.conf + object-cache.php
Monit O.S default monitrc + mysql + phpfpm + nginx + redis + system
WordPress latest default config
WP-CLI latest default config
Docker latest default config

Enhanced installation support for leading tools

Experience streamlined setup for a range of exceptional tools including Netdata, Grafana, Loki, Promtail, Portainer, Portainer Agent, Cockpit, Zabbix, and more.

Third party utils

BROLIT Shell uses some third-party tools:

Dropbox Uploader

Dropbox Uploader is a BASH script which can be used to upload, download, list or delete files from Dropbox, an online file sharing, synchronization and backup service.

Wordfence-cli

Wordfence-cli is a widely-used security tool for WordPress that provides features like malware scanning, and security monitoring.

Blacklist Checker

Blacklist check UNIX/Linux utility.

Nench

VPS benchmark script β€” based on the popular bench.sh, plus CPU and ioping tests, and dual-stack IPv4 and v6 speedtests by default.

βš™οΈ Installation

IMPORTANT: The script needs to be runned by root.

Cloud-init

#cloud-config
package_update: true
package_upgrade: true
packages:
 - git
runcmd:
- cd /root/
- git clone https://github.com/gauchocode/brolit-shell
- chmod +x brolit-shell/runner.sh

Manual

Cloning repo:

git clone https://github.com/gauchocode/brolit-shell

Change directories to the new ~/brolit-shell directory:

cd ~/brolit-shell

Give the execution permission to the script:

chmod +x runner.sh

🚩 First steps

Execute BROLIT:

./runner.sh

The first time you run BROLIT, it will prompt you to create a new config file: ~/.brolit_conf.json. Then open and edit this json file.

Running as cron job

This script relies on a different configuration file for each system user. The default configuration file location is /root/.brolit_conf.json. This means that if you setup the script with your user and then you try to run a cron job as root, it won't work.

  • To setup the script to run as a cron job please use the option "CRON TASKS"

Running tasks without menu

You can run some tasks like this:

./runner.sh --task "cloudflare-api" --subtask "clear_cache" --domain "gauchocode.com"

More information here: FLAGS

🚨 Update

BREAKING CHANGES SINCE VERSION 3.2

Before upgrade:

  1. Backup and rename the .brolit_conf.json
  2. Run updater.sh
  3. Run runner.sh to regenerate .brolit_conf.json
  4. Edit .brolit_conf.json
  5. If you use Dropbox as backup system, please move old backups to another folder (new directory structure since version 3.2)
  6. Run runner.sh

🧭 TODO List

TODO List

πŸ‘‹ Contributing

Please read CONTRIBUTING for details on our code of conduct, and the process for submitting pull requests to us.

Best Practices

πŸ‘₯ Team

This theme is maintained by the following person(s) and a bunch of awesome contributors.

Leandro Padula
Leandro Padula

⚠️ License

This project is licensed under the MIT License - see the LICENSE file for details.