49 lines
1.9 KiB
Python
49 lines
1.9 KiB
Python
import os
|
||
from dotenv import load_dotenv
|
||
|
||
load_dotenv()
|
||
|
||
|
||
def _bool(v: str, default: bool = False) -> bool:
|
||
if v is None:
|
||
return default
|
||
return v.strip().lower() in ("1", "true", "yes", "on", "ja")
|
||
|
||
|
||
class Config:
|
||
# Plesk-Backend:
|
||
# "manual" – Tool legt nichts an, das Mailpostfach muss von Hand
|
||
# im Plesk-Webinterface angelegt werden (Shared-Host-Fall).
|
||
# Die Zugangsdaten werden trotzdem im PDF ausgegeben, damit
|
||
# der Admin sie 1:1 ins Plesk-Webinterface eintragen kann.
|
||
# "api" – Plesk REST-API (braucht API-Key oder Admin-Login)
|
||
# "ssh" – SSH zum Plesk-Server, ruft `plesk bin mail` auf
|
||
PLESK_BACKEND = (os.getenv("PLESK_BACKEND") or "manual").strip().lower()
|
||
|
||
# Plesk REST-API
|
||
PLESK_API_KEY = os.getenv("PLESK_API_KEY") or ""
|
||
PLESK_USER = os.getenv("PLESK_USER") or ""
|
||
PLESK_PASSWORD = os.getenv("PLESK_PASSWORD") or ""
|
||
PLESK_PORT = int(os.getenv("PLESK_PORT", "8443"))
|
||
|
||
# Plesk SSH-Backend
|
||
PLESK_SSH_PORT = int(os.getenv("PLESK_SSH_PORT", "22"))
|
||
PLESK_SSH_USER = os.getenv("PLESK_SSH_USER") or ""
|
||
PLESK_SSH_PASSWORD = os.getenv("PLESK_SSH_PASSWORD") or ""
|
||
PLESK_SSH_KEY = os.getenv("PLESK_SSH_KEY") or ""
|
||
PLESK_SSH_KEY_PASSPHRASE = os.getenv("PLESK_SSH_KEY_PASSPHRASE") or ""
|
||
PLESK_SSH_USE_SUDO = _bool(os.getenv("PLESK_SSH_USE_SUDO"), False)
|
||
|
||
KERIO_USER = os.getenv("KERIO_ADMIN_USER") or "Admin"
|
||
KERIO_PASSWORD = os.getenv("KERIO_ADMIN_PASSWORD") or ""
|
||
KERIO_PORT = int(os.getenv("KERIO_ADMIN_PORT", "4040"))
|
||
|
||
NEXTCLOUD_USER = os.getenv("NEXTCLOUD_ADMIN_USER") or ""
|
||
NEXTCLOUD_PASSWORD = os.getenv("NEXTCLOUD_ADMIN_PASSWORD") or ""
|
||
|
||
POP3_PORT = int(os.getenv("POP3_PORT", "995"))
|
||
POP3_KEEP_DAYS = int(os.getenv("POP3_KEEP_DAYS", "14"))
|
||
SMTP_PORT = int(os.getenv("SMTP_PORT", "465"))
|
||
|
||
VERIFY_TLS = _bool(os.getenv("VERIFY_TLS"), True)
|