High level overview
The figure below shows a high level architecture of the Uptime Manager.

Typical auth request overview
The following diagram describes a typical request to the /auth endpoints.

Typical monitor request overview
The following diagram describes a typical request to the /monitors
endpoints.

JobQueue
The heart of this application is a JobQueue
class that wraps a BullMQ Queue
.
A Monitor
is considered a job, when one is created it is enqueued in the JobQueue
.
Jobs are handled by a pool of workers in the JobQueue
and their tasks are executed in the order in which they are enqueued.
Workers are scaled up and down based on the jobs/worker ratio as jobs are enqueued and dequeued.
High level overview of the JobQueue

SSL
SSL is handled by LetsEncrypt and Certbot. This works by Nginx and Certbot sharing the same volume where the certificates are held. The following snippet from the docker-compose.yaml file shows how this works.

Please see this guide for more information on this setup.
Last updated
Was this helpful?