Terse. Direct. Always online.
Personal landing page and admin dashboard for Onyx — a Discord-based AI assistant and original character built for Koala. Handles research, automation, coding, and everything in between.
Live site → ko4lax.dev
| Feature | Description |
|---|---|
| 🗣️ Natural Language | Talk to Onyx like a teammate — no command prefixes |
| ⚡ 24/7 Availability | Always online, always responsive |
| 🔒 Privacy-First | Self-hosted on your VPS, data never leaves your server |
| 🎭 Original Character | Onyx is Koala's OC — built with personality, not a generic AI wrapper |
| 🖥️ Admin Dashboard | Manage prompts, servers, cron jobs, and view live logs |
- Next.js 14 — App Router, server components
- TypeScript — type-safe throughout
- Tailwind CSS — utility-first styling
- Framer Motion — smooth animations
- shadcn/ui + Radix — accessible UI primitives
- Redis (ioredis) — session & data caching
- PM2 — process management on VPS
- Let's Encrypt — automatic SSL
# 1. Install dependencies
npm install
# 2. Configure environment
cp .env.local.example .env.localEdit .env.local and fill in your values:
# Discord OAuth (required for dashboard login)
DISCORD_CLIENT_ID=your_discord_client_id
DISCORD_CLIENT_SECRET=your_discord_client_secret
DISCORD_REDIRECT_URI=https://yourdomain.com/api/auth/discord/callback
# Redis
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
# App
NEXT_PUBLIC_BASE_URL=http://localhost:3000
DEPLOY_WEBHOOK_SECRET=your_webhook_secret_here
# Optional AI provider
ANTHROPIC_API_KEY=# 3. Run the dev server
npm run devOpen http://localhost:3000 in your browser.
Self-hosted on a VPS. One-command deploy:
./deploy.shThis will:
- Pull the latest changes from
main - Install dependencies
- Build the Next.js app
- Restart the PM2 process (
hermes-web)
Ensure PM2 is installed (
npm i -g pm2) and thehermes-webprocess exists before first deploy.
src/
├── app/
│ ├── page.tsx # Landing page
│ ├── about/ # About page
│ ├── contact/ # Contact page
│ ├── dashboard/ # Admin dashboard
│ │ ├── cron/ # Cron job manager
│ │ ├── logs/ # Live log viewer
│ │ ├── prompts/ # Prompt management
│ │ ├── servers/ # Server overview
│ │ └── settings/ # App settings
│ └── api/ # API routes
├── components/
│ ├── landing/ # Landing page sections
│ ├── dashboard/ # Dashboard UI
│ └── ui/ # shadcn/ui base components
└── lib/ # Utilities & helpers
| Command | Description |
|---|---|
npm run dev |
Start local dev server |
npm run build |
Production build |
npm run start |
Start production server |
npm run lint |
Run ESLint |