🚀 Major Release: DigiServer v1.1.0 Production Deployment ## 📁 Project Restructure - Moved all application code to app/ directory for Docker containerization - Centralized persistent data in data/ directory with volume mounting - Removed development artifacts and cleaned up project structure ## 🐳 Docker Integration - Added production-ready Dockerfile with LibreOffice and poppler-utils - Updated docker-compose.yml for production deployment - Added .dockerignore for optimized build context - Created automated deployment script (deploy-docker.sh) - Added cleanup script (cleanup-docker.sh) ## 📄 Document Processing Enhancements - Integrated LibreOffice for professional PPTX to PDF conversion - Implemented PPTX → PDF → 4K JPG workflow for optimal quality - Added poppler-utils for enhanced PDF processing - Simplified PDF conversion to 300 DPI for reliability ## 🔧 File Management Improvements - Fixed absolute path resolution for containerized deployment - Updated all file deletion functions with proper path handling - Enhanced bulk delete functions for players and groups - Improved file upload workflow with consistent path management ## 🛠️ Code Quality & Stability - Cleaned up pptx_converter.py from 442 to 86 lines - Removed all Python cache files (__pycache__/, *.pyc) - Updated file operations for production reliability - Enhanced error handling and logging ## 📚 Documentation Updates - Updated README.md with Docker deployment instructions - Added comprehensive DEPLOYMENT.md guide - Included production deployment best practices - Added automated deployment workflow documentation ## 🔐 Security & Production Features - Environment-based configuration - Health checks and container monitoring - Automated admin user creation - Volume-mounted persistent data - Production logging and error handling ## ✅ Ready for Production - Clean project structure optimized for Docker - Automated deployment with ./deploy-docker.sh - Professional document processing pipeline - Reliable file management system - Complete documentation and deployment guides Access: http://localhost:8880 | Admin: admin/Initial01!
29 lines
1002 B
Bash
Executable File
29 lines
1002 B
Bash
Executable File
#!/bin/bash
|
|
set -e
|
|
|
|
# Create necessary directories
|
|
mkdir -p static/uploads static/resurse
|
|
mkdir -p instance
|
|
|
|
# Check if database exists
|
|
if [ ! -f instance/dashboard.db ]; then
|
|
echo "No database found, creating fresh database..."
|
|
|
|
# Create admin user if environment variables are set
|
|
if [ -n "$ADMIN_USER" ] && [ -n "$ADMIN_PASSWORD" ]; then
|
|
echo "Creating admin user: $ADMIN_USER"
|
|
flask create-admin --username "$ADMIN_USER" --password "$ADMIN_PASSWORD"
|
|
else
|
|
echo "Warning: ADMIN_USER or ADMIN_PASSWORD not set, skipping admin creation"
|
|
fi
|
|
else
|
|
echo "Existing database found, skipping initialization..."
|
|
echo "Creating admin user if needed..."
|
|
if [ -n "$ADMIN_USER" ] && [ -n "$ADMIN_PASSWORD" ]; then
|
|
flask create-admin --username "$ADMIN_USER" --password "$ADMIN_PASSWORD" 2>/dev/null || echo "Default user '$ADMIN_USER' already exists."
|
|
fi
|
|
fi
|
|
|
|
echo "Starting DigiServer..."
|
|
# Start the application
|
|
exec flask run --host=0.0.0.0 |