Skip to content

ReplicantCoder9000/steadfast

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Steadfast

The enterprise-grade synthetic monitoring platform.

Comprehensive monitoring, status pages, and alerting for modern businesses.

About Steadfast 🚀

Steadfast is a powerful synthetic monitoring platform designed for businesses that need reliable, scalable monitoring solutions.

  • Global Synthetic Monitoring: Monitor your websites and APIs from 35 regions worldwide
  • Advanced Status Pages: Customizable, white-label status pages with subscriber management
  • Team Collaboration: Built for teams with robust access controls and permissions
  • Enterprise-Ready: SAML SSO, audit logs, and advanced security features

Features 💡

  • Comprehensive Monitoring

    • Multi-region monitoring with 30-second frequency
    • Screenshot capture on failures
    • OpenTelemetry integration
    • Private location support
  • Professional Status Pages

    • Custom domain support
    • White label options
    • Subscriber management
    • Maintenance windows
  • Team-Focused

    • Role-based access control
    • Collaborative incident management
    • Audit logging
    • Team-based billing
  • Advanced Alerting

    • Multi-channel notifications
    • Custom alert rules
    • Integrations with Slack, Discord, Email, SMS, and PagerDuty
    • Escalation policies

Tech Stack 🛠

Getting Started 🏃

Requirements

Setup

  1. Clone the repository and install dependencies:
git clone [your-repo-url]
cd steadfast
pnpm install
  1. Initialize the development environment:

Launch the database:

turso dev --db-file steadfast-dev.db

In another terminal:

pnpm dx
  1. Launch the web app:
pnpm dev:web
  1. Open http://localhost:3000 in your browser

Environment Variables

Create a .env file in the root directory with the following variables:

# Supabase
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_key

# Stripe (for billing)
STRIPE_SECRET_KEY=your_stripe_secret_key
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key

# Additional configurations as needed

Documentation

For detailed documentation about setup, configuration, and usage, please refer to our documentation site.

Deployment 🚀

DigitalOcean App Platform Configuration

For testing/development deployment:

  1. Environment Setup

    • Set NODE_ENV=development to:
      • Skip email functionality (no Resend API key needed)
      • Disable analytics tracking
      • Enable development mode features
  2. Runtime Configuration

    • Using Node.js runtime for all API routes
    • Webpack cache optimization enabled
    • Edge runtime disabled for better compatibility
  3. Disabled Features in Development

    • Email notifications (welcome emails, status updates)
    • Analytics tracking
    • User behavior monitoring

Note: This configuration is for testing purposes only. For production deployment, additional environment variables and service configurations will be required.

About

The open-source synthetic monitoring platform.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 80.6%
  • MDX 9.8%
  • PLpgSQL 5.4%
  • Go 2.8%
  • JavaScript 0.6%
  • Dockerfile 0.3%
  • Other 0.5%