Django gives a system error on MariaDB on VARCHARs longer than 255 chars. This was a limitation in older versions of mysql.
Meaning: You cannot run Paperless-NGX on older version were this limitation were present, meaning Django plays it extremely safe by giving an error.
This fixes this problem.
if os.getenv("PAPERLESS_DBENGINE") == "mariadb":
engine = "django.db.backends.mysql"
options = {"read_default_file": "/etc/mysql/my.cnf", "charset": "utf8mb4"}
+ #Silence Django erros on old MariaDB versions where VARCHAR were limited to 255 chars.
+ #https://docs.djangoproject.com/en/4.1/ref/checks/#database
+ #https://mariadb.com/kb/en/innodb-system-variables/#innodb_large_prefix
+ SILENCED_SYSTEM_CHECKS = ["mysql.W003"]
+
else: # Default to PostgresDB
engine = "django.db.backends.postgresql_psycopg2"
options = {"sslmode": os.getenv("PAPERLESS_DBSSLMODE", "prefer")}