A registry-driven collection of setup scripts for common server tasks. The main goal is to keep one stable command that opens a menu, while each individual setup task lives as its own script inside this repo.
Run the latest menu from GitHub:
bash <(curl -s https://raw.githubusercontent.com/jaideepp247/server-ops-toolkit/main/setup.sh)Run locally while developing:
SCRIPT_LOCAL_ROOT="$PWD" bash setup.shCurrent menu groups:
| Group | Purpose |
|---|---|
| Reverse Proxy | Web servers, reverse proxies, and SSL setup. |
| Cache & Queues | Cache, queue, and in-memory services such as Redis. |
| Server Utilities | Common server maintenance and provisioning tasks. |
| Applications | Application installers and app-specific setup tools. |
Current scripts:
| Menu Option | Script |
|---|---|
| Nginx + Certbot SSL | tools/reverse-proxy/nginx-certbot.sh |
| Redis | tools/cache/redis.sh |
| Add Swap Memory | tools/server/swap-memory.sh |
| WordPress | tools/apps/wordpress/install.sh |
| WordPress IP to Domain | tools/apps/wordpress/ip-to-domain.sh |
| PM2 Dashboard | tools/apps/pm2-dash/install.sh |
.
├── setup.sh
├── scripts.json
└── tools/
├── apps/
├── cache/
├── reverse-proxy/
└── server/
Important files:
setup.shis the main launcher. It readsscripts.json, shows menus, downloads the selected script, and runs it.scripts.jsonis the registry that controls menu groups and script options.tools/contains the actual setup scripts.
Run these before pushing changes:
bash -n setup.sh
python3 -m json.tool scripts.json
SCRIPT_LOCAL_ROOT="$PWD" bash setup.shThe final command opens the menu using local files instead of downloading from GitHub.
Some scripts install packages, edit system config, restart services, or request sudo. Read the selected script before running it on a production server.