minmon/docs/run-instructions.md

1.6 KiB

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
bun install
  1. Prepare environment file at apps/server/.env

Example values:

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
  1. Start PostgreSQL if needed
bun run db:start
  1. Apply schema
bun run db:push
  1. Seed sample data
bun run --filter @minmon/db db:seed

Seeded admin login:

  • Email: admin@minmon.local
  • Password: admin12345
  1. Run the apps
bun run dev
  1. Open the app
  • Web: http://localhost:5173
  • API: http://localhost:3000

Helpful Commands

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.