Add HTTPS configuration management system
- 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)
This commit is contained in:
33
migrations/add_email_to_https_config.py
Normal file
33
migrations/add_email_to_https_config.py
Normal file
@@ -0,0 +1,33 @@
|
||||
"""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")
|
||||
14
migrations/add_https_config_table.py
Normal file
14
migrations/add_https_config_table.py
Normal file
@@ -0,0 +1,14 @@
|
||||
"""Add https_config table for HTTPS configuration management."""
|
||||
import sys
|
||||
sys.path.insert(0, '/app')
|
||||
|
||||
from app.app import create_app
|
||||
from app.extensions import db
|
||||
from app.models.https_config import HTTPSConfig
|
||||
|
||||
app = create_app()
|
||||
|
||||
with app.app_context():
|
||||
print("Creating https_config table...")
|
||||
db.create_all()
|
||||
print("✓ https_config table created successfully!")
|
||||
0
migrations/add_player_user_table.py
Normal file → Executable file
0
migrations/add_player_user_table.py
Normal file → Executable file
0
migrations/migrate_player_user_global.py
Normal file → Executable file
0
migrations/migrate_player_user_global.py
Normal file → Executable file
Reference in New Issue
Block a user