fix: propagate Settings config changes to service managers and live pages
- PUT /api/config now calls service_manager.update_config() for each service so changes write to the service's own config file, not just cell_config.json - email_manager.get_status() now reads smtp_port/imap_port/domain from its config file (defaults: 587/993/cell.local) and includes them in the response - calendar_manager.get_status() includes configured port (default 5232) - file_manager.get_status() uses configured port from service config - Email.jsx reads imap_port/smtp_port from API status instead of hardcoding - Settings service sections show "port changes require container restart" note Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
+4
-1
@@ -481,13 +481,16 @@ umask = 022
|
||||
import os
|
||||
is_docker = os.path.exists('/.dockerenv') or os.environ.get('DOCKER_CONTAINER') == 'true'
|
||||
|
||||
svc_cfg = self.get_config()
|
||||
configured_port = svc_cfg.get('port', 80) if isinstance(svc_cfg, dict) and 'error' not in svc_cfg else 80
|
||||
|
||||
if is_docker:
|
||||
# Check if file container is actually running
|
||||
container_running = self._check_file_container_status()
|
||||
status = {
|
||||
'running': container_running,
|
||||
'status': 'online' if container_running else 'offline',
|
||||
'webdav_status': {'running': container_running, 'port': 8080},
|
||||
'webdav_status': {'running': container_running, 'port': configured_port},
|
||||
'users_count': 0,
|
||||
'total_storage_used': {'bytes': 0, 'human_readable': '0 B'},
|
||||
'timestamp': datetime.utcnow().isoformat()
|
||||
|
||||
Reference in New Issue
Block a user