仅适用于新安装的Funkwhale,已经有数据的站点不要配置,会导致已有的数据出问题。
Funkwhale安装的方法可以参考一下这篇文章:https://lala.im/8343.html
当前Funkwhale的最新版本是1.2.9,要安装最新版,只需要把上面那篇文章里面下载的文件地址里面含有1.2.4的全部改为1.2.9即可,其他步骤没有任何变化。
这里只记录一下S3配置。我的S3对象存储是用MinIO自建的,安装的方法在:https://lala.im/8564.html
编辑envfile:
nano /srv/funkwhale/.env
需要修改的配置:
AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_STORAGE_BUCKET_NAME=funkwhale AWS_S3_ENDPOINT_URL=https://minio.example.com
编辑映射到容器内的nginx配置文件:
nano /srv/funkwhale/nginx/funkwhale.template
用下面这段配置:
location ~ /_protected/media/(.+) { resolver 1.1.1.1; internal; proxy_set_header Authorization ""; proxy_pass $1; }
替换掉:
location /_protected/media { internal; alias ${MEDIA_ROOT}; }
同时添加header(将minio.example.com替换成你自己的域名):
add_header Content-Security-Policy "...img-src 'self' https://minio.example.com data:;...media-src https://minio.example.com 'self' data:";
修改好配置后down掉全部容器再up使新的配置生效:
docker compose down docker compose up -d
或者也可以直接重启容器:
docker compose restart
宿主机的nginx反向代理不需要做任何改动。测试下能否正常工作:
参考:https://docs.funkwhale.audio/admin/external-storages.html