搭个 Funkwhale 玩玩儿
自己比较喜欢 docker 方式搭建,因为真的太方便了!😄
下载配置文件
首先设置环境变量为你要安装的版本:
export FUNKWHALE_VERSION=“1.2.5”
把配置文件下载到指定的位置:
1
2
3
4
5
6
| mkdir /srv/funkwhale
cd /srv/funkwhale
mkdir nginx
curl -L -o nginx/funkwhale.template "https://dev.funkwhale.audio/funkwhale/funkwhale/raw/${FUNKWHALE_VERSION}/deploy/docker.nginx.template"
curl -L -o nginx/funkwhale_proxy.conf "https://dev.funkwhale.audio/funkwhale/funkwhale/raw/${FUNKWHALE_VERSION}/deploy/docker.funkwhale_proxy.conf"
curl -L -o docker-compose.yml "https://dev.funkwhale.audio/funkwhale/funkwhale/raw/${FUNKWHALE_VERSION}/deploy/docker-compose.yml"
|
Copy
此时目录结构应该为:
1
2
3
4
5
| .
├── docker-compose.yml
└── nginx
├── funkwhale_proxy.conf
└── funkwhale.template
|
Copy
创建 env 文件
1
2
3
4
| curl -L -o .env "https://dev.funkwhale.audio/funkwhale/funkwhale/raw/${FUNKWHALE_VERSION}/deploy/env.prod.sample"
sed -i "s/FUNKWHALE_VERSION=latest/FUNKWHALE_VERSION=$FUNKWHALE_VERSION/" .env
chmod 600 .env # reduce permissions on the .env file since it contains sensitive data
sudo nano .env
|
Copy
获取一串随机字符
1
| openssl rand -base64 45
|
Copy
将字符填入.env
文件种的 DJANGO_SECRET_KEY
后。并且填好文件中相关内容
下面是文件中比较重要的内容
1
2
3
4
5
6
| FUNKWHALE_VERSION=1.2.5
FUNKWHALE_API_IP=127.0.0.1
FUNKWHALE_API_PORT=5000 # 可以修改为任意端口增加安全性
FUNKWHALE_HOSTNAME=music.irithys.com # 网址
FUNKWHALE_PROTOCOL=https
|
Copy
拉取镜像,初步设置
拉取镜像
Copy
运行数据库容器和初始迁移:
1
2
| docker-compose up -d postgres
docker-compose run --rm api python manage.py migrate
|
Copy
创建您的管理员用户:
1
| docker-compose run --rm api python manage.py createsuperuser
|
Copy
然后启动整个容器:
Copy
配置反向代理
我使用的是 Nginx,其他类型可以查看 [官网](Installation — funkwhale 1.2.5 documentation) 进行操作。
我的惯用方式为先设置二级域名再搭建网站,所以官网之后的操作有点不适用。
下面是我自己的方式。
- 将文件 docker.proxy.template 和 funkwhale_proxy.conf 下载后对比自己原先的配置,将 docker.proxy.template 文件中的配置复制到自己原先配置中。
- 将文件中的所有引用通过对比
.env
文件进行补全。 - 将
include /etc/nginx/funkwhale_proxy.conf;
的内容替换为 funkwhale_proxy.conf
中的内容。
检查无误后重新启动 Nginx。
🤩 界面出现
界面出现了!当然,这是我上传音乐之后的音乐库🎵。
设置中可以变更音乐库的名字和介绍,都可以设置一下嘞。
但是,我忘记在哪儿听说的可以和联邦宇宙通信来着?是不是可以和 Mastodon 互动嘞?不知道怎么操作。。。
总之,搭建完成就是大成功!
完结撒花🎉🎉🎉🎉