Metabrainz基金會的網站。這是一個基於燒瓶的Web應用程序,可提供有關基金會及其支持者的信息,接受用戶和組織的捐款,並提供對Musicbrainz複製數據包的訪問權限。
像其他畢色雜誌一樣,該存儲庫還設置了github操作以幫助釋放。每當用GitHub發布釋放時,就會構建並將其構建並推到Docker Hub。以下是執行版本的步驟:
Draft發布。單擊其旁邊的Edit按鈕。Tag Version字段中,輸入要標記要標記的標籤。例如,如果將v-2021-06-08.0作為標籤輸入,則相應的Docker映像將是metabrainz/metabrainz:v-2021-06-08.0 。Publish release 。建立Metabrainz網站開發的最簡單方法是使用Docker。在按照說明之前,請確保將其安裝在計算機上。
應用程序配置必須存儲在稱為config.py的文件中。您可以使用一個示例一個( config.py.example )並調整配置:
$ cp config.py.example config.py
$ vim config.py
您需要確保設置所需的變量。
為了允許用戶登錄,您需要設置兩個鍵: MUSICBRAINZ_CLIENT_ID和MUSICBRAINZ_CLIENT_SECRET 。要獲取這些密鑰,您需要在https://musicbrainz.org/account/applications/register上註冊Metabrainz.org的實例。將回調URL字段設置為http://<your host>/login/musicbrainz/post (如果配置文件中的PREFERRED_URL_SCHEME設置為https ,請確保您指定了回調url的相同協議)。如果您本地運行服務器,請用localhost替換<your host> 。
接下來是支付系統的配置。我們使用PayPal和Stripe接受我們的基金會付款。 paypal_account_ids字典包含每種支持貨幣的帳戶的PayPal ID或電子郵件地址。 paypal_business是非捐贈的地址;所有發送的付款將被忽略。
設置了這些設置後,您確定您的配置在測試模式下正常工作,您可以翻轉開關。將調試設置為False和payment_production True 。警告!出於開發目的,您只應在調試模式下使用付款。
必須將復制數據包複製到./data/replication_packets目錄中。它必須具有以下結構:
./data/replication_packets/
- hourly replication packets
此命令將構建並啟動您可以用於開發的所有服務:
$ ./develop.sh
您第一次設置應用程序時,需要初始化數據庫:
$ ./develop.sh manage init-db --create-db
現在,應通過http:// localhost:80/訪問Web服務器。
由於開發環境與Docker合作的方式,因此有必要與構建圖像分開構建CSS。為此,您需要啟動開發服務器(所有帶有Docker組合的容器)並將其連接到web容器:
$ ./develop.sh exec -it web bash然後安裝NPM模塊並構建CSS:
web# npm install
web# ./node_modules/.bin/lessc ./metabrainz/static/css/main.less > ./metabrainz/static/css/main.css
web# ./node_modules/.bin/lessc ./metabrainz/static/css/theme/boostrap/boostrap.less > ./metabrainz/static/css/theme/boostrap/boostrap.css
web# ./node_modules/.bin/lessc ./metabrainz/static/fonts/font_awesome/less/font-awesome.less > ./metabrainz/static/fonts/font_awesome/less/font-awesome.css僅當您打算使用管理界面時,才需要最後兩個構建。
一旦您構建並啟動瞭如上所述的所有服務,請運行:
$ ./develop.sh manage extract-strings
每次構建服務時,都會自動彙編鍋文件,但是如果您對鍋文件進行任何更改,並希望再次編譯翻譯文件,請運行:
$ ./develop.sh manage compile-translations
運行所有測試使用:
$ ./test.sh
在執行任何操作之前,請確保配置文件中的PAYMENT_PRODUCTION變量設置為False !這樣,您將使用實際未收取信用卡和銀行帳戶的測試環境。有關每種付款服務測試環境的更多信息,請參見其文檔:
請注意,要使IPN工作,必須公開使用該應用程序。如果您在本地機器上進行開發,則可能無法到達付款處理器的回調端點。