- Add HTTPSConfig model for managing HTTPS settings - Add admin routes for HTTPS configuration management - Add beautiful admin template for HTTPS configuration - Add database migration for https_config table - Add CLI utility for HTTPS management - Add setup script for automated configuration - Add Caddy configuration generator and manager - Add comprehensive documentation (3 guides) - Add HTTPS Configuration card to admin dashboard - Implement input validation and security features - Add admin-only access control with audit trail - Add real-time configuration preview - Integrate with existing Caddy reverse proxy Features: - Enable/disable HTTPS from web interface - Configure domain, hostname, IP address, port - Automatic SSL certificate management via Let's Encrypt - Real-time Caddyfile generation and reload - Full audit trail with admin username and timestamps - Support for HTTPS and HTTP fallback access points - Beautiful, mobile-responsive UI Modified files: - app/models/__init__.py (added HTTPSConfig import) - app/blueprints/admin.py (added HTTPS routes) - app/templates/admin/admin.html (added HTTPS card) - docker-compose.yml (added Caddyfile mount and admin port) New files: - app/models/https_config.py - app/blueprints/https_config.html - app/utils/caddy_manager.py - https_manager.py - setup_https.sh - migrations/add_https_config_table.py - migrations/add_email_to_https_config.py - HTTPS_STATUS.txt - Documentation files (3 markdown guides)
34 lines
1.2 KiB
Python
34 lines
1.2 KiB
Python
"""Add email field to https_config table."""
|
||
import sys
|
||
sys.path.insert(0, '/app')
|
||
|
||
from app.app import create_app
|
||
from app.extensions import db
|
||
from sqlalchemy import text
|
||
|
||
app = create_app()
|
||
|
||
with app.app_context():
|
||
print("Adding email column to https_config table...")
|
||
|
||
try:
|
||
# Check if column already exists
|
||
inspector = db.inspect(db.engine)
|
||
columns = [col['name'] for col in inspector.get_columns('https_config')]
|
||
|
||
if 'email' not in columns:
|
||
# Add the column
|
||
with db.engine.connect() as conn:
|
||
conn.execute(text('ALTER TABLE https_config ADD COLUMN email VARCHAR(255)'))
|
||
conn.commit()
|
||
print("✓ Email column added to https_config table!")
|
||
else:
|
||
print("✓ Email column already exists in https_config table.")
|
||
|
||
except Exception as e:
|
||
print(f"ℹ️ Note: If table doesn't exist, run add_https_config_table.py first")
|
||
print(f"Error details: {str(e)}")
|
||
print("\nAlternatively, you can reset the database:")
|
||
print(" rm instance/digiserver.db")
|
||
print(" python migrations/add_https_config_table.py")
|