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.
- 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
- Backend: Elixir with Phoenix Framework
- Frontend: Phoenix LiveView, TailwindCSS
- Database: SQLite
- Authentication: Built-in Phoenix authentication
- Deployment: Docker ready (see Dockerfile)
- Elixir 1.14+
- Erlang OTP 25+
- Node.js 18+ (for assets)
-
Clone the repository
git clone https://github.com/yourusername/uptimer.git cd uptimer
-
Install dependencies
mix deps.get mix compile
-
Setup the database
mix ecto.setup
-
Install Node.js dependencies
cd assets npm install cd ..
-
Start the Phoenix server
mix phx.server
-
Visit
localhost:4000
in your browser
- Create an account on the homepage
- Log in to your dashboard
- Add websites you want to monitor with their name and URL
- View the status and previews of your websites in real-time
- Toggle between live iframe previews and thumbnails as needed
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