Files
Lauri Ojansivu 11bed26788 Companion repositories are found in .tools/w, .tools/xet7 and .tools/Secretchronicles.
The repositories under .tools/ are now grouped by their GitHub owner:
github.com/wekan/* in .tools/w/, github.com/xet7/* in .tools/xet7/ and
github.com/Secretchronicles/* in .tools/Secretchronicles/. build.sh,
build.bat, the release and debug scripts, the tests and the docs looked
for .tools/FerretDB, .tools/wekan.fi, .tools/charts, .tools/node-patches,
.tools/mongo-tools-patches and .tools/TSC, and now use the new places.

ensure_tool_repo takes the owner from the clone URL through a new
tool_repo_dir, so a missing companion repository is cloned into the same
place the scripts read it from. tests/toolsDirectoryRepos.test.cjs runs the
mapping and checks that nothing lands flat in .tools/ any more.

Finding the website checkout again let securityRegressionCoverage compare
the Hall of Fame, which it had been skipping: CreateBleed is published and
is now in the inventory with its unit and UI tests. The exceljs fork test
reads npm-packages/exceljs, the copy WeKan builds with, instead of a clone
under .tools that is not part of the build.

Thanks to xet7 !
2026-11-07 23:32:43 +02:00
..

FerretDB

FerretDB speaks the MongoDB wire protocol and stores the data in something else, so WeKan runs unchanged on top of it — WeKan only ever connects to mongodb://ferretdb:27017/wekan?directConnection=true and knows nothing about what is behind it. The directConnection=true is required, not decoration: without it the driver follows FerretDB's replica-set handshake to the wildcard address FerretDB listens on and the stack cannot start (#6582, explained in 1/README.md).

There are two versions, and they are different products:

Directory Version Stores into
1 FerretDB v1, the wekan/FerretDB fork — WeKan's default database SQLite (embedded), PostgreSQL, MySQL, MariaDB, SAP HANA
2 FerretDB 2, upstream PostgreSQL with the DocumentDB extension, only

Upstream dropped every backend except PostgreSQL in v2. The fork keeps v1 alive because the embedded SQLite backend is what makes a WeKan install self-contained — no database server at all — and because it is the database WeKan ships for the platforms MongoDB has no server build for: ppc64le, s390x and riscv64.

See also

  • ../MongoDB — the classic database, if you prefer MongoDB itself
  • wekan/FerretDB — the fork, its releases and its CHANGELOG