CloudSeeder is a modular platform designed to enable seamless application development and deployment across local, containerized, and cloud environments. It provides libraries and a seed application to help you build complex systems from a simple, extensible starting point.
- Local-First Development: Develop entirely on local resources using bare-metal implementations, ensuring quick and efficient development cycles.
- Containerized Transition: Once the local system is ready, easily transition to containerized builds for testing and production deployment.
- Cloud-Ready: Deploy with minimal configuration changes to cloud platforms like AWS, Azure, or GCP.
- Monorepo Structure: Organized as a monorepo for easy collaboration and management of core libraries and applications.
- Abstracted Messaging and File Access: Use local or cloud-based messaging systems and file storage with consistent APIs.
- Authentication Support: Built-in authentication mechanisms for secure operations, including JWT and OAuth2.
The CloudSeeder repository is structured as follows:
cloudseeder/
├── apps/ # Applications including the seed app and examples
│ ├── seed-app/ # Starting application with FastAPI backend and Next.js frontend
│ └── examples/ # Example applications for various use cases
├── libs/ # Core libraries for messaging, file access, and authentication
│ ├── abstract-file-access/
│ ├── messaging/
│ ├── authentication/
│ └── common/
├── tools/ # Development and deployment tools
│ ├── ci-cd/ # CI/CD configurations and scripts
│ ├── container/ # Container build scripts
│ ├── dev-setup/ # Scripts for local development setup
│ └── scripts/ # Helper scripts
├── docs/ # Documentation for the project
│ ├── setup-guide.md # Setup and installation guide
│ ├── api-reference.md # API documentation
│ └── CONTRIBUTING.md # Contribution guidelines
└── README.md # Main README for the CloudSeeder monorepo
- Python 3.10+
- Node.js 16+ and Yarn
- Docker (optional, for containerization)
- Git
Clone the repository:
git clone https://github.com/your-repo/cloudseeder.git
cd cloudseeder
cd apps/seed-app/backend
python -m venv venv
source venv/bin/activate # On Windows, use `venv\\Scripts\\activate`
pip install -r requirements.txt
cd ../frontend
yarn install
Running the Seed Application
cd apps/seed-app/backend
uvicorn src.main:app --reload
cd apps/seed-app/frontend
yarn dev
Access the application in your browser at http://localhost:3000.
Contributions are welcome! See the CONTRIBUTING.md file for guidelines.
CloudSeeder is licensed under the MIT License. See the LICENSE file for more details.