Skip to content

Commit 0c57387

Browse files
authored
Merge pull request #211 from stefanhayden/stefanhayden/config_data_dir
let the data directory be set by enviorment vars
2 parents 18f6021 + 448fc30 commit 0c57387

5 files changed

Lines changed: 11 additions & 10 deletions

File tree

src/activity-pub-db.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,9 @@ import fs from 'fs';
1010
import sqlite3 from 'sqlite3';
1111
import { open } from 'sqlite';
1212
import crypto from 'crypto';
13-
import { account, domain, actorInfo } from './util.js';
13+
import { account, domain, actorInfo, dataDir } from './util.js';
1414

15-
const dbFile = './.data/activitypub.db';
15+
const dbFile = `${dataDir}/activitypub.db`;
1616
let db;
1717

1818
function actorJson(pubkey) {

src/bookmarks-db.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ import { open } from 'sqlite';
1111
// unclear why eslint can't resolve this package
1212
// eslint-disable-next-line import/no-unresolved, node/no-missing-import
1313
import { stripHtml } from 'string-strip-html';
14-
import { timeSince, account, domain } from './util.js';
14+
import { timeSince, account, domain, dataDir } from './util.js';
1515

1616
const ACCOUNT_MENTION_REGEX = new RegExp(`^@${account}@${domain} `);
1717

1818
// Initialize the database
19-
const dbFile = './.data/bookmarks.db';
19+
const dbFile = `${dataDir}/bookmarks.db`;
2020
const exists = fs.existsSync(dbFile);
2121
let db;
2222

src/routes/admin.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
import express from 'express';
22
// eslint-disable-next-line import/no-unresolved, node/no-missing-import
33
import { stringify as csvStringify } from 'csv-stringify/sync'; // https://github.com/adaltas/node-csv/issues/323
4-
import { domain, actorInfo, parseJSON } from '../util.js';
4+
import { domain, actorInfo, parseJSON, dataDir } from '../util.js';
55
import { isAuthenticated } from '../session-auth.js';
66
import { lookupActorInfo, createFollowMessage, createUnfollowMessage, signAndSend, getInboxFromActorProfile } from '../activitypub.js';
77

8-
const DATA_PATH = '/app/.data';
9-
108
const ADMIN_LINKS = [
119
{ href: '/admin', label: 'Bookmarklet' },
1210
{ href: '/admin/bookmarks', label: 'Import bookmarks' },
@@ -98,7 +96,7 @@ router.get('/data', isAuthenticated, async (req, res) => {
9896
});
9997

10098
router.get('/bookmarks.db', isAuthenticated, async (req, res) => {
101-
const filePath = `${DATA_PATH}/bookmarks.db`;
99+
const filePath = `${dataDir}/bookmarks.db`;
102100

103101
res.setHeader('Content-Type', 'application/vnd.sqlite3');
104102
res.setHeader('Content-Disposition', 'attachment; filename="bookmarks.db"');
@@ -118,7 +116,7 @@ router.get('/bookmarks.csv', isAuthenticated, async (req, res) => {
118116
});
119117

120118
router.get('/activitypub.db', isAuthenticated, async (req, res) => {
121-
const filePath = `${DATA_PATH}/activitypub.db`;
119+
const filePath = `${dataDir}/activitypub.db`;
122120

123121
res.setHeader('Content-Type', 'application/vnd.sqlite3');
124122
res.setHeader('Content-Disposition', 'attachment; filename="activitypub.db"');

src/session-auth.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
import session from 'express-session';
22
import connectSqlite from 'connect-sqlite3';
3+
import { dataDir } from './util.js';
34

45
const SQLiteStore = connectSqlite(session);
56

67
export default () =>
78
session({
89
store: new SQLiteStore({
910
db: 'sessions.db',
10-
dir: '.data/',
11+
dir: `${dataDir}/`,
1112
}),
1213
secret: process.env.SESSION_SECRET,
1314
resave: false,

src/util.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@ import * as dotenv from 'dotenv';
55

66
dotenv.config();
77

8+
export const dataDir = process.env.DATA_DIR || '.data';
9+
810
export const data = {
911
errorMessage: 'Whoops! Error connecting to the database–please try again!',
1012
setupMessage: "🚧 Whoops! Looks like the database isn't setup yet! 🚧",

0 commit comments

Comments
 (0)