Skip to content

πŸ“¦ Shango Deploy | Modern deployment automation tool that simplifies deploying web applications with zero configuration. Supports multiple frameworks, automated server provisioning, and built-in security best practices. Deploy anywhere with confidence. πŸš€

Notifications You must be signed in to change notification settings

devalade/shango-deploy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

58 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Shango Deploy πŸš€

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.

Features ✨

  • πŸ›  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

Installation πŸ“₯

npm install -g shango-deploy

Quick Start πŸš€

  1. Initialize a new Shango configuration:
shango add
  1. Follow the interactive prompts to configure your deployment.

  2. Provision your servers:

shango provision
  1. Deploy your application:
shango deploy

Configuration πŸ“

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

Server Requirements πŸ–₯

  • Ubuntu 20.04 or newer
  • SSH access with root privileges
  • Open ports: 22 (SSH), 80 (HTTP), 443 (HTTPS)

Security Best Practices πŸ”’

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

Contributing 🀝

We welcome contributions! Please see our Contributing Guide for details.

  1. Fork the repository
  2. Create a feature branch
  3. Commit your changes
  4. Push to the branch
  5. Open a Pull Request

Architecture πŸ—

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

License πŸ“„

MIT License - see the LICENSE file for details

Support πŸ’¬

Credits πŸ‘

Shango Deploy is inspired by various deployment tools and best practices from the community. Special thanks to:

Roadmap πŸ—Ί

  • Support for more frameworks
  • Zero-downtime deployments
  • Custom deployment hooks
  • Monitoring integration
  • Backup management

Built with ❀️ by devalade

About

πŸ“¦ Shango Deploy | Modern deployment automation tool that simplifies deploying web applications with zero configuration. Supports multiple frameworks, automated server provisioning, and built-in security best practices. Deploy anywhere with confidence. πŸš€

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published