Revise applications documentation and onboarding script for improved clarity and functionality. Updated applications.md to include a comprehensive list of 60+ installed tools, added environment verification function in onboarding.sh, and enhanced README with detailed application categories and usage tips.
This commit is contained in:
parent
e2bc5a2b53
commit
617f7a4a39
115
README.md
115
README.md
@ -1,10 +1,10 @@
|
||||
# Developer Onboarding
|
||||
|
||||
A comprehensive developer environment setup toolkit that automates the installation of essential tools and configures Git and SSH for seamless development workflows.
|
||||
A comprehensive developer environment setup toolkit that automates the installation of 60+ essential applications and tools, plus configures Git and SSH for seamless development workflows.
|
||||
|
||||
## Overview
|
||||
|
||||
This project provides scripts and documentation to quickly set up a development environment with all the necessary tools, from basic system utilities to modern development tools and containerization platforms.
|
||||
This project provides scripts and documentation to quickly set up a complete development environment with all the necessary tools, from basic system utilities to modern development tools, containerization platforms, monitoring tools, and security applications. The environment includes everything from shell configuration with Oh My Zsh to Docker containers, VPN setup, backup tools, and comprehensive system monitoring.
|
||||
|
||||
## Quick Start
|
||||
|
||||
@ -28,6 +28,16 @@ This project provides scripts and documentation to quickly set up a development
|
||||
|
||||
## What Gets Configured
|
||||
|
||||
### Complete Development Environment
|
||||
- **60+ Applications & Tools** - See `applications.md` for the complete inventory
|
||||
- **Base System Tools** - curl, wget, git, jq, ripgrep, fd-find, and more
|
||||
- **Development Stack** - Node.js, Python3, Docker CE, VS Code, Cursor IDE
|
||||
- **Shell Environment** - Zsh with Oh My Zsh + Powerlevel10k theme
|
||||
- **Monitoring Tools** - htop, btop, nethogs, iftop, bandwhich, and comprehensive system monitoring
|
||||
- **Security & VPN** - UFW firewall, fail2ban, Tailscale mesh VPN
|
||||
- **Backup Solutions** - rsync, borgbackup, rclone, restic
|
||||
- **Container Platform** - Docker CE with Compose plugin
|
||||
|
||||
### Git Configuration
|
||||
- Global username and email setup
|
||||
- Credential caching for convenience
|
||||
@ -38,19 +48,84 @@ This project provides scripts and documentation to quickly set up a development
|
||||
- Automatic key copying to clipboard
|
||||
- SSH connection testing to Git server
|
||||
|
||||
### System Services Enabled
|
||||
- Docker daemon
|
||||
- Tailscale VPN daemon
|
||||
- UFW firewall
|
||||
- fail2ban intrusion prevention
|
||||
- System monitoring and logging
|
||||
|
||||
## Files in This Repository
|
||||
|
||||
- `onboarding.sh` - Main interactive setup script
|
||||
- `onboarding.sh` - Main interactive setup script for Git/SSH configuration
|
||||
- `applications.md` - **Complete inventory of 60+ installed applications and tools**
|
||||
- `README.md` - This documentation file
|
||||
- `onboarding.sh.save` - Backup/alternative version
|
||||
- `applications.md` - Complete list of installed applications
|
||||
- `README.md` - This file
|
||||
|
||||
## Application Categories Overview
|
||||
|
||||
The complete development environment includes:
|
||||
|
||||
### 🛠️ **Development Tools** (6 applications)
|
||||
- Git, Node.js, npm, Python3, build-essential, pip3
|
||||
|
||||
### 🖥️ **IDEs & Editors** (2 applications)
|
||||
- Visual Studio Code, Cursor (AI-powered editor)
|
||||
|
||||
### 🐳 **Container Platform** (5 Docker components)
|
||||
- Docker CE, Docker CLI, containerd, Buildx, Compose
|
||||
|
||||
### 🔧 **Shell Environment** (6 tools)
|
||||
- Zsh, Oh My Zsh, Powerlevel10k, tmux, fzf, syntax highlighting
|
||||
|
||||
### 📊 **Monitoring Tools** (14 applications)
|
||||
- htop, btop, atop, nethogs, iftop, bandwhich, nmap, wireshark, and more
|
||||
|
||||
### 🔒 **Security & VPN** (Multiple tools)
|
||||
- UFW firewall, fail2ban, Tailscale mesh VPN, SSH hardening
|
||||
|
||||
### 💾 **Backup Solutions** (4 tools)
|
||||
- rsync, borgbackup, rclone, restic
|
||||
|
||||
### 🌐 **Desktop Applications** (4 applications)
|
||||
- Brave Browser, LibreOffice, Redshift, Evince
|
||||
|
||||
*See `applications.md` for the complete detailed list with descriptions.*
|
||||
|
||||
## Usage Tips
|
||||
|
||||
- The script is idempotent - safe to run multiple times
|
||||
- The onboarding script focuses on Git/SSH setup and is idempotent - safe to run multiple times
|
||||
- SSH keys are only generated if they don't already exist
|
||||
- Git config is only set if not already configured
|
||||
- All operations are interactive with user confirmation
|
||||
- The full application stack is installed via Ansible playbooks (see applications.md)
|
||||
|
||||
## Environment Verification
|
||||
|
||||
After setup, you can verify your environment has the expected tools:
|
||||
|
||||
```bash
|
||||
# Check key development tools
|
||||
node --version
|
||||
python3 --version
|
||||
docker --version
|
||||
code --version
|
||||
|
||||
# Check shell environment
|
||||
echo $SHELL # Should show /usr/bin/zsh
|
||||
tmux -V
|
||||
fzf --version
|
||||
|
||||
# Check monitoring tools
|
||||
htop --version
|
||||
btop --version
|
||||
bandwhich --version
|
||||
|
||||
# Check security tools
|
||||
ufw status
|
||||
systemctl status fail2ban
|
||||
tailscale status
|
||||
```
|
||||
|
||||
## Customization
|
||||
|
||||
@ -58,14 +133,30 @@ You can modify the `onboarding.sh` script to:
|
||||
- Change the Git server URL (currently set to `10.0.30.169:3000`)
|
||||
- Adjust SSH key types or parameters
|
||||
- Add additional Git configuration options
|
||||
- Include application verification steps
|
||||
|
||||
## Support
|
||||
## Troubleshooting
|
||||
|
||||
If you encounter issues:
|
||||
1. Ensure you have the required permissions
|
||||
2. Check network connectivity to the Git server
|
||||
3. Verify SSH key permissions (`chmod 600 ~/.ssh/id_ed25519`)
|
||||
### Common Issues:
|
||||
1. **Permission errors**: Ensure you have sudo privileges for system packages
|
||||
2. **Network connectivity**: Check connection to Git server and package repositories
|
||||
3. **SSH key permissions**: Verify with `chmod 600 ~/.ssh/id_ed25519`
|
||||
4. **Docker access**: Ensure user is in docker group: `sudo usermod -aG docker $USER`
|
||||
5. **Snap applications**: If snap apps fail, check with `snap list` and `snap refresh`
|
||||
|
||||
### Service Status Checks:
|
||||
```bash
|
||||
# Check critical services
|
||||
systemctl status docker
|
||||
systemctl status tailscaled
|
||||
systemctl status fail2ban
|
||||
ufw status verbose
|
||||
```
|
||||
|
||||
## Contributing
|
||||
|
||||
Feel free to submit issues or pull requests to improve the onboarding experience.
|
||||
Feel free to submit issues or pull requests to improve the onboarding experience. Consider contributing:
|
||||
- Additional application suggestions
|
||||
- Enhanced verification scripts
|
||||
- Improved troubleshooting documentation
|
||||
- Automation improvements
|
||||
|
||||
2164
applications.md
2164
applications.md
File diff suppressed because it is too large
Load Diff
@ -50,6 +50,54 @@ test_ssh_connection() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Environment verification function
|
||||
verify_environment() {
|
||||
echo
|
||||
echo "=== Environment Verification ==="
|
||||
echo
|
||||
|
||||
# Check key development tools
|
||||
echo "🛠️ Development Tools:"
|
||||
command -v node >/dev/null && echo " ✓ Node.js: $(node --version)" || echo " ✗ Node.js: Not found"
|
||||
command -v python3 >/dev/null && echo " ✓ Python3: $(python3 --version)" || echo " ✗ Python3: Not found"
|
||||
command -v docker >/dev/null && echo " ✓ Docker: $(docker --version)" || echo " ✗ Docker: Not found"
|
||||
command -v code >/dev/null && echo " ✓ VS Code: $(code --version | head -n1)" || echo " ✗ VS Code: Not found"
|
||||
|
||||
echo
|
||||
echo "🐚 Shell Environment:"
|
||||
echo " ✓ Current shell: $SHELL"
|
||||
command -v zsh >/dev/null && echo " ✓ Zsh: $(zsh --version)" || echo " ✗ Zsh: Not found"
|
||||
command -v tmux >/dev/null && echo " ✓ Tmux: $(tmux -V)" || echo " ✗ Tmux: Not found"
|
||||
command -v fzf >/dev/null && echo " ✓ Fzf: $(fzf --version)" || echo " ✗ Fzf: Not found"
|
||||
|
||||
echo
|
||||
echo "📊 Monitoring Tools:"
|
||||
command -v htop >/dev/null && echo " ✓ htop: Available" || echo " ✗ htop: Not found"
|
||||
command -v btop >/dev/null && echo " ✓ btop: Available" || echo " ✗ btop: Not found"
|
||||
command -v bandwhich >/dev/null && echo " ✓ bandwhich: Available" || echo " ✗ bandwhich: Not found"
|
||||
|
||||
echo
|
||||
echo "🔒 Security & VPN:"
|
||||
command -v ufw >/dev/null && echo " ✓ UFW: $(ufw --version | head -n1)" || echo " ✗ UFW: Not found"
|
||||
systemctl is-active fail2ban >/dev/null 2>&1 && echo " ✓ fail2ban: Active" || echo " ✗ fail2ban: Not active"
|
||||
command -v tailscale >/dev/null && echo " ✓ Tailscale: $(tailscale version --short)" || echo " ✗ Tailscale: Not found"
|
||||
|
||||
echo
|
||||
echo "💾 Backup Tools:"
|
||||
command -v rsync >/dev/null && echo " ✓ rsync: $(rsync --version | head -n1)" || echo " ✗ rsync: Not found"
|
||||
command -v borgbackup >/dev/null && echo " ✓ borgbackup: Available" || echo " ✗ borgbackup: Not found"
|
||||
command -v rclone >/dev/null && echo " ✓ rclone: Available" || echo " ✗ rclone: Not found"
|
||||
|
||||
echo
|
||||
echo "🔧 System Tools:"
|
||||
command -v jq >/dev/null && echo " ✓ jq: $(jq --version)" || echo " ✗ jq: Not found"
|
||||
command -v ripgrep >/dev/null && echo " ✓ ripgrep: $(rg --version | head -n1)" || echo " ✗ ripgrep: Not found"
|
||||
command -v fd >/dev/null && echo " ✓ fd-find: Available" || echo " ✗ fd-find: Not found"
|
||||
|
||||
echo
|
||||
echo "For a complete list of installed applications, see applications.md"
|
||||
}
|
||||
|
||||
## MAIN LOGIC
|
||||
|
||||
echo "Checking Git global config..."
|
||||
@ -68,5 +116,14 @@ setup_ssh_key
|
||||
show_and_copy_ssh_key
|
||||
test_ssh_connection
|
||||
|
||||
# Ask if user wants to verify environment
|
||||
echo
|
||||
echo "Setup complete!"
|
||||
read -rp "Would you like to verify your development environment? (y/n): " verify
|
||||
if [[ "$verify" =~ ^[Yy]$ ]]; then
|
||||
verify_environment
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "Git/SSH setup complete!"
|
||||
echo "📋 See applications.md for the complete list of 60+ installed applications"
|
||||
echo "🔧 Run individual commands from the verification section to check specific tools"
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user