Skip to content

# MariaDB Version Selection (Support for 11.8+ LTS) #371

Description

@tonic-6101

Summary

Frappe Manager currently ships with a fixed MariaDB 10.6 and provides no mechanism for users to select or upgrade the MariaDB version. MariaDB 11.8 LTS (the current long-term support release since June 2025) introduces native vector search — a feature many developers need for AI/RAG applications. Please add support for selecting the MariaDB version, with 11.8 as an available option.

Current Behavior

  • Frappe Manager uses MariaDB 10.6 in its Docker setup
  • There is no --db-version flag or configuration option
  • Users cannot upgrade MariaDB without manually modifying Docker internals, which breaks Frappe Manager's ability to manage the instance
  • This blocks developers who need MariaDB 11.8's vector search capabilities

Expected Behavior

# Create a bench with MariaDB 11.8
fm create mybench --db-version 11.8

# Or configure globally
fm config set db-version 11.8

At minimum, Frappe Manager should offer:

  • MariaDB 10.6 (current default, for backward compatibility)
  • MariaDB 11.4 (previous LTS)
  • MariaDB 11.8 (current LTS, with vector search)

Why This Matters

MariaDB 11.8 LTS is production-ready

MariaDB 11.8 has been GA since June 2025 and is now on version 11.8.6. It is the official yearly LTS release, supported for 3 years. Amazon RDS added support for it in December 2025.

Vector search is a major feature

MariaDB 11.8 introduces native VECTOR data type, similarity search functions, and HNSW indexing — critical for RAG, semantic search, and AI-powered applications. This is the headline feature of the release.

Community demand exists

MariaDB 10.6 is aging

MariaDB 10.6 was released in 2021. While still under long-term maintenance, it lacks features from 5 years of MariaDB development. New Ubuntu LTS versions ship with MariaDB 10.11+ by default, making 10.6 increasingly difficult to justify.

Proposed Implementation

Option A: Docker image tag parameter

Since Frappe Manager is Docker-based, the simplest approach would be to parameterize the MariaDB Docker image tag:

# Currently hardcoded (example)
mariadb:10.6

# Could become configurable
mariadb:${MARIADB_VERSION:-10.6}

Option B: Per-bench configuration

Store MariaDB version in the bench config, allowing different benches to use different versions:

fm create mybench --db-version 11.8
fm create legacy-bench --db-version 10.6

Migration path

For existing benches, an upgrade command would be ideal:

fm db upgrade mybench --to 11.8 --backup

This should:

  1. Create a full database backup
  2. Stop the bench
  3. Swap the MariaDB container to the new version
  4. Run mariadb-upgrade
  5. Restart and verify

Additional Notes

  • MariaDB 11.8 is backward-compatible with 10.6 data files — upgrade is seamless for InnoDB tables
  • The only known config change needed is innodb_snapshot_isolation = OFF (per community testing)
  • This feature would also benefit users who simply want to stay on the latest LTS for security and performance improvements, independent of vector search

Related Issues

References

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions