A beautiful, open-source status page monitoring system built with Next.js 15, TypeScript, and PostgreSQL. Self-host your own status page and monitor your services with style.
- Beautiful UI - Clean, modern interface with smooth animations
- Real-time Monitoring - Automatically ping your endpoints at custom intervals (10s, 60s, etc.)
- 90-Day Uptime Visualization - Uptime graphs showing daily status with color-coded indicators
- Admin Portal - Easy-to-use dashboard to manage endpoints and customize your status page
- Fully Customizable - Brand your status page with custom colors, logos, and text
- Self-Hosted - Own your data, no monthly fees
- Docker-First - One command deployment with Docker Compose
- Docker & Docker Compose
That's it.
- Download the compose file
curl -O https://raw.githubusercontent.com/Cosmofy/sentinal/main/compose.yml- Start the application
docker compose up -d- Access your status page
- Status Page: http://localhost:22571
- Admin Portal: http://localhost:22571/admin (default password:
admin123)
The only thing you might want to change is the admin password. Edit compose.yml:
# ⚠️ CHANGE THIS - Your admin portal password (default: admin123)
NEXT_PUBLIC_ADMIN_PASSWORD: your_secure_passwordEverything else is pre-configured and ready to go!
- Navigate to http://localhost:22571/admin
- Enter the admin password
- Click "Add Endpoint"
- Fill in the details:
- Title: Production API
- URL: https://api.example.com/health
- Interval: 60 (seconds)
- Expected Status Code: 200
- Click "Create"
Monitoring starts automatically!
- Frontend: Next.js 15 (App Router) + TypeScript
- Styling: Tailwind CSS
- Animations: Framer Motion
- Database: PostgreSQL 15
- ORM: Prisma
- Monitoring: node-cron + axios
- Deployment: Docker + Docker Compose
To run locally without Docker:
# Install dependencies
npm install
# Set up database
createdb sentinel
echo 'DATABASE_URL="postgresql://user:password@localhost:5432/sentinel"' > .env
echo 'NEXT_PUBLIC_ADMIN_PASSWORD="admin123"' >> .env
# Run migrations
npx prisma migrate dev
# Start dev server
npm run devdocker compose downTo remove all data including the database:
docker compose down -vContributions are welcome! Feel free to:
- Report bugs
- Suggest features
- Submit pull requests
MIT License - see LICENSE for details.
Made with ❤️ for the open-source community.

