Owl
Owl is an open-source self-hosted solution for website monitoring and status report.
About
Owl comprises 3 Go modules and 1 React application:
- An web server that handles all the data in and out of the database.
- An agent that can check HTTP endpoints and post the results to the server.
- An API library for common types.
- A web client for the dashboard.
Development
You'll need docker-compose 1.23+. Simply run:
$ docker-compose up
Server
Located at ./web.
The Server is a web service written in Go using Echo and backed by PostgreSQL 11. The container will watch for source file changes and automatically rebuild.
Agent
Located at ./agent.
The Agent is a Go package designed to be invoked from a standalone Go program. The container will watch for source file changes and automatically run its test suite.
It also includes three sub-packages:
Client
The client is a React application controlled by create-react-app.
Deploy
⚠️ Although both the server and the client share the same repository they're deployed separately. For heroku like environments you can use git-subtree. e.g.
$ git subtree push --prefix web heroku master
License
MIT License © 2019 Corenzan