Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

224 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A personal collection of Bash scripts for Debian-based x86_64 systems. Server bootstrapping, monitoring stack deployment, web server setup, shell quality-of-life tweaks, media downloads, and day-to-day automation.

License: GPL v3 Bash Debian Ubuntu

Scripts are organized into two directories:

  • standalone/ — self-contained scripts, each performing a single task.
  • workflows/ — higher-level scripts that chain standalones together to accomplish a larger goal.

Quick Start

Clone the repository:

git clone https://github.com/rebootless/shell-toolkit.git
cd shell-toolkit

All shell scripts are tracked with the executable bit and automatically corrected by GitHub Actions if necessary.

If your local checkout loses executable permissions (for example, after extracting a ZIP archive or copying files to a filesystem that does not preserve Unix permissions), restore them with:

find . -type f -name "*.sh" -exec chmod +x {} \;

Then either run an individual script from standalone/ or execute a workflow from workflows/.

A dry run in a disposable VM or non-production environment is always a good idea before using scripts on production systems.

Fresh VPS Deployment

For a fresh Debian installation with only Standard system utilities and OpenSSH server selected:

Run as root:

apt update && apt install -y git && \
git clone https://github.com/rebootless/shell-toolkit && \
cd shell-toolkit/workflows/deploy-server && \
cp .env.example .env && \
nano .env

After configuring .env, start the deployment:

./deploy-server

Documentation

Every script includes a metadata block immediately after the shebang describing its purpose, requirements, privileges, dependencies, and other properties (summary, description, sudo, interactive, idempotent, dependencies).

To regenerate the documentation locally:

./generate-docs.py

Requirements

  • Debian-based x86_64 Linux system with Bash 5.0+
  • Root/sudo access for system-level scripts
  • Internet connection for package and image downloads
  • python3 (standard library only) to run generate-docs.py
  • Some scripts require additional software such as Docker, jq, pipx, flatpak, or npm (see the documentation for details)

Contributing

Issues and Pull Requests are welcome.

Please follow the rules:

  • English comments and documentation
  • Metadata block (# ---DOC-START--- ... # ---DOC-END---) for every new script

Before submitting a Pull Request, ensure that documentation generation succeeds:

./generate-docs.py --strict

License

Distributed under the GNU General Public License v3.0.

Built for self-hosted infrastructure, automation, and observability.

About

A personal collection of Bash scripts for Debian-based x86_64 systems. Designed for server bootstrapping, monitoring stack deployment, web server setup, shell quality-of-life tweaks, media downloads, and day-to-day automation.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages