Merge branch 'database-url' into 'main'
Introduce DATABASE_URL See merge request soapbox-pub/ditto!164
This commit is contained in:
commit
6555675ef3
|
@ -5,7 +5,7 @@
|
|||
"start": "deno run -A --unstable-ffi src/server.ts",
|
||||
"dev": "deno run -A --unstable-ffi --watch src/server.ts",
|
||||
"debug": "deno run -A --unstable-ffi --inspect src/server.ts",
|
||||
"test": "DB_PATH=\":memory:\" deno test -A --unstable-ffi",
|
||||
"test": "DATABASE_URL=\"sqlite://:memory:\" deno test -A --unstable-ffi",
|
||||
"check": "deno check src/server.ts",
|
||||
"relays:sync": "deno run -A --unstable-ffi scripts/relays.ts sync",
|
||||
"nsec": "deno run scripts/nsec.ts"
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
import url from 'node:url';
|
||||
|
||||
import { dotenv, getPublicKey, nip19, z } from '@/deps.ts';
|
||||
|
||||
/** Load environment config from `.env` */
|
||||
|
@ -54,7 +56,37 @@ class Conf {
|
|||
}
|
||||
/** Path to the main SQLite database which stores users, events, and more. */
|
||||
static get dbPath() {
|
||||
return Deno.env.get('DB_PATH') || 'data/db.sqlite3';
|
||||
if (Deno.env.get('DATABASE_URL') === 'sqlite://:memory:') {
|
||||
return ':memory:';
|
||||
}
|
||||
|
||||
const { host, pathname } = Conf.databaseUrl;
|
||||
|
||||
if (!pathname) return '';
|
||||
|
||||
// Get relative path.
|
||||
if (host === '') {
|
||||
return pathname;
|
||||
} else if (host === '.') {
|
||||
return pathname;
|
||||
} else if (host) {
|
||||
return host + pathname;
|
||||
}
|
||||
|
||||
return '';
|
||||
}
|
||||
/**
|
||||
* Heroku-style database URL. This is used in production to connect to the
|
||||
* database.
|
||||
*
|
||||
* Follows the format:
|
||||
*
|
||||
* ```txt
|
||||
* protocol://username:password@host:port/database_name
|
||||
* ```
|
||||
*/
|
||||
static get databaseUrl(): url.UrlWithStringQuery {
|
||||
return url.parse(Deno.env.get('DATABASE_URL') ?? 'sqlite://data/db.sqlite3');
|
||||
}
|
||||
/** Character limit to enforce for posts made through Mastodon API. */
|
||||
static get postCharLimit() {
|
||||
|
|
Loading…
Reference in New Issue