logs
This commit is contained in:
parent
c51788dfae
commit
2f37c4cd52
2 changed files with 52 additions and 10 deletions
|
|
@ -22,4 +22,5 @@ ENV NODE_ENV=production
|
|||
ENV NODE_NO_WARNINGS=1
|
||||
|
||||
# Явно выводим логи в stdout/stderr без буферизации
|
||||
CMD sh -c "echo '========================================' && echo '=== STARTING BACKEND ===' && echo '========================================' && npx prisma migrate deploy && echo '=== MIGRATIONS COMPLETED ===' && exec node --no-warnings dist/main"
|
||||
# Используем unbuffered mode для Python-style вывода (если доступно)
|
||||
CMD sh -c "echo '========================================' 1>&2 && echo '=== DOCKER CMD STARTED ===' 1>&2 && echo '========================================' 1>&2 && echo 'Running migrations...' 1>&2 && npx prisma migrate deploy 2>&1 && echo '=== MIGRATIONS COMPLETED ===' 1>&2 && echo 'Starting Node.js application...' 1>&2 && exec node --no-warnings dist/main 2>&1"
|
||||
|
|
|
|||
|
|
@ -3,16 +3,54 @@ import { ValidationPipe } from '@nestjs/common';
|
|||
import { ConfigService } from '@nestjs/config';
|
||||
import { AppModule } from './app.module';
|
||||
|
||||
async function bootstrap() {
|
||||
// Принудительно выводим в stdout и stderr для Docker/Coolify
|
||||
const log = (message: string) => {
|
||||
console.log(message);
|
||||
console.error(`[LOG] ${message}`); // Дублируем в stderr для надежности
|
||||
};
|
||||
// Логируем ДО инициализации NestJS, чтобы видеть, что процесс запустился
|
||||
console.log('========================================');
|
||||
console.log('=== BACKEND PROCESS STARTED ===');
|
||||
console.log('========================================');
|
||||
console.log(`Node version: ${process.version}`);
|
||||
console.log(`Process PID: ${process.pid}`);
|
||||
console.log(`Working directory: ${process.cwd()}`);
|
||||
|
||||
log('========================================');
|
||||
log('=== BACKEND STARTING ===');
|
||||
log('========================================');
|
||||
// Принудительно выводим в stdout и stderr для Docker/Coolify
|
||||
const log = (message: string) => {
|
||||
const timestamp = new Date().toISOString();
|
||||
const logMessage = `[${timestamp}] ${message}`;
|
||||
console.log(logMessage);
|
||||
console.error(logMessage); // Дублируем в stderr для надежности
|
||||
// Также пишем напрямую в stderr
|
||||
process.stderr.write(logMessage + '\n');
|
||||
};
|
||||
|
||||
log('========================================');
|
||||
log('=== BACKEND BOOTSTRAP STARTING ===');
|
||||
log('========================================');
|
||||
|
||||
// Логируем переменные окружения ДО создания приложения
|
||||
log('Environment variables check:');
|
||||
log(` DATABASE_URL: ${process.env.DATABASE_URL ? 'SET (length: ' + process.env.DATABASE_URL.length + ')' : 'NOT SET'}`);
|
||||
log(` JWT_SECRET: ${process.env.JWT_SECRET ? 'SET (length: ' + process.env.JWT_SECRET.length + ')' : 'NOT SET'}`);
|
||||
log(` PORT: ${process.env.PORT || 'NOT SET (default: 3000)'}`);
|
||||
log(` HOST: ${process.env.HOST || 'NOT SET (default: 0.0.0.0)'}`);
|
||||
log(` CORS_ORIGIN: ${process.env.CORS_ORIGIN || 'NOT SET (default: http://localhost:5173)'}`);
|
||||
|
||||
// Проверяем и исправляем формат DATABASE_URL
|
||||
if (process.env.DATABASE_URL) {
|
||||
let dbUrl = process.env.DATABASE_URL;
|
||||
if (dbUrl.startsWith('postgres://')) {
|
||||
log('⚠️ WARNING: DATABASE_URL uses postgres:// instead of postgresql://');
|
||||
log(' Converting to postgresql:// format for Prisma...');
|
||||
// Заменяем postgres:// на postgresql://
|
||||
dbUrl = dbUrl.replace('postgres://', 'postgresql://');
|
||||
process.env.DATABASE_URL = dbUrl;
|
||||
log('✓ DATABASE_URL converted to postgresql:// format');
|
||||
} else if (dbUrl.startsWith('postgresql://')) {
|
||||
log('✓ DATABASE_URL format is correct (postgresql://)');
|
||||
} else {
|
||||
log('⚠️ WARNING: DATABASE_URL format is unusual');
|
||||
}
|
||||
}
|
||||
|
||||
async function bootstrap() {
|
||||
|
||||
const app = await NestFactory.create(AppModule);
|
||||
const configService = app.get(ConfigService);
|
||||
|
|
@ -77,6 +115,9 @@ async function bootstrap() {
|
|||
|
||||
try {
|
||||
log(`Attempting to start server on ${host}:${port}...`);
|
||||
log('Creating NestJS application instance...');
|
||||
|
||||
log('Starting HTTP server...');
|
||||
await app.listen(port, host);
|
||||
|
||||
log('========================================');
|
||||
|
|
|
|||
Loading…
Reference in a new issue