101 lines
3 KiB
Markdown
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.
|