OpenTeamStatus is built by Threde for small teams like our own. It was built out of a desire for a free, open source, easy to host(for free) and self-hostable clone of StatusHero.
NOTE: This is still BETA quality and under development, but we are using it ourselves
OpenTeamStatus comes with a supervisor config for running gunicorn & celery as
from a single process. This is launched by the Procfile and the Celery worker
automatically detects that it's running on a heroku dyno and makes an HTTP
request to itself every 15 minutes to keep the dyno alive forever.
mkvirtualenv --python=/usr/bin/python3 status
pip install -r requirements.txt
./manage.py migrate
./manage.py createsuperuser
DEBUG=true ./manage.py runserver
OpenTeamStatus features a pluggable system for sending reminders. It currently supports email and can be configured using the standard Django email config variables.
The backend is configured via the OPEN_TEAM_STATUS_REMINDER_TASK,
OPEN_TEAM_STATUS_REPORT_TASK, and OPEN_TEAM_STATUS_CHECKIN_TASK
environment variables.
variable. The available reminder backends are:
- Email -
checkins.tasks.email_reminder - Slack -
checkins.tasks.slack_reminder- NOTE: slack usernames must must match OpenTeamStatus usernames. The available Report backends are: - Email -
checkins.tasks.email_report - Slack -
checkins.tasks.slack_reportThe available Check backends are: - Slack -
checkins.tasks.slack_checkin
- Avatars made with gravatar/robohash. Because robohash is awesome.
- Python3
- Django
- Celery
- markdown
- supervisor
- more.. (see:
requirements.txtandcheckins/static/lib/)
Configuration is done through environment variables. Variables not prefixed
with OPEN_TEAM_STATUS_ are
Django settings. The
possible settings are:
SECRET_KEY- a Django secret keyDEBUGALLOWED_HOSTS-:delimitedDATABASE_URLTIME_ZONE- note, you'll also want to setTZif deploying to HerokuEMAIL_HOSTEMAIL_PORTEMAIL_HOST_PASSWORDEMAIL_HOST_USEREMAIL_SUBJECT_PREFIXEMAIL_USE_TLSEMAIL_USE_SSLEMAIL_SSL_CERTFILEEMAIL_SSL_KEYFILEEMAIL_TIMEOUTDEFAULT_FROM_EMAILOPEN_TEAM_STATUS_NAME- name to display in navOPEN_TEAM_STATUS_LOGO- a logo to display in the navOPEN_TEAM_STATUS_PUBLIC- if true, the checkin summary page visible with out logging inOPEN_TEAM_STATUS_REMINDER_HOUR- hour of the day to send reminders, default: 9OPEN_TEAM_STATUS_REMINDER_MINUTE- minute of the hour to send reminders, default: 0OPEN_TEAM_STATUS_REMINDER_DAYS- days of the week to send reminders, default: mon,tue,wed,thu,friOPEN_TEAM_STATUS_REMINDER_SUBJECTOPEN_TEAM_STATUS_REMINDER_BODYOPEN_TEAM_STATUS_REMINDER_TASK- celery task to user for to send reminders withOPEN_TEAM_STATUS_REPORT_HOUR- hour of the day to send reports, default: 12OPEN_TEAM_STATUS_REPORT_MINUTE- minute of the hour to send reports, default: 0OPEN_TEAM_STATUS_REPORT_DAYS- days of the week to send reports, default: mon,tue,wed,thu,friOPEN_TEAM_STATUS_REPORT_SUBJECTOPEN_TEAM_STATUS_REPORT_BODYOPEN_TEAM_STATUS_REPORT_TASK- celery task to user for to send reminders withOPEN_TEAM_STATUS_SLACK_WEBHOOK- slack webhook to use when using slack for reminders and reportsOPEN_TEAM_STATUS_REPORT_SLACK_CHANNEL- slack channel to use when using slack for reports, default:#generalOPEN_TEAM_STATUS_CHECKIN_TASK- celery task to user for to send checkins withOPEN_TEAM_STATUS_CHECKIN_SLACK_CHANNEL- slack channel to use when using slack for delivering checkins, default:#generalOPEN_TEAM_STATUS_CHECKIN_BODY: checkin message body
