docs: add MIT license and update README

This commit is contained in:
2026-03-15 16:58:44 -05:00
parent 2e91fbad84
commit 19026744dc
2 changed files with 249 additions and 2 deletions

21
LICENSE Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2026 Alejandro Ayala Usuga, Alejandra Urrego - AUSOLITIONS - ONECLUSTER
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

230
README.md
View File

@@ -1,2 +1,228 @@
Naliia
======
# NaliiaPro
A Docker-based ERP system built on Tryton, designed for business management with a modular architecture including web server, background workers, and scheduled tasks.
## Overview
NaliiaPro is an enterprise resource planning (ERP) application powered by [Tryton](https://www.tryton.org/), a powerful open-source ERP framework written in Python. The project uses Docker containerization for easy deployment and scaling.
## Technology Stack
| Component | Technology |
|-----------|------------|
| **ERP Framework** | Tryton |
| **Database** | PostgreSQL |
| **Web Server** | Nginx (Reverse Proxy) |
| **Containerization** | Docker & Docker Compose |
| **Backend** | Python |
| **Task Queue** | Tryton Worker (Celery-like) |
| **Scheduler** | Tryton Cron |
## Architecture
The application consists of multiple Docker services:
```
┌─────────────┐
│ Nginx │ Port: 10000 (configurable)
└──────┬──────┘
┌──────▼──────┐
│ Tryton │ Main application server (Port 8000)
└──────┬──────┘
┌──────▼──────┐
│ PostgreSQL │ Database
└─────────────┘
┌─────────────┐
│ Worker │ Background task processor
└─────────────┘
┌─────────────┐
│ Cron │ Scheduled tasks
└─────────────┘
```
### Services
- **db**: PostgreSQL database container
- **tryton**: Tryton server handling HTTP requests
- **worker**: Background worker for async tasks
- **cron**: Scheduled task runner
- **nginx**: Reverse proxy handling external requests
## Project Structure
```
NaliiaPro/
├── docker-compose.yaml # Docker Compose configuration
├── nginx.conf # Nginx reverse proxy configuration
├── .env.example # Environment variables template
├── .gitignore # Git ignore patterns
└── README.md # This file
```
## Prerequisites
- Docker
- Docker Compose
- Access to the Naliia Docker image registry
## Configuration
### Environment Variables
Copy `.env.example` to `.env` and configure the following variables:
| Variable | Description | Default |
|----------|-------------|---------|
| `NALIIA_IMAGE` | Docker image for Tryton | `gitea.onecluster.org/oneteam/naliia:1.0.0_pro` |
| `DB_HOSTNAME` | Database hostname | `db` |
| `POSTGRES_DB` | Database name | `database` |
| `POSTGRES_USER` | Database user | `postgres` |
| `POSTGRES_PASSWORD` | Database password | `SUp3r-pass*DB` |
| `TRYTOND_DATABASE_URI` | Tryton database connection URI | `postgresql://user:pass@db:5432/` |
| `EMAIL` | Admin email | `admin@admin.org` |
| `TRYTON_PORT` | Tryton server port | `8000` |
| `SERVER_NAME` | Domain name for Nginx | `tryton.domain.com` |
| `NGINX_PORT` | Nginx listening port | `10000` |
| `SMTP_*` | SMTP configuration for email | See `.env.example` |
### SMTP Configuration
Configure SMTP settings for email notifications:
```
SMTP=True
SMTP_TYPE=smtps+ssl
SMTP_USER=user
SMTP_PASSWORD=password
SMTP_DOMAIN=domain.com
SMTP_PORT=465
SMTP_FROM=Company CO
SMTP_EMAIL=domain@domain.com
```
## Setup & Installation
### 1. Clone the Repository
```bash
git clone <repository-url>
cd NaliiaPro
```
### 2. Configure Environment Variables
```bash
cp .env.example .env
# Edit .env with your configuration
```
### 3. Start the Application
```bash
docker-compose up -d
```
### 4. Verify Services
```bash
docker-compose ps
```
The application should be accessible at `http://localhost:10000` (or the port specified in `NGINX_PORT`).
## Usage
### Basic Commands
```bash
# Start all services
docker-compose up -d
# Stop all services
docker-compose down
# View logs
docker-compose logs -f
# View logs for specific service
docker-compose logs -f tryton
# Restart a specific service
docker-compose restart tryton
```
### Accessing Tryton
After starting the services, access Tryton through the Nginx proxy:
- **URL**: `http://localhost:10000` (or configured `NGINX_PORT`)
- **Protocol**: Tryton XML-RPC/SOAP
### Database Management
The PostgreSQL data is persisted in a Docker volume. To reset the database:
```bash
docker-compose down -v # Warning: This deletes all data
docker-compose up -d
```
## Development
### Volume Mounts
The following volumes are mounted for development:
- `var`: Tryton var directory
- `attachment`: File attachments storage
### Health Checks
Each service includes health checks:
- **db**: Checks PostgreSQL availability
- **tryton**: Checks HTTP response on port 8000
- **worker/cron**: Started after tryton is healthy
## Troubleshooting
### Check Service Logs
```bash
docker-compose logs db
docker-compose logs tryton
docker-compose logs worker
docker-compose logs cron
```
### Common Issues
1. **Database connection failed**: Verify `POSTGRES_PASSWORD` and `DB_HOSTNAME` in `.env`
2. **Nginx 502 Bad Gateway**: Ensure Tryton service is running and healthy
3. **Port conflicts**: Change `NGINX_PORT` in `.env` if port 10000 is in use
### Reset Everything
```bash
docker-compose down -v
docker-compose up -d
```
## Security Notes
- Change default passwords in production
- Use strong database passwords
- Configure SSL/TLS in Nginx for production
- Keep Docker images updated
- Never commit `.env` files to version control
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Support
For issues and questions, please contact the development team.