mirror of
https://github.com/Dictionarry-Hub/profilarr.git
synced 2026-01-28 05:20:57 +01:00
feat: add Docker deployment support
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { config } from '$config';
|
||||
import { printBanner, getServerInfo } from '$logger/startup.ts';
|
||||
import { printBanner, getServerInfo, logContainerConfig } from '$logger/startup.ts';
|
||||
import { logSettings } from '$logger/settings.ts';
|
||||
import { logger } from '$logger/logger.ts';
|
||||
import { db } from '$db/db.ts';
|
||||
@@ -20,6 +20,9 @@ await runMigrations();
|
||||
// Load log settings from database (must be after migrations)
|
||||
logSettings.load();
|
||||
|
||||
// Log container config (if running in Docker)
|
||||
await logContainerConfig();
|
||||
|
||||
// Initialize PCD caches (must be after migrations and log settings)
|
||||
await pcdManager.initialize();
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
|
||||
import { config } from '$config';
|
||||
import { appInfoQueries } from '$db/queries/appInfo.ts';
|
||||
import { logger } from './logger.ts';
|
||||
|
||||
const BANNER = String.raw`
|
||||
_____.__.__
|
||||
@@ -14,6 +15,42 @@ _____________ _____/ ____\__| | _____ ______________
|
||||
|__| \/
|
||||
`;
|
||||
|
||||
/**
|
||||
* Check if running inside a Docker container
|
||||
*/
|
||||
function isDocker(): boolean {
|
||||
try {
|
||||
// Check for .dockerenv file (most reliable)
|
||||
Deno.statSync('/.dockerenv');
|
||||
return true;
|
||||
} catch {
|
||||
// Check for docker in cgroup (fallback)
|
||||
try {
|
||||
const cgroup = Deno.readTextFileSync('/proc/1/cgroup');
|
||||
return cgroup.includes('docker');
|
||||
} catch {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Log container configuration (only when running in Docker)
|
||||
*/
|
||||
export async function logContainerConfig(): Promise<void> {
|
||||
if (!isDocker()) return;
|
||||
|
||||
await logger.info('Container initialized', {
|
||||
source: 'Docker',
|
||||
meta: {
|
||||
puid: Deno.env.get('PUID') || '1000',
|
||||
pgid: Deno.env.get('PGID') || '1000',
|
||||
umask: Deno.env.get('UMASK') || '022',
|
||||
tz: Deno.env.get('TZ') || 'UTC'
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export function printBanner(): void {
|
||||
const version = appInfoQueries.getVersion();
|
||||
const url = config.serverUrl;
|
||||
|
||||
Reference in New Issue
Block a user