Installation and Upgrading¶
This wizard will help you in deploying DMP.
In the last step, you will be asked where you want to deploy it. Below are the options.
This is the simplest option, and free for publishers with up to several hundreds of musical works. File storage and related features are not available out of the box, and file storage is very expensive if acquired through Heroku Marketplace.
Free tier has two limitations that can both be removed for $16 per month.
- Your instance goes to sleep after a while. When you access it, it takes 20-30 seconds to spin up.
- Your database is limited to 10.000 rows.
Valid e-mail address is required for registration, but no payment information.
The whole process takes under 5 minutes, and other than entering the data about the publisher and initial password, it is all menus and next-next-next when using the wizard.
While installation to Heroku is really simple, updating requires some technical knowledge. The simplest way to update is to install Heroku CLI (command line interface). It can be installed on Windows, Mac and Linux.
Then you log in, clone the repository, enter the folder, add a new remote and push:
$ heroku login $ git clone https://github.com/matijakolaric-com/django-music-publisher.git $ cd django-music-publisher/ django-music-publisher$ heroku git:remote --app yourapp django-music-publisher$ git push heroku master
If you are upgrading from a version older than 20.7, you may need to delete an old buildpack, which can be found in Heroku dashboard in the
DMP - Django-Music-Publisher is based on Django, which can be installed on Windows, Mac and Linux PCs and servers. For more information, consult the official Deploying Django documentation.
If you plan to use Django-Music-Publisher as one of the apps in your Django project, there is nothing special about it:
pip install --upgrade django_music_publisher
INSTALLED_APPS. Almost everything goes
through the Django Admin. The only exception is royalty calculation, which has to be added to
from music_publisher.royalty_calculation import RoyaltyCalculationView urlpatterns = [ ... path('royalty_calculation/', RoyaltyCalculationView.as_view(), name='royalty_calculation'), ]
There are several required settings.
Recommended S3 provider is Digital Ocean, it is simpler to set up and more affordable than AWS. They call S3 Spaces.
For Digital Ocean, you need to set up only four config (environment) variables.
AWS_STORAGE_BUCKET_NAME), you get them when you set up your Spaces, and
AWS_SECRET_ACCESS_KEY), you get them when you generate your Spaces API key.
If you want to use AWS or some other S3 provider, the full list of settings is available here.
OPTION_FORCE_CASE- available options are
smart, converting nearly all strings to UPPER CASE or Title Case or just UPPERCASE fields to Title Case, respectively.
OPTION_FILES- enables support for file uploads (audio files and images), using local file storage