```dotenv
# --- Host & Web ---
DOMAIN=example.com
-PUBLIC_IP=127.0.0.1
+EXTERNAL_NAME=dyndns.example.com
HTTP_PORT=8000
# --- Admin ---
ADMIN_USER=admin
LOG_ACCESS_FILE: "/data/access.log"
# Host
DOMAIN: "${DOMAIN:-example.com}"
- PUBLIC_IP: "${PUBLIC_IP:-127.0.0.1}"
+ EXTERNAL_NAME: "${EXTERNAL_NAME:-dyndns.example.com}"
# Web
HTTP_PORT: "${HTTP_PORT:-8000}"
LOGIN_MAX_ATTEMPTS: "${LOGIN_MAX_ATTEMPTS:-5}"
| `LOG_FILE` | app.log | Application log file |
| `LOG_ACCESS_FILE` | access.log | HTTP access log |
| `DOMAIN` | example.com | Public domain |
-| `PUBLIC_IP` | 127.0.0.1 | Public IP |
+| `EXTERNAL_NAME` | dyndns.example.com | External Name |
| `HTTP_PORT` | 8000 | Internal HTTP port |
| `LOGIN_MAX_ATTEMPTS` | 5 | Login attempts |
| `LOGIN_WINDOW_SECONDS` | 600 | Attempt window |
);
""")
cur.execute("INSERT INTO settings (key, value) VALUES (?, ?)", ("domain", settings.DOMAIN))
- cur.execute("INSERT INTO settings (key, value) VALUES (?, ?)", ("external_ipv4", settings.PUBLIC_IP))
+ cur.execute("INSERT INTO settings (key, value) VALUES (?, ?)", ("external_name", settings.EXTERNAL_NAME))
# HOSTS TABLE
cur.execute("""
cur.execute("CREATE INDEX idx_txt_host ON txt_records(host_id);")
logger.info("HOSTS DB: Database initialized successfully for %s", settings.DOMAIN)
- logger.info("HOSTS DB: Public IP: %s", settings.PUBLIC_IP)
+ logger.info("HOSTS DB: Public IP: %s", settings.EXTERNAL_NAME)
parser = argparse.ArgumentParser(add_help=False)
parser.add_argument("--reset", action="store_true")
parser.add_argument("--domain")
- parser.add_argument("--public-ip")
+ parser.add_argument("--external-name")
parser.add_argument("cmd", nargs=argparse.REMAINDER)
return parser.parse_args()
settings.DB_RESET = True
if args.domain:
settings.DOMAIN = args.domain
- if args.public_ip:
- settings.PUBLIC_IP = args.public_ip
+ if args.external_name:
+ settings.EXTERNAL_NAME = args.EXTERNAL_NAME
# Create or update database
docker_create_db(logger)
# Host
# ---------------------------------------------------------
DOMAIN = "example.com"
-PUBLIC_IP = "127.0.0.1"
+EXTERNAL_NAME = "dyndns.example.com"
# ---------------------------------------------------------
# Web
# Hosts
DOMAIN: str = Field(default_factory=lambda: os.getenv("DOMAIN", default.DOMAIN))
- PUBLIC_IP: str = Field(default_factory=lambda: os.getenv("PUBLIC_IP", default.DOMAIN))
+ EXTERNAL_NAME: str = Field(default_factory=lambda: os.getenv("EXTERNAL_NAME", default.DOMAIN))
# Web
HTTP_PORT: int = Field(default_factory=lambda: int(os.getenv("HTTP_PORT", default.HTTP_PORT)))