JustFlows

Databases

PostgreSQL, MySQL 8+, and MariaDB 10.6+ — how to choose, connect, and migrate.

5 min read

You do not need to know SQL to run Justflows. Pick the database your host already offers, or use Postgres in Docker.

DatabaseWhen to use itURL scheme
PostgreSQL (default)New installs. Bundled in the default Compose file.postgres://…
MySQL 8+The host already provides MySQL.mysql://…
MariaDB 10.6+The host already provides MariaDB.mariadb://…

Docker variants

bash
# MySQL
docker compose -f docker/docker-compose.mysql.yml up

# MariaDB
docker compose -f docker/docker-compose.mariadb.yml up

Connection settings

The wizard writes host/port/name/user/password. At runtime you can use discrete DB_DRIVER, DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD, or a single DATABASE_URL plus DATABASE_DRIVER. Pool: DATABASE_POOL_MIN / DATABASE_POOL_MAX. TLS: DATABASE_SSL.

Migrations

SQL lives in migrations/ with per-engine files (0001_initial, 0002_multilingual, 0003_css_providers). Run them from the wizard, from Admin → Tools, via POST /api/db/migrate (administrator), or justflows db migrate.

Note

The @justflows/database package is the shared client for Postgres and MySQL/MariaDB (mysql2). Schema modules live there; the running admin uses the Express SQL routes in apps/server.