85 lines
1.6 KiB
Markdown
85 lines
1.6 KiB
Markdown
# Run Instructions
|
|
|
|
## Project Description
|
|
|
|
Minmon is a student-friendly web dashboard for managing private servers, their hosted services, related domains, and server notes. It focuses on CRUD operations plus simple DNS monitoring, not deployment automation.
|
|
|
|
## Main Features
|
|
|
|
- Admin login with better-auth
|
|
- Dashboard summary for servers, services, domains, DNS status, and inactive services
|
|
- Server CRUD
|
|
- Service CRUD
|
|
- Domain CRUD
|
|
- DNS A-record check with match/mismatch/unresolved result
|
|
- Server note/documentation CRUD
|
|
- Sample seed data for demo use
|
|
|
|
## Local Setup
|
|
|
|
1. Install dependencies
|
|
|
|
```bash
|
|
bun install
|
|
```
|
|
|
|
2. Prepare environment file at `apps/server/.env`
|
|
|
|
Example values:
|
|
|
|
```env
|
|
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/minmon
|
|
BETTER_AUTH_SECRET=your-32-char-or-longer-secret-value-here
|
|
BETTER_AUTH_URL=http://localhost:3000
|
|
CORS_ORIGIN=http://localhost:5173
|
|
NODE_ENV=development
|
|
```
|
|
|
|
3. Start PostgreSQL if needed
|
|
|
|
```bash
|
|
bun run db:start
|
|
```
|
|
|
|
4. Apply schema
|
|
|
|
```bash
|
|
bun run db:push
|
|
```
|
|
|
|
5. Seed sample data
|
|
|
|
```bash
|
|
bun run --filter @minmon/db db:seed
|
|
```
|
|
|
|
Seeded admin login:
|
|
|
|
- Email: `admin@minmon.local`
|
|
- Password: `admin12345`
|
|
|
|
6. Run the apps
|
|
|
|
```bash
|
|
bun run dev
|
|
```
|
|
|
|
7. Open the app
|
|
|
|
- Web: `http://localhost:5173`
|
|
- API: `http://localhost:3000`
|
|
|
|
## Helpful Commands
|
|
|
|
```bash
|
|
bun run check-types
|
|
bun run db:push
|
|
bun run db:studio
|
|
bun run --filter web check-types
|
|
bun run --filter server check-types
|
|
```
|
|
|
|
## Notes
|
|
|
|
- Full workspace typecheck may still fail because of a pre-existing `apps/desktop` typing issue for `three`.
|
|
- The dashboard app itself, server app, DB push, and DB seed are verified.
|