Skip to content

A webapp that allows you to visually check whether all your websites & online apps are currently running

License

Notifications You must be signed in to change notification settings

HVossi92/uptimer

Repository files navigation

Uptimer

Uptimer Screenshot

Website Monitoring Made Simple

Uptimer is a web application that allows you to monitor multiple websites at a glance. Built with Elixir and Phoenix LiveView, it provides a real-time dashboard to monitor the availability and visual state of your web properties.

Try the Live Demo

Features

  • Near-Real-time monitoring: Monitor your websites with live iframe previews or thumbnails
  • Status tracking: Instantly see which websites are up and which are down
  • Visual verification: Quickly check if your websites look as expected with live previews
  • Thumbnail fallback: Uses screenshot thumbnails for sites with cross-origin restrictions
  • Automatic refreshes: Near real-time status updates every 10 seconds
  • Mobile responsive: Monitor your websites from any device
  • User accounts: Secure authentication system to manage your monitored websites
  • Free tier: Monitor up to 12 websites with 4 thumbnails for free

Technology Stack

  • Backend: Elixir with Phoenix Framework
  • Frontend: Phoenix LiveView, TailwindCSS
  • Database: SQLite
  • Authentication: Built-in Phoenix authentication
  • Deployment: Docker ready (see Dockerfile)

Development Setup

Prerequisites

  • Elixir 1.14+
  • Erlang OTP 25+
  • Node.js 18+ (for assets)

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/uptimer.git
    cd uptimer
  2. Install dependencies

    mix deps.get
    mix compile
  3. Setup the database

    mix ecto.setup
  4. Install Node.js dependencies

    cd assets
    npm install
    cd ..
  5. Start the Phoenix server

    mix phx.server
  6. Visit localhost:4000 in your browser

Usage

  1. Create an account on the homepage
  2. Log in to your dashboard
  3. Add websites you want to monitor with their name and URL
  4. View the status and previews of your websites in real-time
  5. Toggle between live iframe previews and thumbnails as needed

Current Development Status

Check the project's current status:

  • Use iframes whenever possible to avoid overhead
  • Make sure thumbnails are small
  • Limit iframes to 12 per free account
  • Limit thumbnails to 4 per free account
  • User deletion
  • Add github link to page
  • Add landing page
  • Implement automatic refresh
  • Fix timer on mobile view
  • Show unavailable websites as offline & red
  • Redirect "users/register" to "/"
  • Add fk to websites -> users
  • Fix /users/settings layout
  • Link back to "/" on header icon and title
  • Implement privacy policy
  • Implement terms of service
  • Improve thumbnail update process
  • Fix "Signup Password can't be blank" message
  • Allow inputs without http or with www
  • Make sign-up process nicer
  • Improve SEO
  • Implement edit website
  • Take redirects into account
  • Fix tests

About

A webapp that allows you to visually check whether all your websites & online apps are currently running

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published