Skip to content

OverseerOSS/Overseer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ef44704 · · Mar 11, 2026

History

33 Commits
Feb 15, 2026
Mar 11, 2026
Feb 17, 2026
Mar 11, 2026
Feb 15, 2026
Feb 17, 2026
Feb 9, 2026
Feb 15, 2026
Feb 12, 2026
Feb 15, 2026
Feb 15, 2026
Feb 15, 2026
Feb 15, 2026
Feb 9, 2026
Feb 9, 2026
Feb 12, 2026
Feb 16, 2026
Feb 12, 2026
Mar 5, 2026
Feb 15, 2026
Feb 12, 2026
Feb 15, 2026
Feb 9, 2026
Feb 16, 2026
Feb 17, 2026
Feb 12, 2026
Mar 11, 2026
Feb 12, 2026
Feb 12, 2026
Feb 9, 2026
Feb 15, 2026
Feb 12, 2026

Repository files navigation

Overseer

on the go note to flavor town reviewer! this project works, the demo your provided with is in a demo mode, this meens it uses mockup data, you can still remove and amke new monitors, hope this clears up confusion A powerful, extensible infrastructure monitoring platform built with Next.js. Monitor servers, databases, APIs, containers, and more through a unified dashboard..

Features

  • Real-time Monitoring - Track server metrics, API health, and service status

  • Secure Credentials - Built-in encryption for API keys and passwords

  • Historical Data - View metrics over time with interactive graphs

  • Easy Setup - Get started in minutes with simple configuration

Quick Start Guide

Get Overseer up and running in less than 5 minutes:

  1. Clone and Install

    git clone https://github.com/OverseerOSS/Overseer.git
    
    cd Overseer
    npm installl
  2. Configure Environment Create a .env file in the root:

    DATABASE_URL="postgresql://user:password@localhost:5432/overseer"
    
    SESSION_SECRET="your-32-character-random-secret"
  3. Initialize Database

    npx prisma migrate dev
  4. Launch

    npm run dev

    Access the dashboard at http://localhost:3000.

Configuration

Detailed configuration options:

Environment Variables

  • DATABASE_URL: Your PostgreSQL connection string.
  • SESSION_SECRET: A secure key for auth sessions. Generate one with openssl rand -hex 32.

Built-in Monitors

  • Linux Server - Monitor CPU, RAM, and system metrics via SSH
  • Dokploy - Monitor Dokploy-managed containers and applications

Documentation

Creating a Plugin

Overseer uses a drop-in plugin system. Simply create a folder in app/extensions/ and it will be automatically registered.

// app/extensions/my-plugin/index.ts

import { MonitoringExtension } from "../types";


export const myPlugin: MonitoringExtension = {
   id: "my-plugin",
   name: "My Service Monitor",
   description: "Monitor my custom service",
  
    configSchema: [
     {
       key: "apiUrl",
       label: "API URL",
       type: "url",
       required: true
     }
   ],
  
    async fetchStatus(config) {
     const response = await fetch(config.apiUrl);
     const data = await response.json();
    
      return [{
       id: "service",
       name: "My Service",
       type: "api",
       status: data.healthy ? "running" : "error",
       details: { uptime: data.uptime }
     }];
   }

};

Tech Stack

Project Structure

Overseer/
├── app/
│   ├── extensions/        # Monitoring plugins
│   ├── components/        # React components
│   ├── actions.ts         # Server actions
│   └── page.tsx          # Dashboard
├── lib/
│   ├── credentials.ts    # Credential encryption utilities
│   ├── db.ts            # Database helpers
│   └── session.ts       # Authentication
├── prisma/
│   └── schema.prisma    # Database schema
└── docs/                # Documentation
cumentation

Contributing

Contributions are welcomed. Please feel free to submit pull requests or open issues.

License

Overseer is released under the BSD 3-Clause License. See the LICENSE file for more information.

Support

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors

No contributors

Languages