dashboard/docs/INSTALL.md

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 Gitea instance, as discussed here.

To configure support platform integration , please set the following attributes in settings.py:

HOSTEA = {
	# <--snip--->
    "META": {
	# <--snip--->
        "GITEA_INSTANCE": "https://gitea.hostea.org", # meta Gitea insatnce
        "GITEA_ORG_NAME": "Hostea", # Organisation name on Hostea meta instance
        # Repository dedicated for handling support
        # ref: https://gitea.hostea.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