mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-16 10:59:39 +02:00
- Implement mana-media service with PostgreSQL/Drizzle ORM persistence - Add content-addressable storage (SHA-256) for automatic deduplication - Add Matrix MXC URL import endpoint to copy images from Matrix - Create @manacore/media-client package for service consumption - Integrate mana-media into NutriPhi bot for persistent image storage - Update pnpm-workspace.yaml to include nested service packages - Add mana-media to docker-compose with port 3015 Images sent to NutriPhi bot are now stored in mana-media after analysis, providing persistent storage with deduplication across all apps. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
36 lines
917 B
TypeScript
36 lines
917 B
TypeScript
import { NestFactory } from '@nestjs/core';
|
|
import { ValidationPipe, Logger } from '@nestjs/common';
|
|
import { json, urlencoded } from 'express';
|
|
import { AppModule } from './app.module';
|
|
|
|
async function bootstrap() {
|
|
const logger = new Logger('Bootstrap');
|
|
const app = await NestFactory.create(AppModule);
|
|
|
|
app.setGlobalPrefix('api/v1');
|
|
|
|
// Increase body size limit for large file uploads
|
|
app.use(json({ limit: '100mb' }));
|
|
app.use(urlencoded({ extended: true, limit: '100mb' }));
|
|
|
|
app.useGlobalPipes(
|
|
new ValidationPipe({
|
|
whitelist: true,
|
|
transform: true,
|
|
forbidNonWhitelisted: true,
|
|
})
|
|
);
|
|
|
|
app.enableCors({
|
|
origin: process.env.CORS_ORIGINS?.split(',') || '*',
|
|
credentials: true,
|
|
});
|
|
|
|
const port = process.env.PORT || 3015;
|
|
await app.listen(port);
|
|
|
|
logger.log(`Mana Media service running on port ${port}`);
|
|
logger.log(`Health check: http://localhost:${port}/health`);
|
|
}
|
|
|
|
bootstrap();
|