feat: add healthcheck endpoints, Dockerfiles, and admin middleware configuration
This commit is contained in:
@@ -18,5 +18,8 @@ RUN chown -R nextjs:nodejs /app
|
||||
|
||||
USER nextjs
|
||||
|
||||
HEALTHCHECK --interval=15s --timeout=5s --start-period=60s --retries=5 \
|
||||
CMD wget --no-verbose --tries=1 --spider http://localhost:3001/api/health || exit 1
|
||||
|
||||
# On lance directement via npm (avec push de la BD si besoin, ou juste start)
|
||||
CMD ["sh", "-c", "npx prisma db push --schema=prisma/schema.prisma --accept-data-loss && (node ../scripts/ensure-admin.cjs || node scripts/ensure-admin.cjs || true) && npm start"]
|
||||
|
||||
15
admin/src/app/api/health/route.ts
Normal file
15
admin/src/app/api/health/route.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
import { NextResponse } from 'next/server';
|
||||
|
||||
export const dynamic = 'force-dynamic';
|
||||
|
||||
export async function GET() {
|
||||
return NextResponse.json(
|
||||
{
|
||||
status: 'ok',
|
||||
service: 'afrohub-admin',
|
||||
timestamp: new Date().toISOString(),
|
||||
uptime: process.uptime(),
|
||||
},
|
||||
{ status: 200 }
|
||||
);
|
||||
}
|
||||
@@ -6,6 +6,7 @@ import { getTabForPathname, hasTabPermission } from '@/lib/permissions';
|
||||
// Public endpoints and static resources
|
||||
const PUBLIC_PREFIXES = [
|
||||
'/login',
|
||||
'/api/health',
|
||||
'/api/cron',
|
||||
'/api/external',
|
||||
'/_next',
|
||||
|
||||
Reference in New Issue
Block a user