Live status dashboard for all projects deployed via CTSDeploy on benkruseski.com.
Live: status.benkruseski.com
- Auto-detects CTSDeploy projects by scanning
/opt/ctsdeploy/projectsfordeploy.yamlfiles - Checks HTTP status of each project's public URL
- Reports Docker container state for each project
- Shows last git commit (hash, message, timestamp) per project
- Streams recent CTSDeploy deploy logs
- 30-second response cache, force-refreshable via
?refresh=true
- Backend: FastAPI + Python 3.11
- Container: Docker via
docker-compose - Deploy: CTSDeploy webhook → auto-build on push to
main - Reverse proxy: nginx (managed by CTSDeploy)
| Endpoint | Description |
|---|---|
GET /api/projects |
All project statuses (cached 30s) |
GET /api/projects?refresh=true |
Force cache refresh |
GET /api/logs?lines=100 |
Recent deploy log lines (1–500) |
pip install -r requirements.txt
uvicorn main:app --reload --port 6767The app expects /opt/ctsdeploy/projects to exist and contain CTSDeploy project directories. Override via env vars:
PROJECTS_DIR=/path/to/projects DOMAIN=yourdomain.com uvicorn main:app --port 6767docker compose up --buildMounts required:
/opt/ctsdeploy/projects— project directories (read-only)/var/run/docker.sock— Docker socket for container inspection (read-only)/var/log/ctsdeploy— deploy log directory (read-only)