Docker deployment improvements: fixed backup/restore, sticky headers, quality code display

This commit is contained in:
ske087
2025-11-13 02:40:36 +02:00
parent 3b69161f1e
commit 2ce918e1b3
13 changed files with 1034 additions and 117 deletions

107
setup-volumes.sh Normal file
View File

@@ -0,0 +1,107 @@
#!/bin/bash
# ============================================================================
# Volume Setup Script for Quality Application
# Creates all necessary directories for Docker volume mapping
# ============================================================================
set -e
# Colors for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m' # No Color
# Logging functions
log_info() {
echo -e "${BLUE} INFO:${NC} $*"
}
log_success() {
echo -e "${GREEN}✅ SUCCESS:${NC} $*"
}
log_warning() {
echo -e "${YELLOW}⚠️ WARNING:${NC} $*"
}
log_error() {
echo -e "${RED}❌ ERROR:${NC} $*" >&2
}
# ============================================================================
# Main Setup Function
# ============================================================================
main() {
echo "============================================================================"
echo "🚀 Quality Application - Volume Setup"
echo "============================================================================"
echo ""
# Check if we're in the right directory
if [ ! -f "docker-compose.yml" ]; then
log_error "docker-compose.yml not found. Please run this script from the application root directory."
exit 1
fi
log_info "Creating directory structure for Docker volumes..."
echo ""
# Create directories
log_info "Creating data/mariadb directory (database files)..."
mkdir -p data/mariadb
log_info "Creating config/instance directory (app configuration)..."
mkdir -p config/instance
log_info "Creating logs directory (application logs)..."
mkdir -p logs
log_info "Creating backups directory (database backups)..."
mkdir -p backups
echo ""
log_success "All directories created successfully!"
echo ""
# Display directory structure
echo "============================================================================"
echo "📁 Volume Directory Structure:"
echo "============================================================================"
echo " ./data/mariadb/ - MariaDB database files (persistent data)"
echo " ./config/instance/ - Application configuration files"
echo " ./logs/ - Application and Gunicorn logs"
echo " ./backups/ - Database backup files"
echo "============================================================================"
echo ""
# Check for .env file
if [ ! -f ".env" ]; then
log_warning ".env file not found!"
echo ""
echo "Next steps:"
echo " 1. Copy .env.example to .env: cp .env.example .env"
echo " 2. Edit .env with your settings: nano .env"
echo " 3. Change passwords and SECRET_KEY (CRITICAL for production!)"
echo " 4. Set INIT_DB=true for first deployment"
echo " 5. Build and start: docker-compose up -d --build"
else
log_success ".env file found!"
echo ""
echo "Next steps:"
echo " 1. Review .env settings: nano .env"
echo " 2. Change passwords if needed (especially for production)"
echo " 3. Set INIT_DB=true for first deployment"
echo " 4. Build and start: docker-compose up -d --build"
fi
echo ""
echo "============================================================================"
log_success "Setup complete! You can now deploy the application."
echo "============================================================================"
}
# Run main function
main "$@"