Ghost 4.1.0 does not seem to work with an sqlite database without additional manual setup

If you’re looking for some help, it’s important to provide as much context as possible so that people are able to assist you. Try to always mention:

  • What’s your URL? https://hawkradius.com
  • What version of Ghost are you using? v4.1.0
  • What configuration? Using sqlite on Debian Bullseye
  • What browser? N/A
  • What errors or information do you see in the console?
root@hawkradius-host:/var/www/ghost# sudo -u ghost ghost run
The `ghost run` command is used by the configured Ghost process manager and for debugging. If you're not running this to debug something, you should run `ghost start` instead.
[2021-03-21 10:13:28] INFO Ghost is running in production...
[2021-03-21 10:13:28] INFO Your site is now available on https://hawkradius.com/
[2021-03-21 10:13:28] INFO Ctrl+C to shut down
[2021-03-21 10:13:28] INFO Ghost server started in 1.058s
Knex: run
$ npm install sqlite3 --save
Cannot find module 'sqlite3'
Require stack:
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/dialects/sqlite3/index.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/config-resolver.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/knex.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/index.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/knex.js
- /var/www/ghost/versions/4.1.0/node_modules/knex-migrator/lib/database.js
- /var/www/ghost/versions/4.1.0/node_modules/knex-migrator/lib/index.js
- /var/www/ghost/versions/4.1.0/core/server/data/db/state-manager.js
- /var/www/ghost/versions/4.1.0/core/boot.js
- /var/www/ghost/versions/4.1.0/ghost.js
- /var/www/ghost/versions/4.1.0/index.js
Error: Cannot find module 'sqlite3'
Require stack:
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/dialects/sqlite3/index.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/config-resolver.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/knex.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/index.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/knex.js
- /var/www/ghost/versions/4.1.0/node_modules/knex-migrator/lib/database.js
- /var/www/ghost/versions/4.1.0/node_modules/knex-migrator/lib/index.js
- /var/www/ghost/versions/4.1.0/core/server/data/db/state-manager.js
- /var/www/ghost/versions/4.1.0/core/boot.js
- /var/www/ghost/versions/4.1.0/ghost.js
- /var/www/ghost/versions/4.1.0/index.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:880:15)
    at Function.Module._load (internal/modules/cjs/loader.js:725:27)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Client_SQLite3._driver (/var/www/ghost/versions/4.1.0/node_modules/knex/lib/dialects/sqlite3/index.js:35:12)
    at Client_SQLite3.initializeDriver (/var/www/ghost/versions/4.1.0/node_modules/knex/lib/client.js:231:26)
    at Client_SQLite3.Client (/var/www/ghost/versions/4.1.0/node_modules/knex/lib/client.js:69:10)
    at new Client_SQLite3 (/var/www/ghost/versions/4.1.0/node_modules/knex/lib/dialects/sqlite3/index.js:17:10)
    at Knex (/var/www/ghost/versions/4.1.0/node_modules/knex/lib/knex.js:14:28)
    at Object.connect (/var/www/ghost/versions/4.1.0/node_modules/knex-migrator/lib/database.js:27:12)
    at KnexMigrator.isDatabaseOK (/var/www/ghost/versions/4.1.0/node_modules/knex-migrator/lib/index.js:589:32)
    at DatabaseStateManager.getState (/var/www/ghost/versions/4.1.0/core/server/data/db/state-manager.js:39:37)
    at DatabaseStateManager.makeReady (/var/www/ghost/versions/4.1.0/core/server/data/db/state-manager.js:72:36)
    at initDatabase (/var/www/ghost/versions/4.1.0/core/boot.js:49:26)
    at bootGhost (/var/www/ghost/versions/4.1.0/core/boot.js:277:15)
[2021-03-21 10:13:28] ERROR Knex: run
$ npm install sqlite3 --save
Cannot find module 'sqlite3'
Require stack:
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/dialects/sqlite3/index.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/config-resolver.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/knex.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/index.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/knex.js
- /var/www/ghost/versions/4.1.0/node_modules/knex-migrator/lib/database.js
- /var/www/ghost/versions/4.1.0/node_modules/knex-migrator/lib/index.js
- /var/www/ghost/versions/4.1.0/core/server/data/db/state-manager.js
- /var/www/ghost/versions/4.1.0/core/boot.js
- /var/www/ghost/versions/4.1.0/ghost.js
- /var/www/ghost/versions/4.1.0/index.js

Knex: run
$ npm install sqlite3 --save
Cannot find module 'sqlite3'
Require stack:
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/dialects/sqlite3/index.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/config-resolver.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/knex.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/index.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/knex.js
- /var/www/ghost/versions/4.1.0/node_modules/knex-migrator/lib/database.js
- /var/www/ghost/versions/4.1.0/node_modules/knex-migrator/lib/index.js
- /var/www/ghost/versions/4.1.0/core/server/data/db/state-manager.js
- /var/www/ghost/versions/4.1.0/core/boot.js
- /var/www/ghost/versions/4.1.0/ghost.js
- /var/www/ghost/versions/4.1.0/index.js

Error ID:
    14d9d140-8a2e-11eb-85ab-5b746f132577

----------------------------------------

InternalServerError: Knex: run
$ npm install sqlite3 --save
Cannot find module 'sqlite3'
Require stack:
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/dialects/sqlite3/index.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/config-resolver.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/knex.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/index.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/knex.js
- /var/www/ghost/versions/4.1.0/node_modules/knex-migrator/lib/database.js
- /var/www/ghost/versions/4.1.0/node_modules/knex-migrator/lib/index.js
- /var/www/ghost/versions/4.1.0/core/server/data/db/state-manager.js
- /var/www/ghost/versions/4.1.0/core/boot.js
- /var/www/ghost/versions/4.1.0/ghost.js
- /var/www/ghost/versions/4.1.0/index.js
    at new GhostError (/var/www/ghost/versions/4.1.0/node_modules/@tryghost/errors/lib/errors.js:10:26)
    at DatabaseStateManager.getState (/var/www/ghost/versions/4.1.0/core/server/data/db/state-manager.js:63:32)
    at DatabaseStateManager.makeReady (/var/www/ghost/versions/4.1.0/core/server/data/db/state-manager.js:72:36)
    at initDatabase (/var/www/ghost/versions/4.1.0/core/boot.js:49:26)
    at bootGhost (/var/www/ghost/versions/4.1.0/core/boot.js:277:15)

Error: Knex: run
$ npm install sqlite3 --save
Cannot find module 'sqlite3'
Require stack:
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/dialects/sqlite3/index.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/config-resolver.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/knex.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/lib/index.js
- /var/www/ghost/versions/4.1.0/node_modules/knex/knex.js
- /var/www/ghost/versions/4.1.0/node_modules/knex-migrator/lib/database.js
- /var/www/ghost/versions/4.1.0/node_modules/knex-migrator/lib/index.js
- /var/www/ghost/versions/4.1.0/core/server/data/db/state-manager.js
- /var/www/ghost/versions/4.1.0/core/boot.js
- /var/www/ghost/versions/4.1.0/ghost.js
- /var/www/ghost/versions/4.1.0/index.js
    at Client_SQLite3.initializeDriver (/var/www/ghost/versions/4.1.0/node_modules/knex/lib/client.js:235:13)
    at Client_SQLite3.Client (/var/www/ghost/versions/4.1.0/node_modules/knex/lib/client.js:69:10)
    at new Client_SQLite3 (/var/www/ghost/versions/4.1.0/node_modules/knex/lib/dialects/sqlite3/index.js:17:10)
    at Knex (/var/www/ghost/versions/4.1.0/node_modules/knex/lib/knex.js:14:28)
    at Object.connect (/var/www/ghost/versions/4.1.0/node_modules/knex-migrator/lib/database.js:27:12)
    at KnexMigrator.isDatabaseOK (/var/www/ghost/versions/4.1.0/node_modules/knex-migrator/lib/index.js:589:32)
    at DatabaseStateManager.getState (/var/www/ghost/versions/4.1.0/core/server/data/db/state-manager.js:39:37)
    at DatabaseStateManager.makeReady (/var/www/ghost/versions/4.1.0/core/server/data/db/state-manager.js:72:36)
    at initDatabase (/var/www/ghost/versions/4.1.0/core/boot.js:49:26)
    at bootGhost (/var/www/ghost/versions/4.1.0/core/boot.js:277:15)

[2021-03-21 10:13:28] WARN Ghost is shutting down
[2021-03-21 10:13:28] WARN Ghost has shut down
[2021-03-21 10:13:28] WARN Your site is now offline
[2021-03-21 10:13:28] WARN Ghost was running for a few seconds
  • What steps could someone else take to reproduce the issue you’re having?

Install Ghost v4.1.0 with an sqlite database and then try to run ghost. Specifically I used the following command to install ghost: ghost install --db=sqlite3

I think this is because Ghost lists sqlite3 as an optional dependency, which is not installed automatically.

This can be fixed by running npm install sqlite3 --save at the root of your ghost website (/var/www/ghost in my case), but I think it should not be needed.