mirror of
https://github.com/siteboon/claudecodeui.git
synced 2025-12-09 19:09:45 +00:00
Make authentication database path configurable via DATABASE_PATH environment variable (#205)
* Make database path configurable via DATABASE_PATH environment variable - Add DATABASE_PATH environment variable support in db.js - Automatically create database directory if custom path is provided - Update .env.example with DATABASE_PATH documentation for container deployments - Maintain backward compatibility with default path (server/database/auth.db) Co-authored-by: werdnum <271070+werdnum@users.noreply.github.com> * Add error handling for creating DATABASE_PATH. Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: werdnum <271070+werdnum@users.noreply.github.com> Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> Co-authored-by: viper151 <simosmik@gmail.com>
This commit is contained in:
@@ -14,6 +14,15 @@ VITE_PORT=5173
|
|||||||
# Uncomment the following line if you have a custom claude cli path other than the default "claude"
|
# Uncomment the following line if you have a custom claude cli path other than the default "claude"
|
||||||
# CLAUDE_CLI_PATH=claude
|
# CLAUDE_CLI_PATH=claude
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
# DATABASE CONFIGURATION
|
||||||
|
# =============================================================================
|
||||||
|
|
||||||
|
# Path to the authentication database file
|
||||||
|
# This should be set to a persistent volume path when running in containers
|
||||||
|
# Default: server/database/auth.db (relative to project root)
|
||||||
|
# Example for Docker: /data/auth.db
|
||||||
|
# DATABASE_PATH=/data/auth.db
|
||||||
# Claude Code context window size (maximum tokens per session)
|
# Claude Code context window size (maximum tokens per session)
|
||||||
# Note: VITE_ prefix makes it available to frontend
|
# Note: VITE_ prefix makes it available to frontend
|
||||||
VITE_CONTEXT_WINDOW=160000
|
VITE_CONTEXT_WINDOW=160000
|
||||||
|
|||||||
@@ -7,12 +7,27 @@ import { dirname } from 'path';
|
|||||||
const __filename = fileURLToPath(import.meta.url);
|
const __filename = fileURLToPath(import.meta.url);
|
||||||
const __dirname = dirname(__filename);
|
const __dirname = dirname(__filename);
|
||||||
|
|
||||||
const DB_PATH = path.join(__dirname, 'auth.db');
|
// Use DATABASE_PATH environment variable if set, otherwise use default location
|
||||||
|
const DB_PATH = process.env.DATABASE_PATH || path.join(__dirname, 'auth.db');
|
||||||
const INIT_SQL_PATH = path.join(__dirname, 'init.sql');
|
const INIT_SQL_PATH = path.join(__dirname, 'init.sql');
|
||||||
|
|
||||||
|
// Ensure database directory exists if custom path is provided
|
||||||
|
if (process.env.DATABASE_PATH) {
|
||||||
|
const dbDir = path.dirname(DB_PATH);
|
||||||
|
try {
|
||||||
|
if (!fs.existsSync(dbDir)) {
|
||||||
|
fs.mkdirSync(dbDir, { recursive: true });
|
||||||
|
console.log(`Created database directory: ${dbDir}`);
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error(`Failed to create database directory ${dbDir}:`, error.message);
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Create database connection
|
// Create database connection
|
||||||
const db = new Database(DB_PATH);
|
const db = new Database(DB_PATH);
|
||||||
console.log('Connected to SQLite database');
|
console.log(`Connected to SQLite database at: ${DB_PATH}`);
|
||||||
|
|
||||||
// Initialize database with schema
|
// Initialize database with schema
|
||||||
const initializeDatabase = async () => {
|
const initializeDatabase = async () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user