153 lines
4.5 KiB
Markdown
153 lines
4.5 KiB
Markdown
# NocoDB
|
|
|
|
No-code database platform that turns any database into a smart spreadsheet.
|
|
|
|
## Overview
|
|
|
|
NocoDB is an open-source no-code platform that transforms any database into a smart spreadsheet interface. It provides a user-friendly way to manage data, create forms, build APIs, and collaborate on database operations without requiring extensive technical knowledge.
|
|
|
|
## Features
|
|
|
|
- **Smart Spreadsheet Interface**: Transform databases into intuitive spreadsheets
|
|
- **Form Builder**: Create custom forms for data entry
|
|
- **API Generation**: Auto-generated REST APIs for all tables
|
|
- **Collaboration**: Real-time collaboration with team members
|
|
- **Access Control**: Role-based permissions and sharing
|
|
- **Data Visualization**: Charts and dashboard creation
|
|
- **Webhooks**: Integration with external services
|
|
- **Import/Export**: Support for CSV, Excel, and other formats
|
|
- **Multi-Database Support**: Works with PostgreSQL, MySQL, SQLite, and more
|
|
|
|
## Access
|
|
|
|
- **Default Port**: 8090
|
|
- **URL**: `http://localhost:8090`
|
|
- **Database**: PostgreSQL (dedicated `root_db` instance)
|
|
|
|
## Configuration
|
|
|
|
### Environment Variables
|
|
|
|
- `NOCODB_PORT`: External port mapping (default: 8090)
|
|
- `NC_DB`: Database connection string for PostgreSQL backend
|
|
|
|
### Database Backend
|
|
|
|
NocoDB uses a dedicated PostgreSQL instance (`root_db`) with the following configuration:
|
|
- **Database Name**: `root_db`
|
|
- **Username**: `postgres`
|
|
- **Password**: `password`
|
|
- **Host**: `root_db` (internal container name)
|
|
|
|
### Volumes
|
|
|
|
- `nc_data`: Application data and configuration storage
|
|
- `db_data`: PostgreSQL database files
|
|
|
|
## Getting Started
|
|
|
|
1. **Access NocoDB**: Navigate to `http://localhost:8090`
|
|
2. **Initial Setup**: Complete the onboarding process
|
|
3. **Create Project**: Start with a new project or connect existing databases
|
|
4. **Add Tables**: Import data or create new tables
|
|
5. **Configure Views**: Set up different views (Grid, Form, Gallery, etc.)
|
|
6. **Set Permissions**: Configure user access and sharing settings
|
|
|
|
## Common Use Cases
|
|
|
|
### Content Management
|
|
- Create content databases for blogs and websites
|
|
- Manage product catalogs and inventories
|
|
- Track customer information and interactions
|
|
|
|
### Project Management
|
|
- Task and project tracking systems
|
|
- Team collaboration workspaces
|
|
- Resource and timeline management
|
|
|
|
### Data Collection
|
|
- Custom forms for surveys and feedback
|
|
- Event registration and management
|
|
- Lead capture and CRM systems
|
|
|
|
### Integration with Other Services
|
|
|
|
NocoDB can integrate well with other Changemaker Lite services:
|
|
|
|
- **n8n Integration**: Use NocoDB as a data source/destination in automation workflows
|
|
- **Listmonk Integration**: Manage subscriber lists and campaign data
|
|
- **Documentation**: Store and manage documentation metadata
|
|
|
|
## API Usage
|
|
|
|
NocoDB automatically generates REST APIs for all your tables:
|
|
|
|
```bash
|
|
# Get all records from a table
|
|
GET http://localhost:8090/api/v1/db/data/v1/{project}/table/{table}
|
|
|
|
# Create a new record
|
|
POST http://localhost:8090/api/v1/db/data/v1/{project}/table/{table}
|
|
|
|
# Update a record
|
|
PATCH http://localhost:8090/api/v1/db/data/v1/{project}/table/{table}/{id}
|
|
```
|
|
|
|
## Backup and Data Management
|
|
|
|
### Database Backup
|
|
|
|
Since NocoDB uses PostgreSQL, you can backup the database:
|
|
|
|
```bash
|
|
# Backup NocoDB database
|
|
docker exec root_db pg_dump -U postgres root_db > nocodb_backup.sql
|
|
|
|
# Restore from backup
|
|
docker exec -i root_db psql -U postgres root_db < nocodb_backup.sql
|
|
```
|
|
|
|
### Application Data
|
|
|
|
Application settings and metadata are stored in the `nc_data` volume.
|
|
|
|
## Security Considerations
|
|
|
|
- Change default database credentials in production
|
|
- Configure proper access controls within NocoDB
|
|
- Use HTTPS for production deployments
|
|
- Regularly backup both database and application data
|
|
- Monitor access logs and user activities
|
|
|
|
## Performance Tips
|
|
|
|
- Regular database maintenance and optimization
|
|
- Monitor memory usage for large datasets
|
|
- Use appropriate indexing for frequently queried fields
|
|
- Consider database connection pooling for high-traffic scenarios
|
|
|
|
## Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
**Service won't start**: Check if the PostgreSQL database is healthy
|
|
```bash
|
|
docker logs root_db
|
|
```
|
|
|
|
**Database connection errors**: Verify database credentials and network connectivity
|
|
```bash
|
|
docker exec nocodb nc_data nc
|
|
```
|
|
|
|
**Performance issues**: Monitor resource usage and optimize queries
|
|
```bash
|
|
docker stats nocodb root_db
|
|
```
|
|
|
|
## Official Documentation
|
|
|
|
For comprehensive guides and advanced features:
|
|
- [NocoDB Documentation](https://docs.nocodb.com/)
|
|
- [GitHub Repository](https://github.com/nocodb/nocodb)
|
|
- [Community Forum](https://community.nocodb.com/) |