「Funkwhale」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(英語版より記事を転載)
 
 
(同じ利用者による、間の8版が非表示)
2行目: 2行目:
 
[[Category:音楽]]
 
[[Category:音楽]]
 
[[Category:ウェブアプリケーション]]
 
[[Category:ウェブアプリケーション]]
  +
[[en:Funkwhale]]
 
{{Related articles start}}
 
{{Related articles start}}
 
{{Related|Django}}
 
{{Related|Django}}
11行目: 12行目:
 
{{Related|PostgreSQL}}
 
{{Related|PostgreSQL}}
 
{{Related articles end}}
 
{{Related articles end}}
  +
[https://docs.funkwhale.audio/index.html メインドキュメントページ]: から引用
Music
 
Quoting the [https://docs.funkwhale.audio/index.html main documentation page]:
 
 
:[https://funkwhale.audio/ Funkwhale] is a self-hosted, modern, free and open-source music server, heavily inspired by Grooveshark.
 
:[https://funkwhale.audio/ Funkwhale] is a self-hosted, modern, free and open-source music server, heavily inspired by Grooveshark.
   
  +
インスタンスは ActivityPub プロトコルで連携できます。
Instances can be federated via the ActivityPub protocol.
 
   
== Installation ==
+
== インストール ==
   
Funkwhale requires a reverse proxy ([https://docs.funkwhale.audio/installation/index.html]),
+
Funkwhale にはリバースプロキシ ([https://docs.funkwhale.audio/installation/index.html]) が必要です。
so [[nginx]] or [[Apache HTTP Server]] need to be installed.
+
したがって、[[nginx]] または [[Apache HTTP Server]] をインストールする必要があります。
   
It also needs a configured [[PostgreSQL]] database and a [[Redis]] cache server.
+
また、設定された [[PostgreSQL]] データベースと [[Redis]] キャッシュサーバーも必要です。
  +
詳細については、[[Funkwhale#設定]] およびそれぞれのページを参照してください。
See [[#Configuration]] and the respective pages for information.
 
   
  +
=== AUR からのインストール ===
=== Installation from AUR ===
 
   
  +
{{AUR|funkwhale}} パッケージを [[インストール]] して下さい。
[[Install]] the {{AUR|funkwhale}} package.
 
   
  +
{{warning|このインストールでは Python virtualenv を使用しないため、すべての Python 依存関係は主に AUR からシステム全体にインストールされます。パッケージのバージョンが上流の要件と異なる場合があり、問題が発生する可能性があります。}}
{{warning|This installation does not use a python virtualenv, so all the python dependencies are installed system-wide, mainly from the AUR. Package versions may differ from the upstream requirements and cause problems.}}
 
   
=== Manual install ===
+
=== 手動インストール ===
   
Follow instructions for the Arch installation at [https://docs.funkwhale.audio/installation/debian.html].
+
[https://docs.funkwhale.audio/installation/debian.html] にある Arch のインストール手順に従ってください。
  +
これにより、すべてのコンポーネントが {{ic|/srv/funkwhale}} にインストールされます。
This will install all components in {{ic|/srv/funkwhale}}.
 
   
=== Docker install ===
+
=== Docker のインストール ===
   
Follow instructions for the Docker installation at [https://docs.funkwhale.audio/installation/docker.html].
+
[https://docs.funkwhale.audio/installation/docker.html] にある Docker のインストール手順に従ってください。
   
== Configuration ==
+
== 設定 ==
   
  +
以下のセクションでは、Funkwhale が AUR からインストールされたことを前提としています。
The following sections assume that Funkwhale was installed from AUR,
 
  +
手動インストールの場合は、フォルダーを適切に変更する必要があります。
for a manual installation the folders should be changed appropriately.
 
   
  +
また、ローカルネットワーク上で Funkwhale を使用していることも前提としています。
It also assumes that you are using Funkwhale on a local network.
 
See the official [https://docs.funkwhale.audio/index.html documentation] for making it accessible outside,
+
外部からアクセスできるようにする方法については、公式 [https://docs.funkwhale.audio/index.html ドキュメント] を参照してください。
  +
特に [[Certbot]] を使用する証明書の場合。
especially for the certificates using [[Certbot]].
 
   
=== Host config ===
+
=== ホスト設定 ===
   
  +
{{ic|/etc/hosts}} ファイルが正しく設定されていることを確認してください。
Make sure your {{ic|/etc/hosts}} file is setup correctly.
 
The Funkwhale server is running on {{ic|127.0.0.1}} with alias {{ic|funkwhale.local}}, but this can be changed.
+
Funkwhale サーバーは、{{ic|127.0.0.1}} でエイリアス {{ic|funkwhale.local}} で実行されていますが、これは変更できます。
   
Your {{ic|/etc/hosts}} file should look something like the following,
+
{{ic|/etc/hosts}} ファイルは次のようになります。
   
 
{{bc|#<ip-address> <hostname.domain.org> <hostname>
 
{{bc|#<ip-address> <hostname.domain.org> <hostname>
61行目: 61行目:
 
127.0.0.1 funkwhale.local}}
 
127.0.0.1 funkwhale.local}}
   
=== Configure nginx ===
+
=== nginx の設定 ===
   
The upstream template of the Nginx configuration file is provided in {{ic|/etc/webapps/funkwhale/nginx.template}}.
+
Nginx 構成ファイルのアップストリーム テンプレートは、{{ic|/etc/webapps/funkwhale/nginx.template}} で提供されます。
  +
ただし、このファイルには、{{ic|env}} ファイルの値で置き換える必要がある変数が含まれています
However, this file contains variables that need to be replaced by their value from the {{ic|env}} file
 
  +
(このファイルの作成方法についてはセクション [[Funkwhale#初期化|初期化]] を参照してください):
(see section [[#Initialization]] on how to create this file):
 
   
 
$ set -a && source /srv/funkwhale/config/env && set +a
 
$ set -a && source /srv/funkwhale/config/env && set +a
72行目: 72行目:
 
> /etc/nginx/sites-available/funkwhale.conf
 
> /etc/nginx/sites-available/funkwhale.conf
   
  +
証明書へのパスもそれに応じて変更する必要があります。
The paths to the certificates should also be modified accordingly.
 
   
  +
次に、サイトを有効にします:
Then enable the site:
 
   
 
$ ln -s /etc/nginx/sites-available/funkwhale.conf /etc/nginx/sites-enabled/
 
$ ln -s /etc/nginx/sites-available/funkwhale.conf /etc/nginx/sites-enabled/
   
And [[start]] the {{ic|nginx.service}}.
+
そして、{{ic|nginx.service}} を [[起動]] します。
   
=== Configure apache ===
+
=== Apache の設定 ===
   
  +
{{note|[[Redis]]、[[PostgreSQL]]、および Apache [[TLS]] サポートを使用して実行するように [[Apache HTTP Server]] を設定する必要があります。}}
{{note|You will need [[Apache HTTP Server]] configured to run with [[Redis]], [[PostgreSQL]] and Apache [[TLS]] support.}}
 
   
A template Apache configuration file is provided in {{ic|/etc/webapps/funkwhale/apache-funkwhale.conf}}. It configures the Funkwhale instance to be accessible at {{ic|https://funkwhale.local}}.
+
テンプレートの Apache 設定ファイルは、{{ic|/etc/webapps/funkwhale/apache-funkwhale.conf}} で提供されます。Funkwhale インスタンスが {{ic|https://funkwhale.local}} でアクセスできるように設定されます。
   
The folder names should be change to fit your installation. More explanation on which lines need to be modified is provided in [https://docs.funkwhale.audio/installation/index.html#reverse-proxy-setup].
+
フォルダー名は、インストールに合わせて変更する必要があります。どの行を変更する必要があるかについての詳細は、[https://docs.funkwhale.audio/installation/index.html#reverse-proxy-setup] で説明されています。
   
  +
テンプレートを Apache 設定フォルダーにコピーし、
Copy the template to the apache configuration folder,
 
   
 
$ cp /etc/webapps/funkwhale/apache-funkwhale.conf /etc/httpd/conf/extra/funkwhale.conf
 
$ cp /etc/webapps/funkwhale/apache-funkwhale.conf /etc/httpd/conf/extra/funkwhale.conf
   
Next, edit the [[Apache HTTP Server]] configuration file and add the following:
+
次に、[[Apache HTTP Server]] 設定ファイルを編集し、以下を追加します。
   
 
{{hc|# /etc/httpd/conf/httpd.conf|
 
{{hc|# /etc/httpd/conf/httpd.conf|
98行目: 98行目:
 
}}
 
}}
   
  +
変更を適用するには、[[systemd#ユニットを使う|systemd]] を使用して {{ic|httpd.service}} (Apache) を再起動する必要があります。
For the changes to be applied, you need to restart {{ic|httpd.service}} (Apache) using [[systemd#Using units|systemd]].
 
   
=== Configure PostgreSQL ===
+
=== PostgreSQL の設定 ===
   
Here we follow the official documentation: [https://docs.funkwhale.audio/installation/external_dependencies.html]
+
ここでは、公式ドキュメントに従います: [https://docs.funkwhale.audio/installation/external_dependency.html]
   
  +
{{ic|postgres}} ユーザーを使用して [[PostgreSQL]] コマンドラインに接続し、{{ic|funkwhale}} ユーザーとデータベースを作成します。
Connect to the [[PostgreSQL]] command line using the {{ic|postgres}} user to create the {{ic|funkwhale}} user and the database.
 
   
 
{{hc|$ sudo -u postgres psql|2=
 
{{hc|$ sudo -u postgres psql|2=
116行目: 116行目:
 
}}
 
}}
   
The last three lines load the {{ic|unaccent}} and {{ic|citext}} extensions,
+
最後の 3 行は、{{ic|unaccent}} および {{ic|citext}} 拡張機能をロードします。
which are needed for funkwhale to work ({{ic|citext}} since version 0.20).
+
これらは funkwhale が動作するために必要です ({{ic|citext}} バージョン 0.20 以降)
   
== Initialization ==
+
== 初期化 ==
   
=== Funkwhale user ===
+
=== Funkwhale ユーザー ===
   
  +
Funkwhale は、{{ic|funkwhale}} ユーザーとして実行する必要があります。これは、AUR パッケージによって自動的に作成されます。
Funkwhale should be run as the {{ic|funkwhale}} user. It is automatically created by the AUR package.
 
  +
手動インストールに従った場合は、次のように作成します。
If you followed the manual installation, create it with
 
   
$ useradd -r -d /srv/funkwhale -m funkwhale -c "Funkwhale music server -s /sbin/nologin"
+
# useradd -r -d /srv/funkwhale -m funkwhale -c "Funkwhale music server -s /sbin/nologin"
   
Create Funkwhale's data folders in {{ic|/srv/funkwhale}},
+
Funkwhale のデータフォルダーを {{ic|/srv/funkwhale}} に作成します。
owned by the {{ic|funkwhale}} user:
+
{{ic|funkwhale}} ユーザーが所有:
   
$ mkdir /srv/funkwhale
+
# mkdir /srv/funkwhale
$ chown funkwhale:funkwhale /srv/funkwhale
+
# chown funkwhale:funkwhale /srv/funkwhale
   
  +
{{ic|funkwhale}} ユーザーとして次のコマンドを実行します。
Run the following commands as the {{ic|funkwhale}} user.
 
   
  +
API ファイルとストレージ用のサブフォルダーを作成します:
Create sub-folders for api files and storage.
 
   
{{hc|$ sudo -u funkwhale -H bash|2=
+
[funkwhale]$ cd /srv/funkwhale
[funkwhale]$ cd /srv/funkwhale
+
[funkwhale]$ mkdir -p api data/static data/media data/music config
[funkwhale]$ mkdir -p api data/static data/media data/music config
 
}}
 
   
To work, Funkwhale needs several environment variables to be present, these should be defined in the environment file {{ic|/srv/funkwhale/config/env}}.
+
Funkwhale が動作するには、いくつかの環境変数が必要です。これらは環境ファイル {{ic|/srv/funkwhale/config/env}} で定義されている必要があります。
There is a template at {{ic|/etc/webapps/funkwhale/env.template}}, copy and modify it to fit your installation.
+
{{ic|/etc/webapps/funkwhale/env.template}} にテンプレートがあります。これをコピーして、インストールに合わせて変更します。
   
 
[funkwhale]$ cp /etc/webapps/funkwhale/env.template /srv/funkwhale/config/env
 
[funkwhale]$ cp /etc/webapps/funkwhale/env.template /srv/funkwhale/config/env
   
The {{ic|FUNKWHALE_HOSTNAME}} variable should correspond to the hostname in {{ic|/etc/hosts}}.
+
{{ic|FUNKWHALE_HOSTNAME}} 変数は、{{ic|/etc/hosts}} のホスト名に対応する必要があります。
{{ic|DJANGO_ALLOWED_HOSTS}} needs also to match the address where the funkwhale instance will be reached.
+
{{ic|DJANGO_ALLOWED_HOSTS}} も、funkwhale インスタンスに到達するアドレスと一致する必要があります。
  +
一意の {{ic|DJANGO_SECRET_KEY}} を生成し、インストールに応じてパスを変更する必要があります。
You should generate a unique {{ic|DJANGO_SECRET_KEY}} and change the paths accordingly to your installation.
 
   
  +
{{Tip|環境変数がロードされた状態で {{ic|funkwhale}} ユーザーとしていくつかのコマンドを実行する必要があるため、ログイン後に次のコマンドラインを使用できます:
{{Tip|As you will need to run several commands as the {{ic|funkwhale}} user with the environment variables loaded, you can use the following command-line after logging in:
 
   
{{ic|[funkwhale]$ export $(cat /srv/funkwhale/config/env {{!}} grep -v ^# {{!}} xargs)}}
+
[funkwhale]$ export $(grep -v ^# /srv/funkwhale/config/env {{!}} xargs)
   
  +
便宜上、この行を {{ic|/srv/funkwhale/.bashrc}} (または使用しているシェル) にコピーすると、funkwhale ユーザーにログインするたびに自動的にロードされます。
For convenience, you can copy this line to /srv/funkwhale/.bashrc (or whichever shell you are using),
 
so it is loaded automatically everytime you log in to the funkwhale user.
 
 
}}
 
}}
   
  +
=== データベースのセットアップ ===
=== Database setup ===
 
   
  +
AUR から {{AUR|funkwhale-venv}} をインストールした場合は、{{ic|/usr/bin/funkwhale_manage}} を使用して {{ic|/usr/share/webapps/funkwhale/api/manage.py}} を実行します{{ic|funkwhale}} ユーザーとしてコマンドを実行します。
Initialize the database before launching the application:
 
   
  +
アプリケーションを起動する前にデータベースを初期化します:
{{hc|$ sudo -u funkwhale -H bash|2=
 
[funkwhale]$ python /usr/share/webapps/funkwhale/api/manage.py migrate
 
}}
 
   
  +
[funkwhale]$ funkwhale_manage migrate
Create a superuser for your Funkwhale instance:
 
   
  +
Funkwhale インスタンスのスーパーユーザーを作成します:
[funkwhale]$ python /usr/share/webapps/funkwhale/api/manage.py createsuperuser
 
   
  +
[funkwhale]$ funkwhale_manage createsuperuser
Collect the static files for the webapp:
 
   
  +
Web アプリの静的ファイルを収集します:
[funkwhale]$ python /usr/share/webapps/funkwhale/api/manage.py collectstatic
 
   
{{note|Starting with version 0.21, an alias is provided for {{ic|/usr/share/webapps/funkwhale/api/manage.py}} in {{ic|/usr/bin/funkwhale_manage}}, so you can instead use:
 
 
[funkwhale]$ funkwhale_manage collectstatic
 
[funkwhale]$ funkwhale_manage collectstatic
  +
  +
{{Note|{{ic|funkwhale_manage}} を使用しない場合は、まず Python virtualenv をアクティブにしてから、{{ic|funkwhale}} ユーザーとしてコマンドを実行する必要があります。
  +
  +
{{bc|
  +
[funkwhale]$ source /usr/share/webapps/funkwhale/virtualenv/bin/activate
  +
[funkwhale]$ python /usr/share/webapps/funkwhale/api/manage.py migrate
  +
[funkwhale]$ python /usr/share/webapps/funkwhale/api/manage.py createsuperuser
  +
[funkwhale]$ python /usr/share/webapps/funkwhale/api/manage.py collectstatic
  +
[funkwhale]$ deactivate
 
}}
 
}}
   
  +
}}
== Version upgrade ==
 
   
  +
== バージョンアップ ==
{{note|Starting with version 0.21, an alias is provided for {{ic|/usr/share/webapps/funkwhale/api/manage.py}} in {{ic|/usr/bin/funkwhale_manage}}, so you can use:
 
   
  +
=== 自動 ===
[funkwhale]$ funkwhale_manage [commands...]
 
   
  +
AUR から {{AUR|funkwhale-venv}} をインストールした場合は、特別なことは何もありません。エラーが発生した場合は、{{ic|/usr/bin/funkwhale_manage}} スクリプトを使用して、{{ic|/usr/share/webapps/funkwhale/api/manage.py}} コマンドを実行します sudo を使用して (実行する必要があります))
instead of
 
 
[funkwhale]$ python /usr/share/webapps/funkwhale/api/manage.py [commands...]
 
   
  +
{{Warning|
  +
* サービスを再起動する前に、Apache または nginx の設定ファイルが変更されていないことを確認してください。互換性のない変更については、公式ドキュメントを参照してください。
 
}}
 
}}
   
  +
=== マニュアル ===
All commands should be entered as {{ic|funkwhale}} [[#Funkwhale user|user]].
 
[[Stop]] the {{ic|funkwhale.service}} before upgrading.
 
   
  +
{{note|バージョン 1.3.0 より前では、AUR パッケージはアップストリームと同様に {{ic|funkwhale.target}} を使用した後、{{ic|funkwhale.service}} を使用していました。}}
The static files have to be collected again:
 
   
  +
AUR から {{AUR|funkwhale}} をインストールした場合は、次の手順に従ってください。
[funkwhale]$ funkwhale_manage collectstatic --no-input
 
   
  +
アップグレードする前に、{{ic|funkwhale.target}} を [[停止]] してください。
Apply database migrations:
 
   
  +
すべてのコマンドは、{{ic|funkwhale}} [[Funkwhale# Funkwhale ユーザー|ユーザー]] として入力する必要があります。
[funkwhale]$ funkwhale_manage migrate
 
   
  +
静的ファイルを再度収集する必要があります:
To upgrade to version 1.0, the thumbnails quality has been increased from 70 to 95, so all the thumbnails should be regenerated (or set THUMBNAIL_JPEG_RESIZE_QUALITY=70 in the .env file so nothing changes).
 
First delete the {{ic|__sized__ directory}} in your {{ic|MEDIA_ROOT}} directory, then regenerate the thumbnails,
 
   
  +
[funkwhale]$ funkwhale_manage collectstatic --no-input
[funkwhale]$ rm -rf /srv/funkwhale/data/media/__sized__
 
[funkwhale]$ funkwhale_manage fw media generate-thumbnails
 
   
  +
データベース移行を適用します:
Starting from version 0.20.1, there is a new {{ic|MUSIC_USE_DENORMALIZATION}} parameter in the {{ic|env}} file set to {{ic|True}} (you can set it to {{ic|False}} so nothing changes). It is a performance enhancement and to make it work you need to run the following command,
 
   
  +
[funkwhale]$ funkwhale_manage migrate
[funkwhale]$ python /usr/share/webapps/funkwhale/api/manage.py rebuild_music_permissions
 
 
{{warning|Check that the apache or nginx configuration file did not change before restarting the service. Consult the official documentation for incompatible changes.}}
 
 
{{warning|From version 0.20, {{AUR|python-daphne}} was replaced by {{Pkg|uvicorn}}/{{Pkg|gunicorn}}. The service file was updated not to use {{AUR|python-daphne}} anymore. This can be changed by editing the {{ic|funkwhale-server.service}} file.
 
Also, the {{ic|citext}} extension for postgresql is now needed. It can be loaded with issueing the following command before calling the {{ic|migrate}} command:
 
 
{{bc|$ sudo -u postgres psql funkwhale -c 'CREATE EXTENSION "citext";'}}
 
   
  +
{{Warning|
  +
* サービスを再起動する前に、Apache または nginx の設定ファイルが変更されていないことを確認してください。互換性のない変更については、公式ドキュメントを参照してください。
 
}}
 
}}
   
  +
これらの手順をすべて完了すると、{{ic|funkwhale.target}} は再び [[ヘルプ:読み方#systemd ユニットのコントロール|起動状態]] になります。
After completing all these steps, the {{ic|funkwhale.service}} can be [[started]] again.
 
   
{{Note|All the instructions for upgrading are given on the official documentation [https://docs.funkwhale.audio/upgrading/index.html].}}
+
{{Note|アップグレードの手順はすべて、公式ドキュメント [https://docs.funkwhale.audio/upgrading/index.html] に記載されています。}}
   
== Usage ==
+
== 使い方 ==
   
  +
アップストリームは、AUR パッケージとともにすでにインストールされている systemd サービスを提供します。
Upstream provides systemd services that are already installed with the AUR package.
 
   
  +
インスタンスを開始するには、{{ic|funkwhale.target}} を [[起動]] するだけです。
To start the instance, just [[start]] {{ic|funkwhale.service}}.
 
   
  +
これにより 3 つのサービスが開始され、次のコマンドでステータスを確認できます:
This starts three services, you can check their status with:
 
   
 
$ systemctl status funkwhale-\*
 
$ systemctl status funkwhale-\*
   
  +
{{note|バージョン 1.3.0 より前では、AUR パッケージはアップストリームと同様に {{ic|funkwhale.target}} を使用した後、{{ic|funkwhale.service}} を使用していました。}}
== Troubleshooting ==
 
  +
  +
== トラブルシューティング ==
   
See https://docs.funkwhale.audio/admin/troubleshooting.html
+
https://docs.funkwhale.audio/admin/troubleshooting.html を参照してください。
   
=== Proxy logs ===
+
=== プロキシログ ===
   
  +
funkwhale の Apache ログ:
Apache logs for funkwhale:
 
   
 
$ tail -f /var/log/httpd/funkwhale/error.log
 
$ tail -f /var/log/httpd/funkwhale/error.log

2024年1月17日 (水) 05:01時点における最新版

関連記事

メインドキュメントページ: から引用

Funkwhale is a self-hosted, modern, free and open-source music server, heavily inspired by Grooveshark.

インスタンスは ActivityPub プロトコルで連携できます。

インストール

Funkwhale にはリバースプロキシ ([1]) が必要です。 したがって、nginx または Apache HTTP Server をインストールする必要があります。

また、設定された PostgreSQL データベースと Redis キャッシュサーバーも必要です。 詳細については、Funkwhale#設定 およびそれぞれのページを参照してください。

AUR からのインストール

funkwhaleAUR パッケージを インストール して下さい。

警告: このインストールでは Python virtualenv を使用しないため、すべての Python 依存関係は主に AUR からシステム全体にインストールされます。パッケージのバージョンが上流の要件と異なる場合があり、問題が発生する可能性があります。

手動インストール

[2] にある Arch のインストール手順に従ってください。 これにより、すべてのコンポーネントが /srv/funkwhale にインストールされます。

Docker のインストール

[3] にある Docker のインストール手順に従ってください。

設定

以下のセクションでは、Funkwhale が AUR からインストールされたことを前提としています。 手動インストールの場合は、フォルダーを適切に変更する必要があります。

また、ローカルネットワーク上で Funkwhale を使用していることも前提としています。 外部からアクセスできるようにする方法については、公式 ドキュメント を参照してください。 特に Certbot を使用する証明書の場合。

ホスト設定

/etc/hosts ファイルが正しく設定されていることを確認してください。 Funkwhale サーバーは、127.0.0.1 でエイリアス funkwhale.local で実行されていますが、これは変更できます。

/etc/hosts ファイルは次のようになります。

#<ip-address>   <hostname.domain.org>   <hostname>
127.0.0.1       localhost
::1             localhost
127.0.0.1       funkwhale.local

nginx の設定

Nginx 構成ファイルのアップストリーム テンプレートは、/etc/webapps/funkwhale/nginx.template で提供されます。 ただし、このファイルには、env ファイルの値で置き換える必要がある変数が含まれています (このファイルの作成方法についてはセクション 初期化 を参照してください):

$ set -a && source /srv/funkwhale/config/env && set +a
$ envsubst "`env | awk -F = '{printf \" $%s\", $$1}'`" \
   < /etc/webapps/funkwhale/nginx.conf \
   > /etc/nginx/sites-available/funkwhale.conf

証明書へのパスもそれに応じて変更する必要があります。

次に、サイトを有効にします:

$ ln -s /etc/nginx/sites-available/funkwhale.conf /etc/nginx/sites-enabled/

そして、nginx.service起動 します。

Apache の設定

ノート: RedisPostgreSQL、および Apache TLS サポートを使用して実行するように Apache HTTP Server を設定する必要があります。

テンプレートの Apache 設定ファイルは、/etc/webapps/funkwhale/apache-funkwhale.conf で提供されます。Funkwhale インスタンスが https://funkwhale.local でアクセスできるように設定されます。

フォルダー名は、インストールに合わせて変更する必要があります。どの行を変更する必要があるかについての詳細は、[4] で説明されています。

テンプレートを Apache 設定フォルダーにコピーし、

$ cp /etc/webapps/funkwhale/apache-funkwhale.conf /etc/httpd/conf/extra/funkwhale.conf

次に、Apache HTTP Server 設定ファイルを編集し、以下を追加します。

# /etc/httpd/conf/httpd.conf
Include conf/extra/funkwhale.conf

変更を適用するには、systemd を使用して httpd.service (Apache) を再起動する必要があります。

PostgreSQL の設定

ここでは、公式ドキュメントに従います: [5]

postgres ユーザーを使用して PostgreSQL コマンドラインに接続し、funkwhale ユーザーとデータベースを作成します。

$ sudo -u postgres psql
CREATE DATABASE "funkwhale"
 WITH ENCODING 'utf8';
CREATE USER funkwhale;
GRANT ALL PRIVILEGES ON DATABASE funkwhale TO funkwhale;
\c funkwhale;
CREATE EXTENSION "unaccent";
CREATE EXTENSION "citext";

最後の 3 行は、unaccent および citext 拡張機能をロードします。 これらは funkwhale が動作するために必要です (citext バージョン 0.20 以降)

初期化

Funkwhale ユーザー

Funkwhale は、funkwhale ユーザーとして実行する必要があります。これは、AUR パッケージによって自動的に作成されます。 手動インストールに従った場合は、次のように作成します。

# useradd -r -d /srv/funkwhale -m funkwhale -c "Funkwhale music server -s /sbin/nologin"

Funkwhale のデータフォルダーを /srv/funkwhale に作成します。 funkwhale ユーザーが所有:

# mkdir /srv/funkwhale
# chown funkwhale:funkwhale /srv/funkwhale

funkwhale ユーザーとして次のコマンドを実行します。

API ファイルとストレージ用のサブフォルダーを作成します:

[funkwhale]$ cd /srv/funkwhale
[funkwhale]$ mkdir -p api data/static data/media data/music config

Funkwhale が動作するには、いくつかの環境変数が必要です。これらは環境ファイル /srv/funkwhale/config/env で定義されている必要があります。 /etc/webapps/funkwhale/env.template にテンプレートがあります。これをコピーして、インストールに合わせて変更します。

[funkwhale]$ cp /etc/webapps/funkwhale/env.template /srv/funkwhale/config/env

FUNKWHALE_HOSTNAME 変数は、/etc/hosts のホスト名に対応する必要があります。 DJANGO_ALLOWED_HOSTS も、funkwhale インスタンスに到達するアドレスと一致する必要があります。 一意の DJANGO_SECRET_KEY を生成し、インストールに応じてパスを変更する必要があります。

ヒント: 環境変数がロードされた状態で funkwhale ユーザーとしていくつかのコマンドを実行する必要があるため、ログイン後に次のコマンドラインを使用できます:
[funkwhale]$ export $(grep -v ^#  /srv/funkwhale/config/env | xargs)

便宜上、この行を /srv/funkwhale/.bashrc (または使用しているシェル) にコピーすると、funkwhale ユーザーにログインするたびに自動的にロードされます。

データベースのセットアップ

AUR から funkwhale-venvAUR をインストールした場合は、/usr/bin/funkwhale_manage を使用して /usr/share/webapps/funkwhale/api/manage.py を実行しますfunkwhale ユーザーとしてコマンドを実行します。

アプリケーションを起動する前にデータベースを初期化します:

[funkwhale]$ funkwhale_manage migrate

Funkwhale インスタンスのスーパーユーザーを作成します:

[funkwhale]$ funkwhale_manage createsuperuser

Web アプリの静的ファイルを収集します:

[funkwhale]$ funkwhale_manage collectstatic
ノート: funkwhale_manage を使用しない場合は、まず Python virtualenv をアクティブにしてから、funkwhale ユーザーとしてコマンドを実行する必要があります。
[funkwhale]$ source /usr/share/webapps/funkwhale/virtualenv/bin/activate
[funkwhale]$ python /usr/share/webapps/funkwhale/api/manage.py migrate
[funkwhale]$ python /usr/share/webapps/funkwhale/api/manage.py createsuperuser
[funkwhale]$ python /usr/share/webapps/funkwhale/api/manage.py collectstatic
[funkwhale]$ deactivate

バージョンアップ

自動

AUR から funkwhale-venvAUR をインストールした場合は、特別なことは何もありません。エラーが発生した場合は、/usr/bin/funkwhale_manage スクリプトを使用して、/usr/share/webapps/funkwhale/api/manage.py コマンドを実行します sudo を使用して (実行する必要があります))

警告:
  • サービスを再起動する前に、Apache または nginx の設定ファイルが変更されていないことを確認してください。互換性のない変更については、公式ドキュメントを参照してください。

マニュアル

ノート: バージョン 1.3.0 より前では、AUR パッケージはアップストリームと同様に funkwhale.target を使用した後、funkwhale.service を使用していました。

AUR から funkwhaleAUR をインストールした場合は、次の手順に従ってください。

アップグレードする前に、funkwhale.target停止 してください。

すべてのコマンドは、funkwhale ユーザー として入力する必要があります。

静的ファイルを再度収集する必要があります:

[funkwhale]$ funkwhale_manage collectstatic --no-input

データベース移行を適用します:

[funkwhale]$ funkwhale_manage migrate
警告:
  • サービスを再起動する前に、Apache または nginx の設定ファイルが変更されていないことを確認してください。互換性のない変更については、公式ドキュメントを参照してください。

これらの手順をすべて完了すると、funkwhale.target は再び 起動状態 になります。

ノート: アップグレードの手順はすべて、公式ドキュメント [6] に記載されています。

使い方

アップストリームは、AUR パッケージとともにすでにインストールされている systemd サービスを提供します。

インスタンスを開始するには、funkwhale.target起動 するだけです。

これにより 3 つのサービスが開始され、次のコマンドでステータスを確認できます:

$ systemctl status funkwhale-\*
ノート: バージョン 1.3.0 より前では、AUR パッケージはアップストリームと同様に funkwhale.target を使用した後、funkwhale.service を使用していました。

トラブルシューティング

https://docs.funkwhale.audio/admin/troubleshooting.html を参照してください。

プロキシログ

funkwhale の Apache ログ:

$ tail -f /var/log/httpd/funkwhale/error.log