Sign inSign up

lanbugsde/mossboard-backend

By lanbugsde

Updated 5 months ago

Max's OpenSource Status Board - Backend

Image
Monitoring & observability
0

1.1K

lanbugsde/mossboard-backend repository overview

mossboard-backend

MOSSBoard Backend — Python/APIFlask REST API + Celery Worker

MOSSBoard (Max's OpenSource Status Board) is a self-hosted, Docker-based status page for displaying the operational state of your services. This image contains the Python backend and serves as the base for three roles in the stack: the API server, the Celery worker, and the Celery Beat scheduler.


What's inside

  • REST API built with Python 3.12 and APIFlask (Flask-based), backed by MongoEngine/MongoDB
  • Active monitoring engine: HTTP, TCP, ICMP (ping), and DNS checks with configurable response-time thresholds and anti-flap confirmation periods
  • Celery worker for executing monitor checks and background tasks
  • Celery Beat for scheduling tasks (every minute / every 5 minutes)
  • Incident lifecycle management: Investigating → Identified → Monitoring → Resolved
  • Scheduled maintenance windows with optional auto-status transitions
  • API token authentication for pushing status updates from CI/CD pipelines
  • Staleness detection: services automatically flip to unknown if no update arrives within a configurable window
  • Interactive Swagger UI at /docs

Stack

LayerTechnology
LanguagePython 3.12
FrameworkAPIFlask · MongoEngine
QueueCelery · Celery Beat · Redis 7
DatabaseMongoDB 7

Required companion services

  • MongoDB 7
  • Redis 7

In production, API traffic is proxied through the mossboard-frontend container. Direct exposure of port 5444 is only needed for local development or direct API access.


Environment variables

VariableDefaultDescription
SECRET_KEY(required)Flask session secret — use a long random string
FLASK_ENVdevelopmentSet to production in production deployments
MONGODB_URImongodb://mongo:27017/mossboardMongoDB connection URI
REDIS_URLredis://redis:6379/0Redis URL for general use
CELERY_BROKER_URLredis://redis:6379/1Celery task broker
CELERY_RESULT_BACKENDredis://redis:6379/2Celery result storage
ADMIN_USERNAMEadminBootstrap admin user (active only while no users exist in DB)
ADMIN_PASSWORD(required)Bootstrap admin password

Quick start

git clone https://github.com/lanbugs/mossboard.git
cd mossboard
cp .env.example .env   # set SECRET_KEY and ADMIN_PASSWORD
docker compose -f docker-compose.hub.yml up -d

See the MOSSBoard GitHub repository for the full docker-compose.hub.yml and documentation.


License

GNU General Public License v3.0 — © 2026 Maximilian Thoma

Tag summary

Content type

Image

Digest

sha256:02d930e11

Size

55.4 MB

Last updated

5 months ago

docker pull lanbugsde/mossboard-backend