NCFN Portal - plataforma forense digital, custodia de evidencias e laudos RFC 3161.
10K+
Nexus Cyber Forensic Network — plataforma de segurança cibernética e perícia forense digital.
Portal web fullstack usado por equipes de peritos forenses para:
| Camada | Tecnologia |
|---|---|
| Frontend | Next.js 14 (App Router), TypeScript, Tailwind CSS |
| Backend | Next.js API Routes |
| Banco | PostgreSQL 16 (Prisma ORM) |
| Auth | NextAuth.js v4 + WebAuthn (simplewebauthn v8) + TOTP |
| Storage | Volume Docker /COFRE_NCFN |
| Proxy | Caddy + Cloudflare Tunnel |
Disponível para Linux e Windows. Baixe em ncfn.net.
| Arquivo | Sistema | Observação |
|---|---|---|
NCFN Portal-x.x.x.AppImage | Linux (universal) | Dar permissão de execução e rodar |
ncfn-portal_x.x.x_amd64.deb | Linux Debian/Ubuntu | Instalar com dpkg -i |
ncfn-portal Setup x.x.x.exe | Windows 10/11 (x64) | Instalar como qualquer programa |
O app desktop gerencia os containers Docker automaticamente, mas o Docker Engine (Linux) ou o Docker Desktop (Windows) precisa estar instalado antes de abrir o NCFN Portal.
sudo apt install docker.io docker-compose-pluginncfn-portal Setup x.x.x.exe → instala no menu IniciarNCFN-XXXX-XXXX-XXXX-XXXXchmod +x "NCFN Portal-1.0.0.AppImage"
./"NCFN Portal-1.0.0.AppImage"
Para usar o app desktop é necessária uma chave de licença gratuita (validade 1 ano, até 2 máquinas).
Cadastre-se em ncfn.net → você receberá a chave por e-mail após validação.
# 1. Variáveis de ambiente
cat > .env << EOF
PG_PASS=$(openssl rand -hex 16)
NEXTAUTH_SECRET=$(openssl rand -hex 32)
NEXTAUTH_URL=http://localhost:3000
EOF
# 2. docker-compose.yml
cat > docker-compose.yml << 'EOF'
name: ncfn-portal
services:
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_DB: ncfn_db
POSTGRES_USER: ncfn
POSTGRES_PASSWORD: "${PG_PASS}"
volumes:
- pgdata:/var/lib/postgresql/data
expose:
- "5432"
portal:
image: ncfn/portal:latest
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
ports:
- "3000:3000"
volumes:
- ./COFRE_NCFN:/COFRE_NCFN
- ./arquivos:/app/arquivos
environment:
DATABASE_URL: "postgresql://ncfn:${PG_PASS}@postgres:5432/ncfn_db"
NEXTAUTH_SECRET: "${NEXTAUTH_SECRET}"
NEXTAUTH_URL: "${NEXTAUTH_URL:-http://localhost:3000}"
NODE_ENV: production
volumes:
pgdata:
EOF
# 3. Subir
docker compose up -d
Portal disponível em http://localhost:3000 após inicialização (~30s).
| Variável | Obrigatória | Descrição |
|---|---|---|
DATABASE_URL | ✓ | URL PostgreSQL completa |
NEXTAUTH_SECRET | ✓ | Secret JWT (mínimo 32 chars) |
NEXTAUTH_URL | ✓ | URL base do portal |
DEV_BYPASS | — | true = desativa auth (apenas dev) |
NCFN_LICENSE_KEY | — | Chave de licença (app desktop) |
SMTP_HOST | — | Servidor SMTP para alertas canary |
SMTP_USER | — | Usuário SMTP |
SMTP_PASS | — | Senha SMTP |
R2_ACCOUNT_ID | — | Cloudflare R2 para arquivos >50 MB |
R2_ACCESS_KEY_ID | — | Chave de acesso R2 |
R2_SECRET_ACCESS_KEY | — | Secret R2 |
R2_BUCKET_NAME | — | Nome do bucket R2 |
Content type
Image
Digest
sha256:2e99915e6…
Size
811.3 MB
Last updated
2 months ago
docker pull ncfn/portal