first commit
This commit is contained in:
commit
079e0c031c
93
README.md
Normal file
93
README.md
Normal file
@ -0,0 +1,93 @@
|
||||
# Bash Script Generator
|
||||
|
||||
A web-based tool for generating comprehensive Linux server setup scripts. This FastAPI application allows administrators to configure and download a single bash script that automates common server baseline setup tasks.
|
||||
|
||||
## Features
|
||||
|
||||
### System Setup
|
||||
- Initial system update & upgrade
|
||||
- Automatic security updates (unattended-upgrades)
|
||||
- Timezone configuration
|
||||
- Hostname setup
|
||||
- NTP time synchronization
|
||||
- Swap file configuration
|
||||
|
||||
### Security & Hardening
|
||||
- SSH hardening (disable root login, strong ciphers, timeouts)
|
||||
- Fail2ban intrusion prevention
|
||||
- Pre-login and post-login banners
|
||||
- SSH 2FA (Google Authenticator installation)
|
||||
|
||||
### Docker & Services
|
||||
- Docker + Docker Compose installation
|
||||
- Docker admin user creation with restricted permissions
|
||||
- Custom Docker data directory with ACL permissions
|
||||
- UFW firewall configuration
|
||||
- Network bonding/bridging (netplan)
|
||||
|
||||
### User Management
|
||||
- Admin user creation with sudo access
|
||||
- SSH public key authentication setup
|
||||
|
||||
### Monitoring & Utilities
|
||||
- Monitoring tools (htop, iotop, net-tools, etc.)
|
||||
- Build tools (build-essential, git, etc.)
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Using Docker (Recommended)
|
||||
|
||||
```bash
|
||||
cd bashgen
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
Access the web interface at `http://localhost:8083`
|
||||
|
||||
### Manual Setup
|
||||
|
||||
```bash
|
||||
cd bashgen
|
||||
python -m venv .venv
|
||||
source .venv/bin/activate # On Windows: .venv\Scripts\activate
|
||||
pip install -r requirements.txt
|
||||
uvicorn app:app --host 0.0.0.0 --port 8080
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
1. Open the web interface
|
||||
2. Select the features you want to include
|
||||
3. Configure parameters (hostname, timezone, ports, etc.)
|
||||
4. Add system owner information
|
||||
5. Paste SSH public keys (if creating admin user)
|
||||
6. Download the generated `.sh` script
|
||||
7. Run on your Ubuntu server: `sudo bash setup-server.sh`
|
||||
|
||||
## Project Structure
|
||||
|
||||
```
|
||||
bashgen/
|
||||
├── app.py # FastAPI backend
|
||||
├── requirements.txt # Python dependencies
|
||||
├── Dockerfile # Docker image definition
|
||||
├── docker-compose.yml # Docker Compose configuration
|
||||
├── templates/
|
||||
│ ├── index.html # Web form frontend
|
||||
│ └── script.sh.j2 # Bash script Jinja2 template
|
||||
└── README.md # This file
|
||||
```
|
||||
|
||||
## Requirements
|
||||
|
||||
- Python 3.11+
|
||||
- Docker & Docker Compose (for containerized deployment)
|
||||
- Ubuntu Server (for generated scripts)
|
||||
|
||||
## License
|
||||
|
||||
[Add your license here]
|
||||
|
||||
## Contributing
|
||||
|
||||
[Add contribution guidelines here]
|
||||
Loading…
x
Reference in New Issue
Block a user