Getting Started
Get your ATStatus page up and running in under 5 minutes with this quick start guide.
Prerequisites
- • Node.js 18.0 or later (LTS recommended)
- • npm package manager (included with Node.js)
- • A terminal or command prompt
Quick Installation
Extract the Package
Extract the ATStatus package to your desired location and open a terminal.
cd path/to/statuspage-cleanInstall Dependencies
Install all required Node.js packages.
npm installRun Setup
Initialize the database and generate configuration.
npm run setupConfigure Environment
Edit the .env file with your settings (optional but recommended).
Start the Server
Launch your status page!
npm startEnvironment Configuration
Edit the .env file with your settings:
# Database (SQLite - embedded, no external DB needed)
DATABASE_URL="file:./data.db"
# Admin Password (CHANGE THIS!)
ADMIN_PASSWORD="your-secure-password"
# Session Secret (generate a strong random string)
SESSION_SECRET="change-this-to-a-secure-random-key"
# Cron Secret (for monitor endpoint protection)
CRON_SECRET="change-this-to-another-secure-key"
# Network Access (set to "false" for HTTP access from LAN)
FORCE_SECURE_COOKIES="false"
# Optional: AI-Powered RCA (Root Cause Analysis)
# Get FREE API key from https://console.groq.com/keys
# GROQ_API_KEY=""Your status page is now running at http://localhost:3000
🎉 You're all set!
Default admin credentials use the ADMIN_PASSWORD from your .env file. Change this immediately for production use!
What's Next?
Project Structure
Here's an overview of the main directories:
statuspage-clean/
├── app/ # Next.js App Router pages
│ ├── admin/ # Admin panel pages
│ ├── api/ # API routes
│ ├── status/ # Public status pages
│ └── history/ # Incident history
├── components/ # React components
│ └── ui/ # UI components (shadcn/ui)
├── lib/ # Utility functions
├── prisma/
│ └── schema.prisma # Database schema
├── scripts/ # Utility scripts
└── public/ # Static assetsCommon Issues
Database Connection Error
If you see database connection errors, ensure your DATABASE_URL in .env is correct. For SQLite, use:
DATABASE_URL="file:./data.db"Prisma Client Not Generated
If you see Prisma client errors, regenerate it:
npm run db:generatePort Already in Use
The smart port resolver automatically finds an available port. To force a specific port:
PORT=3001 npm startCannot Login from Other Devices
If login works locally but not from other devices on your network, add this to .env:
FORCE_SECURE_COOKIES="false"