feat: add comprehensive documentation including user guide, API reference, and deployment instructions
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
# Deployment Guide
|
||||
|
||||
This guide provides instructions for deploying DocuNova in various environments.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Docker and Docker Compose
|
||||
- Access to required external services (if configured):
|
||||
- OpenAI API
|
||||
- Azure Document Intelligence
|
||||
- Dropbox API
|
||||
- Nextcloud instance
|
||||
- Paperless NGX instance
|
||||
- SMTP server (for email notifications)
|
||||
- IMAP server(s) (for email attachment processing)
|
||||
|
||||
## Docker Deployment
|
||||
|
||||
Docker is the recommended deployment method for DocuNova.
|
||||
|
||||
### Step 1: Clone the Repository
|
||||
|
||||
```bash
|
||||
git clone https://github.com/christianlouis/document-processor.git
|
||||
cd document-processor
|
||||
```
|
||||
|
||||
### Step 2: Configure Environment Variables
|
||||
|
||||
Create a `.env` file based on the example:
|
||||
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
Edit the `.env` file with your configuration settings. See the [Configuration Guide](ConfigurationGuide.md) for details.
|
||||
|
||||
### Step 3: Run with Docker Compose
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
This will start:
|
||||
- The DocuNova API server
|
||||
- A worker for background tasks
|
||||
- Redis for message broker and result storage
|
||||
- Gotenberg for PDF processing
|
||||
|
||||
### Step 4: Verify the Installation
|
||||
|
||||
Access the web interface at `http://localhost:8000` and the API documentation at `http://localhost:8000/docs`.
|
||||
|
||||
## Production Considerations
|
||||
|
||||
### Reverse Proxy Setup
|
||||
|
||||
For production use, we recommend setting up a reverse proxy (like Nginx or Traefik) to handle HTTPS and domain routing:
|
||||
|
||||
```nginx
|
||||
server {
|
||||
listen 80;
|
||||
server_name docunova.example.com;
|
||||
|
||||
location / {
|
||||
proxy_pass http://localhost:8000;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Persistent Storage
|
||||
|
||||
The Docker setup uses volumes for persistent storage. For production, consider:
|
||||
|
||||
```yaml
|
||||
volumes:
|
||||
- /path/to/persistent/storage:/workdir
|
||||
```
|
||||
|
||||
### Security
|
||||
|
||||
1. **Always use HTTPS** in production
|
||||
2. Enable authentication by setting `AUTH_ENABLED=true`
|
||||
3. Use strong passwords for all services
|
||||
4. Limit access to the Docker host
|
||||
5. Regularly update the application and dependencies
|
||||
|
||||
## Scaling
|
||||
|
||||
For high-volume deployments:
|
||||
|
||||
1. Increase worker processes by adding more worker containers:
|
||||
|
||||
```yaml
|
||||
worker:
|
||||
image: christianlouis/document-processor:latest
|
||||
deploy:
|
||||
replicas: 3
|
||||
```
|
||||
|
||||
2. Consider using dedicated Redis and database servers
|
||||
3. Monitor system performance and adjust resources as needed
|
||||
|
||||
## Monitoring
|
||||
|
||||
Monitor your DocuNova deployment using:
|
||||
|
||||
- Docker's built-in logging: `docker-compose logs -f`
|
||||
- Container metrics: `docker stats`
|
||||
- External monitoring tools like Prometheus and Grafana
|
||||
|
||||
## Backup Procedures
|
||||
|
||||
Regularly back up the following:
|
||||
|
||||
1. The `/workdir` directory containing all processed documents
|
||||
2. The database file (if using SQLite) or database contents (if using another DBMS)
|
||||
3. The `.env` configuration file
|
||||
|
||||
## Updates
|
||||
|
||||
To update DocuNova to a newer version:
|
||||
|
||||
```bash
|
||||
# Pull the latest changes
|
||||
git pull
|
||||
|
||||
# Pull the latest Docker images
|
||||
docker-compose pull
|
||||
|
||||
# Restart the services
|
||||
docker-compose down
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
See the [Troubleshooting](Troubleshooting.md) guide for common deployment issues and solutions.
|
||||
Reference in New Issue
Block a user