Shango Deploy is a modern deployment tool that simplifies the process of deploying web applications. It provides a high-level configuration interface that generates deployment configurations for various frameworks and automatically provisions servers with best practices.
-
π Framework Support: Deploy applications built with:
- Next.js
- Remix
- Nuxt.js
- Svelte
- AdonisJS
- NestJS
-
π Database Integration:
- PostgreSQL
- MySQL
- SQLite
- Redis (for caching)
-
π§ Server Provisioning:
- Automatic security hardening
- Docker setup
- Fail2Ban configuration
- UFW firewall setup
- SSL/TLS configuration
- System monitoring
-
π¦ Built-in Templates:
- Dockerfile generation
- GitHub Actions workflows
- deployment configurations
npm install -g shango-deploy
- Initialize a new Shango configuration:
shango add
-
Follow the interactive prompts to configure your deployment.
-
Provision your servers:
shango provision
- Deploy your application:
shango deploy
Shango uses a YAML configuration file (shango.yml
) to define your deployment setup:
app:
framework: nextjs
domain: myapp.com
packageManager: npm
database: postgres
cacheDatabase: redis
servers:
- environment: staging
ipv4:
- 33.34.20.3
- 33.34.20.4
- environment: production
ipv4: 44.34.21.23
- Ubuntu 20.04 or newer
- SSH access with root privileges
- Open ports: 22 (SSH), 80 (HTTP), 443 (HTTPS)
Shango automatically implements several security best practices:
- SSH hardening
- Automatic security updates
- Fail2Ban for brute force protection
- UFW firewall configuration
- SSL/TLS setup with Let's Encrypt
- System hardening
We welcome contributions! Please see our Contributing Guide for details.
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
Shango Deploy is built with a modular architecture:
- High-Level Config Parser: Converts user-friendly configuration to detailed deployment specs
- Server Provisioner: Handles server setup and security hardening
- Template System: Manages framework-specific configurations and files
- Deployment Engine: Orchestrates the deployment process
MIT License - see the LICENSE file for details
- Documentation: shango.devalade.me/docs
- Issues: GitHub Issues
- Discord: Join our community
Shango Deploy is inspired by various deployment tools and best practices from the community. Special thanks to:
- Support for more frameworks
- Zero-downtime deployments
- Custom deployment hooks
- Monitoring integration
- Backup management
Built with β€οΈ by devalade