An application for monitoring and managing FreeRADIUS servers. Built with NestJS (backend) and Next.js (frontend) with Mantine UI components.
-
User management: Create, update, and manage users on the RADIUS server.
-
NAS management: Add and manage NAS devices.
-
Real-time monitoring: Fetch and display real-time RADIUS server statistics (e.g., online - users, accounting logs).
-
Billing and subscriptions: Handle ISP billing and user subscriptions.
-
Authentication and Authorization:
- Admin and client roles.
- Token-based authentication using JWT.
-
Notifications:
- Notify NAS devices of configuration changes.
- User-friendly dashboard with real-time charts and statistics.
- Role-based access for administrators and clients.
- CRUD operations for users, groups, and NAS devices.
- Authentication with NextAuth for secure login.
- Customizable UI built on Mantine UI for a modern, responsive experience.
- Framework: NestJS
- Database: MySQL
- Payment: M-PESA
- SMS: Africa's Talking
- Authentication: JWT
- Documentation: Swagger/OpenAPI
- Framework: Next.js 14
- UI Library: Mantine UI
- State Management: SWR
- Charts: Mantine Charts(Recharts)
- Docker
- Docker Compose
- Clone the repository:
git clone https://github.com/Ogwenya/radash.git
- Configure environment variables:
-
Node
NODE_ENV
-
Timezone
TIMEZONE_IANA
TIMEZONE
-
Raduis
RADIUS_SECRET
-
JWT
JWT_SECRET
-
Database
MYSQL_ROOT_PASSWORD
MYSQL_USER
MYSQL_PASSWORD
MYSQL_DATABASE
-
Email
EMAIL_ADDRESS
EMAIL_PASSWORD
EMAIL_HOST
EMAIL_PORT
-
SMS
AFRICAS_TALKING_API_KEY
AFRICAS_TALKING_USERNAME
AFRICAS_TALKING_SENDER_ID
-
M-PESA
CALLBACK_URL
MPESA_CONSUMER_KEY
MPESA_SECRET_KEY
MPESA_PAYBILL
MPESA_PASSKEY
-
Frontend
DASHBOARD_API_KEY
DASHBOARD_URL
-
Next-auth
NEXTAUTH_SECRET
NEXTAUTH_URL
- Run docker-compose:
docker-compose up -d
This project is licensed under the MIT License - see the LICENSE file for details.