fix ftp proxy (vip)

This commit is contained in:
2025-11-01 21:31:20 +01:00
parent 37db980c10
commit 20a99aea9c
4 changed files with 177 additions and 10 deletions

View File

@@ -1,5 +1,6 @@
"""set configurations"""
import os
from configparser import ConfigParser
from . import ENV_PARENT_PATH
@@ -10,15 +11,21 @@ class Config:
"""
Initializes the Config class by reading configuration files.
It loads settings from 'ftp.ini' and 'db.ini' for FTP server, CSV, logging, and database.
Environment variables override INI file settings for Docker deployments.
"""
c = ConfigParser()
c.read([f"{ENV_PARENT_PATH}/env/ftp.ini", f"{ENV_PARENT_PATH}/env/db.ini"])
# FTP setting
# FTP setting (with environment variable override for Docker)
self.service_port = c.getint("ftpserver", "service_port")
self.firstport = c.getint("ftpserver", "firstPort")
self.proxyaddr = c.get("ftpserver", "proxyAddr")
# FTP_PASSIVE_PORTS: override della porta iniziale del range passivo
self.firstport = int(os.getenv("FTP_PASSIVE_PORTS", c.getint("ftpserver", "firstPort")))
# FTP_EXTERNAL_IP: override dell'IP pubblicizzato (VIP per HA)
self.proxyaddr = os.getenv("FTP_EXTERNAL_IP", c.get("ftpserver", "proxyAddr"))
self.portrangewidth = c.getint("ftpserver", "portRangeWidth")
self.virtpath = c.get("ftpserver", "virtpath")
self.adminuser = c.get("ftpserver", "adminuser").split("|")
@@ -33,12 +40,12 @@ class Config:
# LOG setting
self.logfilename = c.get("logging", "logFilename")
# DB setting
self.dbhost = c.get("db", "hostname")
self.dbport = c.getint("db", "port")
self.dbuser = c.get("db", "user")
self.dbpass = c.get("db", "password")
self.dbname = c.get("db", "dbName")
# DB setting (with environment variable override for Docker)
self.dbhost = os.getenv("DB_HOST", c.get("db", "hostname"))
self.dbport = int(os.getenv("DB_PORT", c.getint("db", "port")))
self.dbuser = os.getenv("DB_USER", c.get("db", "user"))
self.dbpass = os.getenv("DB_PASSWORD", c.get("db", "password"))
self.dbname = os.getenv("DB_NAME", c.get("db", "dbName"))
self.max_retries = c.getint("db", "maxRetries")
# Tables