new features
This commit is contained in:
@@ -55,8 +55,8 @@ COPY --from=builder /app/dist ./dist
|
||||
# Copy database migrations (needed for runtime)
|
||||
COPY --from=builder /app/src/database/migrations ./dist/database/migrations
|
||||
|
||||
# Create logs directory
|
||||
RUN mkdir -p /app/logs
|
||||
# Create logs and uploads directories
|
||||
RUN mkdir -p /app/logs /app/uploads/bestellungen/thumbnails
|
||||
|
||||
# Change ownership to non-root user
|
||||
RUN chown -R nodejs:nodejs /app
|
||||
|
||||
@@ -128,7 +128,8 @@ app.use('/api/permissions', permissionRoutes);
|
||||
app.use('/api/shop', shopRoutes);
|
||||
|
||||
// Static file serving for uploads (authenticated)
|
||||
app.use('/uploads', authenticate, express.static(path.resolve(__dirname, '../../uploads')));
|
||||
const uploadsDir = process.env.NODE_ENV === 'production' ? '/app/uploads' : path.resolve(__dirname, '../../uploads');
|
||||
app.use('/uploads', authenticate, express.static(uploadsDir));
|
||||
|
||||
// 404 handler
|
||||
app.use(notFoundHandler);
|
||||
|
||||
@@ -4,14 +4,21 @@ import path from 'path';
|
||||
import fs from 'fs';
|
||||
import logger from '../utils/logger';
|
||||
|
||||
const UPLOAD_DIR = path.resolve(__dirname, '../../../uploads/bestellungen');
|
||||
const THUMBNAIL_DIR = path.resolve(__dirname, '../../../uploads/bestellungen/thumbnails');
|
||||
// In Docker the working dir is /app and the volume is mounted at /app/uploads.
|
||||
// In dev, resolve relative to the project root (3 levels up from dist/middleware/).
|
||||
const APP_ROOT = process.env.NODE_ENV === 'production' ? '/app' : path.resolve(__dirname, '../../..');
|
||||
const UPLOAD_DIR = path.join(APP_ROOT, 'uploads', 'bestellungen');
|
||||
const THUMBNAIL_DIR = path.join(APP_ROOT, 'uploads', 'bestellungen', 'thumbnails');
|
||||
|
||||
// Ensure directories exist
|
||||
// Ensure directories exist (graceful — may already exist via Docker volume)
|
||||
[UPLOAD_DIR, THUMBNAIL_DIR].forEach(dir => {
|
||||
if (!fs.existsSync(dir)) {
|
||||
fs.mkdirSync(dir, { recursive: true });
|
||||
logger.info(`Created upload directory: ${dir}`);
|
||||
try {
|
||||
if (!fs.existsSync(dir)) {
|
||||
fs.mkdirSync(dir, { recursive: true });
|
||||
logger.info(`Created upload directory: ${dir}`);
|
||||
}
|
||||
} catch (err) {
|
||||
logger.warn(`Could not create upload directory ${dir} — it may be created by Docker volume mount`, { err });
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user