diff --git a/backend/app/api/office.py b/backend/app/api/office.py index 6a5e2f3..807c891 100644 --- a/backend/app/api/office.py +++ b/backend/app/api/office.py @@ -330,7 +330,7 @@ def onlyoffice_config(file_id): if err: return err - oo_url = AppSettings.get('onlyoffice_url', os.environ.get('ONLYOFFICE_URL', '')) + oo_url = os.environ.get('ONLYOFFICE_URL', '') if not oo_url: return jsonify({'error': 'OnlyOffice nicht konfiguriert', 'available': False}), 200 @@ -381,7 +381,7 @@ def onlyoffice_config(file_id): } # Sign with JWT if secret is set - jwt_secret = AppSettings.get('onlyoffice_jwt_secret', '') + jwt_secret = os.environ.get('ONLYOFFICE_JWT_SECRET', '') if jwt_secret: import jwt as pyjwt config['config']['token'] = pyjwt.encode(config['config'], jwt_secret, algorithm='HS256') @@ -448,7 +448,7 @@ def onlyoffice_callback(): @token_required def onlyoffice_status(): """Check if OnlyOffice is available.""" - oo_url = AppSettings.get('onlyoffice_url', os.environ.get('ONLYOFFICE_URL', '')) + oo_url = os.environ.get('ONLYOFFICE_URL', '') return jsonify({ 'available': bool(oo_url), 'url': oo_url, diff --git a/backend/app/api/users.py b/backend/app/api/users.py index 81d1f9c..99483b4 100644 --- a/backend/app/api/users.py +++ b/backend/app/api/users.py @@ -153,9 +153,9 @@ def get_settings(): 'system_smtp_username': AppSettings.get('system_smtp_username', ''), 'system_smtp_password_set': bool(AppSettings.get('system_smtp_password', '')), 'system_email_from': AppSettings.get('system_email_from', ''), - 'onlyoffice_url': AppSettings.get('onlyoffice_url', os.environ.get('ONLYOFFICE_URL', '')), - 'onlyoffice_jwt_secret': AppSettings.get('onlyoffice_jwt_secret', ''), - 'onlyoffice_jwt_secret_set': bool(AppSettings.get('onlyoffice_jwt_secret', '')), + 'onlyoffice_url': os.environ.get('ONLYOFFICE_URL', ''), + 'onlyoffice_configured': bool(os.environ.get('ONLYOFFICE_URL', '')), + 'onlyoffice_jwt_set': bool(os.environ.get('ONLYOFFICE_JWT_SECRET', '')), }), 200 @@ -166,13 +166,11 @@ def update_settings(): if 'public_registration' in data: AppSettings.set('public_registration', str(data['public_registration']).lower()) for key in ['system_smtp_host', 'system_smtp_port', 'system_smtp_ssl', - 'system_smtp_username', 'system_email_from', 'onlyoffice_url']: + 'system_smtp_username', 'system_email_from']: if key in data: AppSettings.set(key, str(data[key])) if 'system_smtp_password' in data and data['system_smtp_password']: AppSettings.set('system_smtp_password', data['system_smtp_password']) - if 'onlyoffice_jwt_secret' in data and data['onlyoffice_jwt_secret']: - AppSettings.set('onlyoffice_jwt_secret', data['onlyoffice_jwt_secret']) return jsonify({'message': 'Einstellungen gespeichert'}), 200 diff --git a/frontend/src/views/AdminView.vue b/frontend/src/views/AdminView.vue index 5bf31d9..e751eda 100644 --- a/frontend/src/views/AdminView.vue +++ b/frontend/src/views/AdminView.vue @@ -80,28 +80,37 @@
Fuer die Bearbeitung von Word, Excel und PowerPoint Dateien direkt im Browser. Ohne OnlyOffice werden Dateien in einer einfachen Vorschau angezeigt.
-{{ onlyofficeUrl }}
+ .env:
+ ONLYOFFICE_URL=https://office.deine-domain.de +ONLYOFFICE_JWT_SECRET=dein-secret-hier+ Setup-Schritte:
docker-compose.yml den onlyoffice-Service auskommentierenoffice.deine-domain.de) - siehe nginx.example.confdocker-compose up -dhttps://office.deine-domain.de)ONLYOFFICE_JWT_SECRET in docker-compose.yml uebereinstimmendocker-compose.yml den onlyoffice-Service aktivierenONLYOFFICE_URL und ONLYOFFICE_JWT_SECRET in .env setzennginx.example.conf)certbot --nginx -d office.deine-domain.dedocker-compose up --build -d