monorepo/cloud/infrastructure/README.md

101 lines
3 KiB
Markdown

# 🏗️ Infrastructure
Infrastructure setup for running and deploying MapleFile software (MaplePress backend, MapleFile, etc.), organized for both development and production environments.
---
## 📂 Directory Structure
```
infrastructure/
├── development/ # Local development infrastructure
│ ├── docker-compose.dev.yml
│ ├── Taskfile.yml
│ └── README.md # Development setup instructions
└── production/ # Production deployment infrastructure
├── docker-compose.yml
├── .env.sample
├── README.md # Production deployment guide
├── nginx/ # Reverse proxy configuration
├── monitoring/ # Prometheus + Grafana
├── backup/ # Backup automation
└── scripts/ # Deployment automation
```
---
## 🚀 Quick Start
### For Local Development
If you're a **contributor** or want to **run the project locally**:
👉 **Go to [`development/README.md`](./development/README.md)**
This gives you:
- Local Cassandra cluster (3 nodes)
- Redis cache
- Meilisearch for search
- SeaweedFS for object storage
- WordPress for plugin testing
- All pre-configured for local development
**Quick start:**
```bash
cd development
task dev:start
```
### For Production Deployment
If you're **self-hosting** or **deploying to production**:
👉 **Go to [`production/README.md`](./production/README.md)**
This provides:
- Production-ready Docker Compose setup
- SSL/TLS configuration with Let's Encrypt
- Nginx reverse proxy
- Monitoring with Prometheus + Grafana
- Automated backups
- Security hardening
- Deployment automation
**⚠️ Note:** Production setup requires:
- A server (VPS, cloud instance, or dedicated server)
- A domain name with DNS configured
- Basic Linux administration knowledge
---
## 🎯 Which One Should I Use?
| Scenario | Use This | Location |
|----------|----------|----------|
| Contributing to the project | **Development** | [`development/`](./development/) |
| Running locally for testing | **Development** | [`development/`](./development/) |
| Learning the architecture | **Development** | [`development/`](./development/) |
| Self-hosting for personal use | **Production** | [`production/`](./production/) |
| Deploying for others to use | **Production** | [`production/`](./production/) |
| Running a SaaS business | **Production** | [`production/`](./production/) |
---
## 📚 Documentation
- **Development Setup:** [`development/README.md`](./development/README.md)
- **Production Deployment:** [`production/README.md`](./production/README.md)
- **Architecture Overview:** [`../../CLAUDE.md`](../../CLAUDE.md)
---
## 🤝 Contributing
Found a bug? Want to improve the infrastructure? Please create an [issue](https://codeberg.org/mapleopentech/monorepo/issues/new).
---
## 📝 License
This infrastructure is licensed under the [**GNU Affero General Public License v3.0**](https://opensource.org/license/agpl-v3). See [LICENSE](../../LICENSE) for more information.