Installation¶
Code repository for DMP can be found at https://github.com/matijakolaric-com/django-music-publisher.
Installation to a cloud¶
DMP (Django-Music-Publisher) is based on Django Web Framework (https://djangoproject.org), and requires Python 3 (https://python.org). It can be installed to a PC, but installing it into a cloud is highly recommended.
Digital Ocean is the recommended provider.
Digital Ocean¶
Minimal monthly cost is $5 for the application, $7 for the database, so $12 in total. Optional $5 for file storage is only required for experimental features.
They usually give free credits that must be used within 60 days.
- Click on the button below. (This is an affiliate link, providing you with free credits.)
- Wizard
Once you have registered, click on the next button to start the installation wizard.
2.1. In the first step, edit the plan and select Basic, then the cheapest plan, this is enough for publishers with up to several thousand works.

2.2 Edit web
environment variables. See settings for details. Click on SAVE!!
2.3 Select region closest to you.
2.4 Review and click on “create resources”.
- Installation takes several minutes. Once it is done, click on the
console
tab and enter:
python manage.py migrate
python manage.py createsuperuser
Then enter your user name and password (twice). You can leave e-mail empty, it is not used.
If you forget your login/password, you can use the console for adding a new superuser or change the password with:
python manage.py changepassword
Heroku¶
This is another provider with semi-automated deployment. The deployment to Heroku using the button below is NOT tested, and issues with deployment will not be tested nor fixed.
Custom installation¶
For everything else, basic programming and/or system administration skills are required.
Start with 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
Add music_publisher.apps.MusicPublisherConfig
to INSTALLED_APPS
. Almost everything goes
through the Django Admin. The only exception is royalty calculation, which has to be added to
urls.py
from music_publisher.royalty_calculation import RoyaltyCalculationView
urlpatterns = [
...
path('royalty_calculation/', RoyaltyCalculationView.as_view(), name='royalty_calculation'),
]
Experimental features (involving file system) may require additional work.
Good luck!
Settings¶
There are several environment variables that need to be set, and several optional ones. Note that if invalid data is entered or required data is not entered, deployment may fail and/or application may break down.
Secret key¶
Django requires SECRET_KEY
to be set. It can be any random string. You can use https://miniwebtool.com/django-secret-key-generator/
to generate one, but do change it somewhat after pasting for complete security.
S3 storage¶
For Digital Ocean Spaces, you need to set up only four config (environment) variables. AWS and other S3 providers will also work.

S3_REGION
(alias forAWS_S3_REGION_NAME
) andS3_BUCKET
(alias forAWS_STORAGE_BUCKET_NAME
), you get them when you set up your Spaces, and

S3_ID
(alias forAWS_ACCESS_KEY_ID
) andS3_SECRET
(alias forAWS_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.
Other options¶
OPTION_FORCE_CASE
- available options areupper
,title
andsmart
, converting nearly all strings to UPPER CASE or Title Case or just UPPERCASE fields to Title Case, respectively. If unset, everything is left as entered.OPTION_FILES
- enables support for file uploads (audio files and images), using local file storage (PC & VPS)
Collective management organisations¶
Following list contains official CWR codes for CMOs, to be entered in PUBLISHER_SOCIETY_PR
,
PUBLISHER_SOCIETY_MR
and rarely PUBLISHER_SOCIETY_SR
environment variables.
1 | ACUM | ISRAEL |
2 | ADDAF | BRAZIL |
3 | AEPI | GREECE |
4 | AGADU | URUGUAY |
5 | AKM | AUSTRIA |
6 | BUCADA | CENTRAL AFRICAN REPUBLIC |
7 | APDAYC | PERU |
8 | APRA | AUSTRALIA |
9 | ARTISJUS | HUNGARY |
10 | ASCAP | UNITED STATES |
11 | AUSTRO-MECHANA (AUME) | AUSTRIA |
12 | AMCOS | AUSTRALIA |
14 | ARGENTORES | ARGENTINA |
15 | APA | PARAGUAY |
16 | BUMDA | MALI |
17 | AMRA | UNITED STATES |
18 | BGDA | GUINEA |
19 | BMDA | MOROCCO |
20 | SODRAC | CANADA |
21 | BMI | UNITED STATES |
22 | MCSN | NIGERIA |
23 | BUMA | NETHERLANDS |
24 | BURIDA | COTE D’IVOIRE |
25 | SODAV | SENEGAL |
26 | CASH | HONG KONG |
28 | LITA | SLOVAKIA |
29 | SCD | CHILE |
30 | AMAR | BRAZIL |
31 | DILIA | CZECH REPUBLIC |
32 | FILSCAP | PHILIPPINES |
33 | OMDA | MADAGASCAR |
34 | HFA | UNITED STATES |
35 | GEMA | GERMANY |
36 | IPRS | INDIA |
37 | BUBEDRA | BENIN |
38 | JASRAC | JAPAN |
39 | MUSICAUTOR | BULGARIA |
40 | KODA | DENMARK |
41 | LITERAR-MECHANA | AUSTRIA |
43 | MCSK | KENYA |
44 | MCPS | UNITED KINGDOM |
45 | BBDA | BURKINA FASO |
47 | BCDA | CONGO |
48 | NCB | DENMARK |
49 | ONDA | ALGERIA |
50 | OSA | CZECH REPUBLIC |
51 | PROLITTERIS | SWITZERLAND |
52 | PRS | UNITED KINGDOM |
54 | ALCS | UNITED KINGDOM |
55 | SABAM | BELGIUM |
56 | SACD | FRANCE |
57 | SACERAU | EGYPT |
58 | SACEM | FRANCE |
59 | SACM | MEXICO |
60 | SACVEN | VENEZUELA |
61 | SADAIC | ARGENTINA |
62 | SADEMBRA | BRAZIL |
63 | SAMRO | SOUTH AFRICA |
64 | SOKOJ | SERBIA AND MONTENEGRO |
65 | SAYCE | ECUADOR |
66 | SBACEM | BRAZIL |
67 | SBAT | BRAZIL |
68 | SDRM | FRANCE |
69 | SPA | PORTUGAL |
70 | SOGEM | MEXICO |
71 | SESAC Inc. | UNITED STATES |
72 | SGAE | SPAIN |
73 | SCAM | FRANCE |
74 | SIAE | ITALY |
75 | SUISSIMAGE | SWITZERLAND |
76 | ACEMLA | PUERTO RICO |
77 | STEF | ICELAND |
78 | STEMRA | NETHERLANDS |
79 | STIM | SWEDEN |
80 | SUISA | SWITZERLAND |
82 | OTPDA | TUNISIA |
84 | SAYCO | COLOMBIA |
85 | SOZA | SLOVAKIA |
86 | SICAM | BRAZIL |
87 | SPACEM | FRANCE |
88 | CMRRA | CANADA |
89 | TEOSTO | FINLAND |
90 | TONO | NORWAY |
91 | SSA | SWITZERLAND |
93 | UBC | BRAZIL |
94 | RAO | RUSSIAN FEDERATION |
95 | VG WORT | GERMANY |
96 | COTT | TRINIDAD AND TOBAGO |
97 | ZAIKS | POLAND |
98 | ZIMURA | ZIMBABWE |
101 | SOCAN | CANADA |
102 | NASCAM | NAMIBIA |
103 | ACDAM | CUBA |
104 | MACP | MALAYSIA |
105 | MASA (RMS) | MAURITIUS |
106 | COMPASS | SINGAPORE |
107 | ACAM | COSTA RICA |
108 | CHA | TAIWAN, CHINESE TAIPEI |
109 | KCI | INDONESIA |
110 | LATGA-A | LITHUANIA |
111 | HDS-ZAMP | CROATIA |
112 | SAZAS | SLOVENIA |
115 | UCMR-ADA | ROMANIA |
116 | EAU | ESTONIA |
117 | MESAM | TURKEY |
118 | KOMCA | KOREA, REPUBLIC OF |
119 | MCSC | CHINA |
120 | LIRA | NETHERLANDS |
121 | VDFS | AUSTRIA |
122 | AKKA-LAA | LATVIA |
124 | COSOMA | MALAWI |
125 | BNDA | NIGER |
126 | MCT | THAILAND |
127 | ALBAUTOR | ALBANIA |
128 | IMRO | IRELAND |
129 | SOBODAYCOM | BOLIVIA |
130 | BUTODRA | TOGO |
131 | SADA | GREECE |
132 | BILD-KUNST | GERMANY |
133 | ZAMCOPS | ZAMBIA |
134 | SLPRS | SRI LANKA |
135 | SADH | GREECE |
136 | ZAMP - Macédoine | MACEDONIA |
137 | SOFAM | BELGIUM |
138 | KOPIOSTO | FINLAND |
139 | VISDA | DENMARK |
140 | UACRR | UKRAINE |
141 | ATN | CHILE |
142 | DALRO | SOUTH AFRICA |
143 | TEATERAUTOR | BULGARIA |
144 | HAA | CROATIA |
145 | DIRECTORS UK | UNITED KINGDOM |
146 | SPAC | PANAMA |
147 | FILMAUTOR | BULGARIA |
148 | ADAGP | FRANCE |
149 | ARS | UNITED STATES |
151 | BONO | NORWAY |
152 | Bildupphovsrätt (Visual Copyright Society) | SWEDEN |
153 | DACS | UNITED KINGDOM |
154 | HUNGART | HUNGARY |
155 | SOMAAP | MEXICO |
156 | VAGA | UNITED STATES |
157 | BILDRECHT GmbH | AUSTRIA |
158 | VEGAP | SPAIN |
159 | VISCOPY | AUSTRALIA |
160 | NCIP | BELARUS |
161 | MÜST | TAIWAN, CHINESE TAIPEI |
162 | AMPAL | AUSTRALIA |
163 | APG-Japan | JAPAN |
164 | APSAV | PERU |
166 | AUTORARTE | VENEZUELA |
168 | CA | AUSTRALIA |
169 | COSCAP | BARBADOS |
170 | CPSN | NEPAL |
171 | CREAIMAGEN | CHILE |
172 | DGA | UNITED STATES |
173 | DIRECTORES | MEXICO |
174 | FILMJUS | HUNGARY |
175 | CopyRo | ROMANIA |
176 | JACAP | JAMAICA |
177 | KazAK | KAZAKSTAN |
178 | KOSA | KOREA, REPUBLIC OF |
179 | KUVASTO | FINLAND |
181 | NMPA | UNITED STATES |
182 | PAPPRI | INDONESIA |
183 | SACK | KOREA, REPUBLIC OF |
184 | SARTEC | CANADA |
186 | SGDL | FRANCE |
187 | SNAC | FRANCE |
189 | SOCINPRO | BRAZIL |
190 | SOPE | GREECE |
191 | SPACQ | CANADA |
192 | SFF | SWEDEN |
193 | The Society of Authors (SOA) | UNITED KINGDOM |
194 | UFFICIO GIURIDICO | HOLY SEE (VATICAN CITY STATE) |
195 | VEVAM | NETHERLANDS |
196 | WGA | UNITED STATES |
197 | WGJ | JAPAN |
198 | ZAMP Association of Slovenia | SLOVENIA |
199 | SFP-ZAPA | POLAND |
200 | MSG | TURKEY |
201 | ABRAMUS | BRAZIL |
202 | AsDAC | MOLDOVA, REPUBLIC OF |
203 | AWGACS | AUSTRALIA |
204 | GCA (former SSA) | GEORGIA |
206 | UFW | FINLAND |
207 | The Author’s Registry Inc. | UNITED STATES |
208 | SGA | GUINEA-BISSAU |
209 | ARMAUTHOR NGO | ARMENIA |
210 | ACCESS COPYRIGHT | CANADA |
212 | CSCS | CANADA |
213 | DRCC | CANADA |
214 | ECCO | SAINT LUCIA |
215 | Kyrgyzpatent | KYRGYZSTAN |
216 | SQN | BOSNIA AND HERZEGOVINA |
217 | ABRAC | BRAZIL |
218 | ANACIM | BRAZIL |
219 | ASSIM | BRAZIL |
220 | ATIDA | BRAZIL |
221 | SABEM | BRAZIL |
222 | FONOPERU | PERU |
223 | COSOTA | TANZANIA, UNITED REPUBLIC OF |
224 | SOMAS | MOZAMBIQUE |
225 | SAIF | FRANCE |
226 | AACIMH | HONDURAS |
227 | SGACEDOM | DOMINICAN REPUBLIC |
228 | ROMS | RUSSIAN FEDERATION |
229 | ICG | UNITED STATES |
230 | ADAVIS | CUBA |
231 | AUTVIS | BRAZIL |
232 | GESTOR | CZECH REPUBLIC |
233 | SACEMLUXEMBOURG | LUXEMBOURG |
234 | UPRS | UGANDA |
235 | SACENC | FRANCE |
236 | ARTEGESTION | ECUADOR |
237 | TALI | ISRAEL |
238 | BSCAP | BELIZE |
239 | CMC | CAMEROON |
240 | DAMA | SPAIN |
241 | NICAUTOR | NICARAGUA |
242 | SACIM | EL SALVADOR |
243 | SADIA | ANGOLA |
244 | SASUR | SURINAME |
245 | SETEM | TURKEY |
246 | VCPMC | VIET NAM |
247 | IVARO | IRELAND |
248 | DAC | ARGENTINA |
249 | PAM CG | MONTENEGRO |
250 | AEI-GUATEMALA | GUATEMALA |
251 | ASDACS | AUSTRALIA |
252 | COLCCMA | TAIWAN, CHINESE TAIPEI |
253 | AAS | AZERBAIJAN |
254 | SOCILADRA | CAMEROON |
256 | PICTORIGHT | NETHERLANDS |
257 | SAVA | ARGENTINA |
258 | MRCSN | NEPAL |
259 | SDCSI | IRELAND |
260 | ACS | UNITED KINGDOM |
261 | GAI Uz | UZBEKISTAN |
262 | SINEBIR | TURKEY |
263 | SACS | SEYCHELLES |
264 | CARCC | CANADA |
265 | MACA | MACAU |
266 | BeAT | BRUNEI DARUSSALAM |
267 | UPRAVIS | RUSSIAN FEDERATION |
268 | COSON | NIGERIA |
269 | WAMI | INDONESIA |
270 | JASPAR | JAPAN |
271 | DHFR | CROATIA |
272 | MOSCAP | MONGOLIA |
273 | AMUS | BOSNIA AND HERZEGOVINA |
274 | AuPO CINEMA | UKRAINE |
275 | AUTODIAHIRISI | GREECE |
276 | DASC | COLOMBIA |
277 | RSAU | RWANDA |
278 | RUR | RUSSIA |
279 | SDADV | ANDORRA |
280 | SANASTO | FINLAND |
281 | ATHINA- SADA - S.A.D.A. | GREECE |
282 | UNAC-SA | ANGOLA |
283 | CAPASSO | SOUTH AFRICA |
284 | COSOZA | ZANZIBAR |
285 | GHAMRO | GHANA |
286 | ODDA | DJIBOUTI |
287 | KORRA | KOREA |
288 | ABYROY | KAZAKHSTAN |
289 | AIPA | SLOVENIA |
290 | AZDG | AZERBAIJAN |
291 | OFA | SERBIA |
292 | ZPAP | POLAND |
293 | DBCA | BRAZIL |
294 | REDES | COLOMBIA |
295 | SAGCRYT | MEXICO |
296 | DACIN-SARA | ROMANIA |
297 | GEDAR | BRAZIL |
298 | OOA-S | CZECH REPUBLIC |
299 | SCM-COOPERATIVA | CAPE VERDE |
300 | WID Centre | UNITED STATES |
301 | GESAC | BELGIUM |
302 | LATINAUTOR | URUGUAY |
303 | NORD-DOC | SWEDEN |
304 | SONGCODE | UNITED STATES |
306 | ACCS | TRINIDAD AND TOBAGO |
307 | MIS@ASIA | SINGAPORE |
308 | ECAD | BRAZIL |
309 | LatinNet | SPAIN |
310 | DIVA | HONG KONG |
311 | MCPS-PRS Alliance | UNITED KINGDOM |
312 | CISAC | FRANCE |
313 | FastTrack DCN | FRANCE |
314 | IDA | FRANCE |
315 | CSI | FRANCE |
316 | CIS-Net AVI | FRANCE |
317 | INTL-REP | FRANCE |
318 | SGS | |
319 | ICE Services AB | SWEDEN |
320 | ARMONIA | FRANCE |
321 | PUBLISHERS | |
322 | EVA | BELGIUM |
635 | GEMA-US | Additional CIS-Net Node |
658 | SACEM-US | Additional CIS-Net Node |
672 | SGAE-NY | Additional CIS-Net Node |
707 | MusicMark | USA |
758 | SACEM-LIBAN | Additional CIS-Net Node |
775 | Solar EMI | GERMANY/UK |
776 | Solar Sony | GERMANY/UK |
777 | CELAS | GERMANY/UK |
778 | GMR | |
779 | Polaris Nordic | SCANDINAVIA |
780 | UNISON | Spain |
781 | SOUNDREEF | ENGLAND and WALES |
782 | NexTone | JAPAN |
888 | PAECOL | Additional CIS-Net Node |