feat: add openlit & openobserve & buildingai
This commit is contained in:
231
apps/buildingai/README.md
Normal file
231
apps/buildingai/README.md
Normal file
@@ -0,0 +1,231 @@
|
||||
# BuildingAI
|
||||
|
||||
BuildingAI is an intelligent AI application development platform that empowers developers to quickly build and deploy AI-powered applications. Built on NestJS + Vue 3, it provides a comprehensive solution for creating, managing, and deploying AI agents with a modern, user-friendly interface.
|
||||
|
||||
## Features
|
||||
|
||||
- 🤖 **AI Agent Builder**: Create and customize AI agents with drag-and-drop interface
|
||||
- 💬 **Conversation Management**: Advanced chat interface with context awareness
|
||||
- 🔌 **MCP Server Integration**: Support for Model Context Protocol servers
|
||||
- 🎨 **Modern UI**: Built with Vue 3 and Nuxt for excellent user experience
|
||||
- 🔒 **Enterprise Ready**: Built-in user management, authentication, and multi-tenancy
|
||||
- 📊 **Analytics**: Track usage and performance of your AI applications
|
||||
- 🌐 **i18n Support**: Multi-language interface support
|
||||
- 🔧 **Extensible**: Plugin system for custom extensions
|
||||
|
||||
## Tech Stack
|
||||
|
||||
- **Backend**: NestJS 11.x + TypeORM 0.3.x
|
||||
- **Database**: PostgreSQL 17.x
|
||||
- **Cache**: Redis 8.x
|
||||
- **Frontend**: Vue.js 3.x + Nuxt + Vite 7.x
|
||||
- **TypeScript**: 5.x
|
||||
- **Monorepo**: Turbo 2.x
|
||||
|
||||
## Quick Start
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Docker and Docker Compose installed
|
||||
- At least 4GB RAM available
|
||||
- 5GB free disk space
|
||||
|
||||
### Deployment
|
||||
|
||||
1. Copy the environment file:
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
2. (Optional) Modify the `.env` file to customize your configuration:
|
||||
- Set `DB_PASSWORD` for database security
|
||||
- Set `REDIS_PASSWORD` for Redis security
|
||||
- Configure `BUILDINGAI_PORT_OVERRIDE` if you need a different port
|
||||
- Set `NPM_REGISTRY_URL` if you need a custom npm registry mirror
|
||||
|
||||
3. Start the services:
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
4. Wait for services to be ready (may take a few minutes on first start):
|
||||
|
||||
```bash
|
||||
docker compose logs -f buildingai
|
||||
```
|
||||
|
||||
5. Access BuildingAI at [http://localhost:4090/install](http://localhost:4090/install) to complete the initial setup wizard.
|
||||
|
||||
### Default Ports
|
||||
|
||||
- **BuildingAI**: 4090 (web interface)
|
||||
- **PostgreSQL**: 5432 (database)
|
||||
- **Redis**: 6379 (cache)
|
||||
|
||||
You can override these ports in the `.env` file.
|
||||
|
||||
## Configuration
|
||||
|
||||
### Environment Variables
|
||||
|
||||
All configuration is done through the `.env` file. See [.env.example](.env.example) for all available options.
|
||||
|
||||
#### Key Settings
|
||||
|
||||
- `DB_USERNAME` / `DB_PASSWORD`: Database credentials
|
||||
- `REDIS_PASSWORD`: Redis password (optional, but recommended for production)
|
||||
- `SERVER_PORT`: Internal application port
|
||||
- `NPM_REGISTRY_URL`: Custom npm registry mirror (useful in China or private networks)
|
||||
|
||||
### Resource Limits
|
||||
|
||||
Default resource limits are configured for small to medium deployments:
|
||||
|
||||
- **BuildingAI**: 2 CPU cores, 3584MB RAM
|
||||
- **PostgreSQL**: 1 CPU core, 512MB RAM
|
||||
- **Redis**: 0.25 CPU cores, 256MB RAM
|
||||
|
||||
Adjust these in `.env` based on your workload.
|
||||
|
||||
## Data Persistence
|
||||
|
||||
All data is stored in Docker volumes:
|
||||
|
||||
- `buildingai_data`: Application data and uploads
|
||||
- `postgres_data`: Database files
|
||||
- `redis_data`: Redis persistence
|
||||
|
||||
### Backup
|
||||
|
||||
To backup your data:
|
||||
|
||||
```bash
|
||||
# Backup database
|
||||
docker compose exec postgres pg_dump -U postgres buildingai > backup.sql
|
||||
|
||||
# Backup application data
|
||||
docker run --rm -v buildingai_buildingai_data:/data -v $(pwd):/backup alpine tar czf /backup/buildingai-data.tar.gz -C /data .
|
||||
```
|
||||
|
||||
### Restore
|
||||
|
||||
```bash
|
||||
# Restore database
|
||||
docker compose exec -T postgres psql -U postgres buildingai < backup.sql
|
||||
|
||||
# Restore application data
|
||||
docker run --rm -v buildingai_buildingai_data:/data -v $(pwd):/backup alpine tar xzf /backup/buildingai-data.tar.gz -C /data
|
||||
```
|
||||
|
||||
## Maintenance
|
||||
|
||||
### View Logs
|
||||
|
||||
```bash
|
||||
# All services
|
||||
docker compose logs -f
|
||||
|
||||
# Specific service
|
||||
docker compose logs -f buildingai
|
||||
```
|
||||
|
||||
### Restart Services
|
||||
|
||||
```bash
|
||||
# All services
|
||||
docker compose restart
|
||||
|
||||
# Specific service
|
||||
docker compose restart buildingai
|
||||
```
|
||||
|
||||
### Update BuildingAI
|
||||
|
||||
```bash
|
||||
# Pull latest images
|
||||
docker compose pull
|
||||
|
||||
# Restart with new images
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### Stop Services
|
||||
|
||||
```bash
|
||||
# Stop all services
|
||||
docker compose down
|
||||
|
||||
# Stop and remove volumes (WARNING: deletes all data)
|
||||
docker compose down -v
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### BuildingAI won't start
|
||||
|
||||
1. Check service health:
|
||||
|
||||
```bash
|
||||
docker compose ps
|
||||
```
|
||||
|
||||
2. Check logs for errors:
|
||||
|
||||
```bash
|
||||
docker compose logs buildingai
|
||||
```
|
||||
|
||||
3. Ensure PostgreSQL and Redis are healthy:
|
||||
|
||||
```bash
|
||||
docker compose ps postgres redis
|
||||
```
|
||||
|
||||
### Database connection errors
|
||||
|
||||
- Verify `DB_USERNAME`, `DB_PASSWORD`, and `DB_DATABASE` in `.env`
|
||||
- Check PostgreSQL logs: `docker compose logs postgres`
|
||||
- Ensure PostgreSQL healthcheck is passing
|
||||
|
||||
### Redis connection errors
|
||||
|
||||
- If `REDIS_PASSWORD` is set, ensure it matches in all services
|
||||
- Check Redis logs: `docker compose logs redis`
|
||||
- Verify Redis healthcheck status
|
||||
|
||||
### Performance issues
|
||||
|
||||
- Increase resource limits in `.env`
|
||||
- Monitor resource usage: `docker stats`
|
||||
- Check for sufficient disk space
|
||||
|
||||
## Security Recommendations
|
||||
|
||||
For production deployments:
|
||||
|
||||
1. **Set strong passwords** for `DB_PASSWORD` and `REDIS_PASSWORD`
|
||||
2. **Do not expose** PostgreSQL and Redis ports externally (remove port mappings or use firewall rules)
|
||||
3. **Use a reverse proxy** (nginx, Caddy) with HTTPS for the BuildingAI web interface
|
||||
4. **Regular backups** of database and application data
|
||||
5. **Monitor logs** for suspicious activity
|
||||
6. **Keep images updated** regularly
|
||||
|
||||
## Links
|
||||
|
||||
- [GitHub Repository](https://github.com/BidingCC/BuildingAI)
|
||||
- [Official Website](https://www.buildingai.cc/)
|
||||
- [Live Demo](http://demo.buildingai.cc/)
|
||||
- [Documentation](https://www.buildingai.cc/docs/introduction/install)
|
||||
|
||||
## License
|
||||
|
||||
Please refer to the [original repository](https://github.com/BidingCC/BuildingAI) for license information.
|
||||
|
||||
## Support
|
||||
|
||||
For issues and questions:
|
||||
|
||||
- GitHub Issues: [BuildingAI Issues](https://github.com/BidingCC/BuildingAI/issues)
|
||||
- Official Documentation: [BuildingAI Docs](https://www.buildingai.cc/docs/)
|
||||
Reference in New Issue
Block a user