Skip to content

Infra: Backend database support for system settings and configuration #162

@Salem874

Description

@Salem874

Overview

Add database support (SQLite initially, with MySQL/PostgreSQL option) to store system settings, configuration, and operational data that currently lives in JSON files or PHP arrays.

Scope

  • Database abstraction layer (PDO-based)
  • Migration system for schema versioning
  • Move from file-based storage to DB: API keys, lookup stats, watched domains, rate limits
  • Config table for runtime-editable settings (vs static config.php for deployment settings)
  • Admin dashboard reads from DB instead of JSON files

Database Options

  • SQLite (default): Zero-config, file-based, perfect for single-server deployments
  • MySQL/PostgreSQL: Optional, configured via config.php for multi-server deployments
  • SQL Server: additional support

Database Options

MySQL/MariaDB

  • All queries via PHP MySQLI and to use prepared statements for increased, enhanced security

Additional considerationa

  • Database migration Prepare additional workflows to migrate from across multiple database systems, especially if SQLite is the (initial) default. Users may want to (later) migrate to another supported platform.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions