Update README.md
This commit is contained in:
parent
f24e99c30a
commit
c8ee2c5d6d
1 changed files with 156 additions and 1 deletions
157
README.md
157
README.md
|
@ -1,2 +1,157 @@
|
|||
# paperless_ngx_cloudpanel
|
||||
# 📄 Enhanced Paperless-ngx Installation Script
|
||||
|
||||
An automated installation and maintenance script for Paperless-ngx with Docker integration and CloudPanel compatibility. This script provides a robust, self-healing installation process with comprehensive error handling and health checks.
|
||||
|
||||
## 🌟 Features
|
||||
|
||||
- **Automated Installation**: One-command setup of Docker and Paperless-ngx
|
||||
- **Smart Health Monitoring**: Continuous verification of service health
|
||||
- **Automatic Recovery**: Built-in error detection and recovery procedures
|
||||
- **Backup System**: Automatic backup of existing installations before modifications
|
||||
- **Secure Configuration**: Properly isolated Redis and PostgreSQL containers
|
||||
- **Detailed Logging**: Comprehensive logging for troubleshooting
|
||||
- **CloudPanel Integration**: Ready for CloudPanel reverse proxy setup
|
||||
|
||||
## 📋 Prerequisites
|
||||
|
||||
- Ubuntu 22.04/24.04 server
|
||||
- Root access or sudo privileges
|
||||
- CloudPanel installed (for reverse proxy setup)
|
||||
- Domain or subdomain pointed to your server
|
||||
|
||||
## 🚀 Quick Start
|
||||
|
||||
1. Clone the Script:
|
||||
```bash
|
||||
wget https://git.hhf.technology/hhf/paperless_ngx_cloudpane/paperless-ngx-installer.git
|
||||
```
|
||||
|
||||
2. Make the script executable:
|
||||
```bash
|
||||
chmod +x paperless-install.sh
|
||||
```
|
||||
|
||||
3. Run the installation:
|
||||
```bash
|
||||
sudo ./paperless-install.sh
|
||||
```
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
The script includes several configurable parameters at the top:
|
||||
|
||||
```bash
|
||||
INSTALL_DIR="/docker/paperless-ngx" # Installation directory
|
||||
COMPOSE_FILE="${INSTALL_DIR}/docker-compose.yml" # Docker compose file location
|
||||
LOG_FILE="/var/log/paperless-install.log" # Log file location
|
||||
```
|
||||
|
||||
### Environment Variables
|
||||
|
||||
Key environment variables in docker-compose.yml:
|
||||
|
||||
```yaml
|
||||
PAPERLESS_TIME_ZONE: Europe/London
|
||||
PAPERLESS_OCR_LANGUAGE: eng
|
||||
PAPERLESS_URL: https://your-domain.com
|
||||
```
|
||||
|
||||
## 🔧 CloudPanel Setup
|
||||
|
||||
After running the script, configure CloudPanel:
|
||||
|
||||
1. Create new site in CloudPanel
|
||||
2. Select "Reverse Proxy" type
|
||||
3. Configure with:
|
||||
- Domain: your-paperless-domain.com
|
||||
- Reverse Proxy URL: http://localhost:8000
|
||||
4. Set up SSL certificate
|
||||
|
||||
## 📝 Logging
|
||||
|
||||
The script maintains detailed logs at `/var/log/paperless-install.log`. View logs with:
|
||||
|
||||
```bash
|
||||
tail -f /var/log/paperless-install.log
|
||||
```
|
||||
|
||||
## 🛠️ Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
1. **Container Start Failure**
|
||||
```bash
|
||||
docker logs paperless-ngx-webserver-1
|
||||
docker compose restart webserver
|
||||
```
|
||||
|
||||
2. **Database Connection Issues**
|
||||
```bash
|
||||
docker compose logs db
|
||||
docker compose restart db
|
||||
```
|
||||
|
||||
3. **Permission Problems**
|
||||
```bash
|
||||
sudo chown -R 1000:1000 /docker/paperless-ngx/consume
|
||||
sudo chown -R 1000:1000 /docker/paperless-ngx/export
|
||||
```
|
||||
|
||||
## 🔄 Updates
|
||||
|
||||
Update Paperless-ngx:
|
||||
|
||||
```bash
|
||||
cd /docker/paperless-ngx
|
||||
docker compose pull
|
||||
docker compose down
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## 🔒 Security
|
||||
|
||||
The script implements several security measures:
|
||||
|
||||
- Isolated Docker networks for database and Redis
|
||||
- Secure default configurations
|
||||
- Automatic backup before modifications
|
||||
- SSL/TLS support through CloudPanel
|
||||
|
||||
## 📚 Directory Structure
|
||||
|
||||
```
|
||||
/docker/paperless-ngx/
|
||||
├── docker-compose.yml
|
||||
├── consume/
|
||||
├── export/
|
||||
├── data/
|
||||
└── media/
|
||||
```
|
||||
|
||||
## 🤝 Contributing
|
||||
|
||||
1. Fork the repository
|
||||
2. Create your feature branch
|
||||
2. Commit your changes
|
||||
4. Push to the branch
|
||||
5. Create a new Pull Request
|
||||
|
||||
## 📄 License
|
||||
|
||||
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
||||
|
||||
## 🙏 Acknowledgments
|
||||
|
||||
- [Paperless-ngx Project](https://github.com/paperless-ngx/paperless-ngx)
|
||||
- CloudPanel Team
|
||||
- Docker Team
|
||||
|
||||
## 📞 Support
|
||||
|
||||
- Create an issue on the forum
|
||||
- Visit the [Paperless-ngx Documentation](https://docs.paperless-ngx.com)
|
||||
- Join the Paperless-ngx community on Discord
|
||||
|
||||
## ⚠️ Disclaimer
|
||||
|
||||
This script is provided as-is, without any warranties. Always backup your data before running installation scripts.
|
Loading…
Reference in a new issue