mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-04 05:28:59 +01:00 
			
		
		
		
	all user files are now stored in one directory, by default trilium-data in users home directory
This commit is contained in:
		
							parent
							
								
									4409485ca1
								
							
						
					
					
						commit
						2df7940392
					
				
							
								
								
									
										3
									
								
								app.js
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								app.js
									
									
									
									
									
								
							@ -24,12 +24,13 @@ const recentChangesApiRoute = require('./routes/api/recent_changes');
 | 
			
		||||
const settingsApiRoute = require('./routes/api/settings');
 | 
			
		||||
const passwordApiRoute = require('./routes/api/password');
 | 
			
		||||
const migrationApiRoute = require('./routes/api/migration');
 | 
			
		||||
const dataDir = require('./services/data_dir');
 | 
			
		||||
 | 
			
		||||
const db = require('sqlite');
 | 
			
		||||
 | 
			
		||||
const config = require('./services/config');
 | 
			
		||||
 | 
			
		||||
db.open(config.Document.documentPath, { Promise });
 | 
			
		||||
db.open(dataDir.DOCUMENT_PATH, { Promise });
 | 
			
		||||
 | 
			
		||||
const app = express();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -4,6 +4,7 @@ const utils = require('./utils');
 | 
			
		||||
const sql = require('./sql');
 | 
			
		||||
const config = require('./config');
 | 
			
		||||
const fs = require('fs-extra');
 | 
			
		||||
const dataDir = require('./data_dir');
 | 
			
		||||
 | 
			
		||||
async function regularBackup() {
 | 
			
		||||
    const now = utils.nowTimestamp();
 | 
			
		||||
@ -19,12 +20,15 @@ async function regularBackup() {
 | 
			
		||||
async function backupNow() {
 | 
			
		||||
    const now = utils.nowTimestamp();
 | 
			
		||||
 | 
			
		||||
    const document_path = config.Document.documentPath;
 | 
			
		||||
    const backup_directory = config.Backup.backupDirectory;
 | 
			
		||||
 | 
			
		||||
    const date_str = new Date().toISOString().substr(0, 19);
 | 
			
		||||
 | 
			
		||||
    fs.copySync(document_path, backup_directory + "/" + "backup-" + date_str + ".db");
 | 
			
		||||
    if (!fs.existsSync(dataDir.BACKUP_DIR)) {
 | 
			
		||||
        fs.mkdirSync(dataDir.BACKUP_DIR, 0o700);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    fs.copySync(dataDir.DOCUMENT_PATH, dataDir.BACKUP_DIR + "/" + "backup-" + date_str + ".db");
 | 
			
		||||
 | 
			
		||||
    await sql.setOption('last_backup_date', now);
 | 
			
		||||
    //await sql.commit();
 | 
			
		||||
@ -32,9 +36,8 @@ async function backupNow() {
 | 
			
		||||
 | 
			
		||||
async function cleanupOldBackups() {
 | 
			
		||||
    const now = new Date();
 | 
			
		||||
    const backupDirectory = config.Backup.backupDirectory;
 | 
			
		||||
 | 
			
		||||
    fs.readdirSync(backupDirectory).forEach(file => {
 | 
			
		||||
    fs.readdirSync(dataDir.BACKUP_DIR).forEach(file => {
 | 
			
		||||
        const match = file.match(/backup-([0-9 -:]+)\.db/);
 | 
			
		||||
 | 
			
		||||
        if (match) {
 | 
			
		||||
@ -45,7 +48,7 @@ async function cleanupOldBackups() {
 | 
			
		||||
            if (now.getTime() - date.getTime() > 30 * 24 * 3600 * 1000) {
 | 
			
		||||
                console.log("Removing old backup - " + file);
 | 
			
		||||
 | 
			
		||||
                fs.unlink(backupDirectory + "/" + file);
 | 
			
		||||
                fs.unlink(dataDir.BACKUP_DIR + "/" + file);
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    });
 | 
			
		||||
 | 
			
		||||
@ -2,7 +2,8 @@
 | 
			
		||||
 | 
			
		||||
const ini = require('ini');
 | 
			
		||||
const fs = require('fs');
 | 
			
		||||
const dataDir = require('./data_dir');
 | 
			
		||||
 | 
			
		||||
const config = ini.parse(fs.readFileSync('config.ini', 'utf-8'));
 | 
			
		||||
const config = ini.parse(fs.readFileSync(dataDir.TRILIUM_DATA_DIR + '/config.ini', 'utf-8'));
 | 
			
		||||
 | 
			
		||||
module.exports = config;
 | 
			
		||||
							
								
								
									
										17
									
								
								services/data_dir.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								services/data_dir.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,17 @@
 | 
			
		||||
const os = require('os');
 | 
			
		||||
const fs = require('fs');
 | 
			
		||||
 | 
			
		||||
const TRILIUM_DATA_DIR = process.env.TRILIUM_DATA_DIR || os.homedir() + "/trilium-data";
 | 
			
		||||
 | 
			
		||||
if (!fs.existsSync(TRILIUM_DATA_DIR)) {
 | 
			
		||||
    fs.mkdirSync(TRILIUM_DATA_DIR, 0o700);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const DOCUMENT_PATH = TRILIUM_DATA_DIR + "/document.db";
 | 
			
		||||
const BACKUP_DIR = TRILIUM_DATA_DIR + "/backup";
 | 
			
		||||
 | 
			
		||||
module.exports = {
 | 
			
		||||
    TRILIUM_DATA_DIR,
 | 
			
		||||
    DOCUMENT_PATH,
 | 
			
		||||
    BACKUP_DIR
 | 
			
		||||
};
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user