Nerion is a comprehensive cybersecurity management platform designed for healthcare organizations, providing ITSM ticket routing, security tool integration, and credential vault management.
- Node.js 20+ installed
- Git installed
- Vercel account (https://vercel.com/) - for frontend
- Render account (https://render.com/) - for backend + database
-
Clone the repository
git clone <your-repo-url> cd Cyber-Rx
-
Install dependencies
# Install API dependencies cd cyberrx-api npm install # Install frontend dependencies cd ../frontend npm install
-
Configure environment variables
# Copy API environment template cd cyberrx-api cp .env.example .env # Copy frontend environment template cd ../frontend cp .env.example .env
-
Start the services
# Terminal 1 - Start API cd cyberrx-api npm start # Terminal 2 - Start frontend cd frontend npm run dev
-
Access the application
- Frontend: http://localhost:5173
- API: http://localhost:3001
- API Health: http://localhost:3001/health
- Frontend: Vercel (React + Vite)
- Backend: Render (Node.js + Express)
- Database: Render PostgreSQL
The repository is already created at: https://github.com/btd2026/Cyber-Rx
-
Create Render Account
- Go to https://render.com/
- Sign up/login with your GitHub account
-
Deploy Backend Service
- Click "New" β "Web Service"
- Select your
Cyber-Rxrepository - Set root directory to
cyberrx-api/ - Configure:
- Name: cyberrx-api
- Region: Oregon (or closest to you)
- Plan: Free
- Build Command:
npm install - Start Command:
npm start
- Click "Deploy"
-
Create PostgreSQL Database
- Click "New" β "PostgreSQL"
- Configure:
- Name: cyberrx-db
- Database: cyberrx
- User: cyberrx_user
- Region: Same as backend
- Plan: Free
- Click "Create Database"
-
Link Database to Backend
- Go to your backend service β "Settings"
- Scroll to "Environment"
- Render automatically adds database variables:
DATABASE_URLPGHOSTPGPORTPGDATABASEPGUSERPGPASSWORD
- Add additional variables:
NODE_ENV = production PORT = 3001 JWT_SECRET = <generate-secure-secret> VAULT_MODE = local FRONTEND_URL = https://your-vercel-app.vercel.app
- Click "Save Changes"
- Render will automatically restart your service
-
Verify Backend Deployment
- Check deployment logs in Render dashboard
- Test health endpoint:
https://cyberrx-api.onrender.com/health - You should see:
{"status":"ok","version":"1.0.0","ts":"..."}
-
Create Vercel Account
- Go to https://vercel.com/
- Sign up/login with your GitHub account
-
Import Project
- Click "Add New" β "Project"
- Select your
Cyber-Rxrepository - Configure:
- Framework Preset: Vite
- Root Directory:
frontend/ - Build Command:
npm run build - Output Directory:
dist
-
Configure Environment Variables
- In Vercel project settings β "Environment Variables"
- Add:
VITE_API_URL = https://cyberrx-api.onrender.com
- Or add as:
render-backend-urlfor the vercel.json configuration
-
Deploy
- Click "Deploy"
- Vercel will build and deploy your frontend
- Get your Vercel URL:
https://your-project.vercel.app
-
Update Backend CORS
- Go back to Render backend service
- Update
FRONTEND_URLenvironment variable:FRONTEND_URL = https://your-project.vercel.app
- Render will restart the backend with updated CORS settings
-
Verify Services
- Frontend:
https://your-project.vercel.app - Backend Health:
https://cyberrx-api.onrender.com/health - Test API connectivity from frontend
- Frontend:
-
Configure Security Tool Credentials (Optional)
- Go to Render backend service β "Environment"
- Add tool credentials:
# ServiceNow SNOW_INSTANCE = your-instance SNOW_USER = admin SNOW_PASSWORD = your-password SNOW_ASSIGN_GROUP = IT Security # Okta OKTA_DOMAIN = your-org.okta.com OKTA_APITOKEN = your-token # CrowdStrike CROWDSTRIKE_CLIENT_ID = your-client-id CROWDSTRIKE_CLIENT_SECRET = your-client-secret
-
Configure Custom Domains (Optional)
- Vercel: Add custom domain in project settings
- Render: Add custom domain in service settings (requires paid plan)
- Vercel: Automatic deployments on git push
- Render: Automatic deployments on git push
- Both platforms provide real-time logs and health monitoring
Cyber-Rx/
βββ cyberrx-api/ # Backend API service (Render)
β βββ src/
β β βββ routes/ # API route handlers
β β βββ utils/ # Database utilities
β β βββ index.js # API entry point
β βββ package.json
β βββ render.yaml # Render configuration
β
βββ frontend/ # Frontend React application (Vercel)
β βββ src/
β β βββ App.jsx # Main React component
β βββ public/
β βββ package.json
β βββ vercel.json # Vercel configuration
β
βββ .gitignore
βββ README.md
| Variable | Description | Required | Default |
|---|---|---|---|
DATABASE_URL |
PostgreSQL connection string | Yes | - |
NODE_ENV |
Environment mode | Yes | development |
PORT |
API port | No | 3001 |
JWT_SECRET |
JWT signing secret | Yes | - |
VAULT_MODE |
Credential vault mode | No | local |
FRONTEND_URL |
Frontend URL for CORS | Yes | - |
| Variable | Description | Required | Default |
|---|---|---|---|
VITE_API_URL |
Backend API URL (Render) | Yes | http://localhost:3001 |
See ENV_VARIABLES.md for complete configuration reference.
Nerion uses a microservices architecture:
- Frontend: React + Vite + TailwindCSS
- Backend: Node.js + Express.js
- Database: PostgreSQL
- Deployment: Vercel (Frontend) + Render (Backend + Database)
- Environment-based configuration
- CORS protection
- JWT authentication ready
- Secure database connections with SSL
- Credential vault integration ready
- ITSM Integration: ServiceNow, Jira, Freshservice
- Security Tool Integration: CrowdStrike, Okta, Splunk, KnowBe4, Tenable
- Metrics Dashboard: Real-time security metrics visualization
- CMMI Scoring: 5-level maturity assessment
- Multi-tenant Organization Support
See TROUBLESHOOTING.md for common issues and solutions.
- SETUP.md - Detailed setup instructions
- ENV_VARIABLES.md - Complete environment variable reference
- VERCEL_RENDER_DEPLOYMENT.md - Vercel + Render deployment guide
- TROUBLESHOOTING.md - Common issues and solutions
This project is proprietary software. All rights reserved.
For support and questions, please contact the development team.
Built with β€οΈ for Healthcare Cybersecurity