Thanks for your interest! Pingouin is a self-hosted uptime monitor. Contributions are welcome.
Open a GitLab issue with:
- Environment: OS, Docker version, browser
- Steps to reproduce
- Expected behavior vs actual behavior
- Error logs (from
make logs) if relevant
Open a GitLab issue with:
- What problem you're solving
- Your proposed solution (or leave it open for discussion)
Prerequisites: Docker + Docker Compose
git clone https://gitlab.com/cdlr75/pingouin.git
cd pingouin
cp .env.example .env
# Edit .env — set JWT_SECRET_KEY, AUTH_USERNAME, AUTH_PASSWORD
make up # Start full stack (backend + frontend + db + mailhog)
# App runs at http://localhost:5173
# Load demo data (3 apps with 25h of probe history):
docker compose exec backend flask --app app seed create
# To reset demo data:
docker compose exec backend flask --app app seed clearBackend (requires a Python virtualenv with dev dependencies):
pip install -r backend/requirements-dev.txt
cd backend && python -m pytestFrontend unit tests:
cd frontend && npm testE2E tests (requires full stack running via make up):
cd frontend && npm run test:e2e- Fork the repository and create a branch:
git checkout -b feat/your-feature - Keep MRs focused — one feature or fix per MR
- Include tests for new behavior
- Reference any related issues:
Closes #123 - Open a merge request against
main
- Python: Black + isort + flake8 — configured in
backend/pyproject.toml, installed viarequirements-dev.txt. Run:cd backend && black . && isort . && flake8 - TypeScript: ESLint — run:
cd frontend && npm run lint