3.3 KiB
Installation instructions
Configuration template
dashboard/local_settings.example.py contains a configuration template that may be used to create production configuration file to override dashboard/settings.py.
Please copy local_settings.example.py to local_settings.py and make changes to the newly copied file.
Static files
In order to serve static files, please run the following command before running the Dashbaord server:
yes yes | python manage.py collectstatic
This command will gather all static assets from all the modules in
Dashbaord and place them in static/
in the base directory.
Cron jobs
Run cron job at an interval of your choosing with the following comamnd:
python manage.py rm_unverified_users
It will delete all users that are below maximum tolerated duration unverified users, as configured in settings.py:
HOSTEA = {
# <--snip--->
"ACCOUNTS": {"MAX_VERIFICATION_TOLERANCE_PERIOD": 60 * 60 * 24}, # in seconds
}
In future, the cronjob will be run as part of the Hostea/Dashbaord and hence the current redundancy in configuration and cronjob duration.
Support Platform Integration
Hostea Dashbaord delegates support to Hostea's meta Forgejo instance, as discussed here.
To configure support platform integration , please set the following
attributes in settings.py
:
HOSTEA = {
# <--snip--->
"META": {
# <--snip--->
"FORGEJO_INSTANCE": "https://forgejo.gna.org", # meta Forgejo insatnce
"FORGEJO_ORG_NAME": "Hostea", # Organisation name on Hostea meta instance
# Repository dedicated for handling support
# ref: https://forgejo.gna.org/Hostea/july-mvp/issues/17
"SUPPORT_REPOSITORY": "support",
},
}
Payments
At present, we rely on Stripe for processing payments. So we are limited to the countries at which Stripe operates.
To deploy payments, please configure the options in settins.py that
start with PAYMENT_*
NOTE: Please don't change the PAYMENT_MODEL
. Changing it will
break the app
## django-payments configuration
PAYMENT_MODEL = "billing.Payment" # please don't change this value
# the URL at which Dashbaord will be listening
PAYMENT_HOST = "http://localhost:8000"
PAYMENT_VARIANTS = {
"stripe": (
"payments.stripe.StripeProvider",
{
# stripe API secret key, available in Stripe dashboard
"secret_key": env.get_value("STRIPE_SECRET_KEY"),
# stripe API public key, available in Stripe dashboard
"public_key": env.get_value("STRIPE_PUBLIC_KEY"),
},
)
}
Infrastructure(via Enough)
HOSTEA = {
# <------snip-------->
"INFRA": {
"HOSTEA_REPO": {
# where to clone the repository
"PATH": "/srv/hostea/dashboard/infrastructure",
# Git remote URI of the repository
"REMOTE": "git@localhost:Hostea/enough.git",
# SSH key that can push to the Git repository remote mentioned above
"SSH_KEY": "/srv/hostea/deploy",
},
},
References:
https://enough-community.readthedocs.io/en/latest/services/hostea.html