用Maloja创建音乐收听统计数据

news2024/11/29 12:55:08

在这里插入图片描述

什么是 Maloja ?

Maloja 是简单的自托管音乐记录数据库,用于创建个人收听统计数据。没有推荐,没有社交网络,没有废话。Maloja 是一个跟踪您一段时间内的收听习惯的工具。

官方演示站点:https://maloja.krateng.ch/

在这里插入图片描述

导出数据

支持 Last.fmSpotifyListenBrainz、或者从另一个 Maloja 导出的数据

老苏还是以 Last.fm 为例,因为去年折腾了几款音乐软件用到 Last.fmAPI Key,所以有一些收听数据

  • 音乐流媒体服务器Navidrome
  • 高颜值的第三方网易云播放器YesPlayMusic(续)
  • 音乐流媒体服务器Gonic

浏览器中打开 https://benjaminbenben.com/lastfm-to-csv/

在这里插入图片描述

输入你在 Last.fm 的用户名即可

在这里插入图片描述

点下面的 save 按钮,会下载一个 <用户名>.csv 文件,为便于说明,假设文件叫 my_last_fm_export.csv

导入数据

SSH 客户端登录到群晖,新建目录

# 新建文件夹 maloja 和 子目录
mkdir -p /volume1/docker/maloja/mljdata

# 进入 maloja 目录
cd /volume1/docker/maloja

将下载的 csv 文件放入 mljdata 目录

然后运行容器

# 进入容器
docker run -it \
   --entrypoint sh \
   -v $(pwd)/mljdata:/mljdata \
   -e MALOJA_DATA_DIRECTORY=/mljdata \
   krateng/maloja

# 进入 mljdata 目录    
cd /mljdata

# 导入数据
maloja import my_last_fm_export.csv

在这里插入图片描述

现在除了 my_last_fm_export.csv,还多出了很多系统的文件

启动容器

将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  maloja:
    image: krateng/maloja
    container_name: maloja
    restart: unless-stopped
    ports:
      - 42010:42010
    volumes:
      - ./mljdata:/mljdata
    environment:
      - PUID=1000
      - PGID=1000
      - MALOJA_FORCE_PASSWORD=123456
      - MALOJA_DATA_DIRECTORY=/mljdata

如果不设置 MALOJA_FORCE_PASSWORD,容器在启动时会自动生成

maloja    | Your API Key: RXx3C0g2aZi4q4dz5IPfk86HDNpT5potmCBUIakHTaB3l364aod26lfH8MW97XAg
maloja    | Generated password: n4ELq56vjMNx8LU4Ek2AC6hYcSBGipzB

在这里插入图片描述

但是这个自动生成的 password 可能会不能登录管理后台,不知道是我的问题还是软件的 bug,所以老苏还是建议设置 MALOJA_FORCE_PASSWORD

更多环境变量的说明,请参考官方文档:https://github.com/krateng/maloja/blob/master/settings.md

然后执行下面的命令

# 进入 maloja 目录
cd /volume1/docker/maloja

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:42010 就能看到主界面,默认是 This year

在这里插入图片描述

改为了 All Time

对网络的要求比较高,能下载的图片逐渐显示了出来

在这里插入图片描述

从日志看,在不断重试

这是详情页

在这里插入图片描述

管理后台

点右上角的小齿轮,会看到登录界面

在这里插入图片描述

登录成功后的主界面,能看到软件的版本

在这里插入图片描述

这里也能查到 API Key

在这里插入图片描述

访问 http://群晖IP:42010/api_explorer 获取 API 文档

在这里插入图片描述

参考文档

krateng/maloja: Self-hosted music scrobble database to create personal listening statistics and charts
地址:https://github.com/krateng/maloja

Maloja
地址:https://maloja.krateng.ch/

Cannot login · Issue #147 · krateng/maloja
地址:https://github.com/krateng/maloja/issues/147

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/991966.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一路风景一路歌 森海塞尔MKE 200为你记录City Walk的美妙旋律

“想要切身融入并感受一个地方的生活&#xff0c;不去当地街头溜达溜达怎么行&#xff1f;”一位City Walk Vlogger这样说。 City Walk可谓是时下最潮的生活方式之一了。不仅越来越多的游客开始穿梭于城市街巷&#xff0c;探寻饱含记忆的老建筑、老街区&#xff0c;从另一种角度…

Smallest number(dfs全排列)

Smallest number - 洛谷 #include<bits/stdc.h> #define int long long using namespace std; int a[10]; string s[5]; bool vis[10]; int ans1e13;//0x3f1e9&#xff0c;所有有点不够 void dfs(int u) { // for(int i0;i<4;i) // { // printf("%d…

Arouter配置指南

Arouter实现了大型App之间的轻耦合&#xff0c;降低代码的复杂度&#xff0c;易维护。如果不使用Arouter那么项目之前的关系可能是如下&#xff1a;底层模块间相互耦合&#xff0c;工程代码复杂度高&#xff0c;不便于管理。 Arouter 引入Arouter后希望底层模块间轻耦合&…

海南开放大学——助力学习之路的智慧导航

在信息时代的今天&#xff0c;我们面临着大量的学习资源和知识碎片化的挑战。而面对这一挑战&#xff0c;海南开放大学&#xff08;广播电视大学&#xff09;以其先进的教育理念和创新的学习方式&#xff0c;为学习者提供了一个独特的学习平台&#xff0c;开启了智慧导航的学习…

10路混音播放芯片,AD按键可扩展,IO口资源丰富,WTR096A-16S

随着科技的不断进步&#xff0c;我们的生活中对于音频体验的需求也在日益增加。无论是玩具、娱乐设备还是智能家居产品&#xff0c;都需要高性能、多功能的混音播放芯片来提供卓越的音频处理和控制能力。正是在这个背景下&#xff0c;我们引入了全新的WTR096A-16S混音芯片&…

房贷利率下调一言难尽

号外&#xff1a;9.7教链内参《摩根大通研究称BTC生产成本约为1.8w刀》。 一大清早&#xff0c;打开手机&#xff0c;就收到了新华社的推送&#xff0c;说是工农中建四大行7号发了公告&#xff0c;明确了存量首套住房贷款调整的事。&#xff08;新华社2023.9.8《四家银行发布公…

【新版】系统架构设计师 - 案例分析 - 总览

个人总结&#xff0c;仅供参考&#xff0c;欢迎加好友一起讨论 架构 - 案例分析 - 总览 新旧大纲对应 旧版新版系统规划软件架构设计设计模式系统设计系统建模分布式系统设计嵌入式系统设计系统的可靠性分析与设计系统的安全性和保密性设计系统计划信息系统架构的设计理论和实…

【观察】全栈智能:破解AI落地“最后一公里”难题

《系统论》认为&#xff1a;系统是由一些相互关联、相互作用、相互影响的组织部分构成并具有某些功能的整体。从系统的角度来看&#xff0c;如果把系统分解为部分&#xff0c;单独研究一个部分&#xff0c;就算把每个部分都研究清楚了&#xff0c;也回答不了系统整体性问题。 事…

C# 共享项目的应用

概述 共享项目也可以称为共享资产项目,它允许在多个目标项目之间共享的代码。 它支持编译器指令,可以有条件地包含特定于平台的代码,以便编译为引用共享项目的项目的子集。 还有 IDE 支持,可帮助管理编译器指令并直观显示代码在每个应用程序中的外观。 什么是共享项目? …

flink的物理DataFlow图及Slot处理槽任务分配

背景 在flink中&#xff0c;有几个比较重要的概念&#xff0c;逻辑DataFlow图&#xff0c;物理DataFlow图以及处理槽执行任务&#xff0c;本文就来讲解下这几个概念 概念详解 假设有以下代码&#xff1a;数据源和统计单词算子的并行度是2&#xff0c;数据汇算子的并行度是1&…

新知同享|Cloud 开发加速创新,更加安全

谷歌在云平台中深度集成了生成式 AI 功能 帮助出海企业及开发者 轻松借力 AI 推动和实现创新 一起来看 2023 Google 开发者大会上 Google Cloud 如何加速创新&#xff0c;加强信息安全 关注 Google Cloud 的 3 个 AI 重点发展领域 了解生成式 AI 功能如何助推创意落地 精彩大会…

【动手学深度学习】--循环神经网络

文章目录 循环神经网络1.算法介绍1.1无隐状态的神经网络(多层感知机)1.2有隐状态的循环神经网络1.3基于循环神经网络的字符级语言模型1.4困惑度 2.RNN从零开始实现2.1读取数据集2.2独热编码2.3初始化模型参数2.4循环神经网络模型2.5预测2.6梯度裁剪2.7训练 3.RNN简洁实现3.1读取…

嵌入式学习笔记(21)S5PV210的时钟域详解

时钟域&#xff1a;MSYS、DSYS、PSYS 因S5PV210的时钟体系比较复杂&#xff0c;内部外设模块太多&#xff0c;因此把整个内部的时钟划分为3大块&#xff0c;叫做3个域。之所以分为3个域&#xff0c;是因为210内部的这些模块彼此工作时钟频率差异太大了&#xff0c;所以又必要把…

【力扣每日一题】2023.9.9 课程表

目录 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 代码&#xff1a; 题目&#xff1a; 示例&#xff1a; 分析&#xff1a; 题目给我们一些课程的先修关系&#xff0c;也就是有些课我们需要先去学其他的课程才能学习&#xff0c;问我们是否可以学习完所有的课程。…

中科驭数携DPU系列创新产品亮相2023服贸会

9月2日至6日&#xff0c;由商务部、北京市政府主办的2023年中国国际服务贸易交易会&#xff08;简称“服贸会”&#xff09;在北京举行。在电信、计算机和信息服务专题展馆&#xff0c;中科驭数等一批国家专精特新“小巨人”携最新数据处理器DPU亮相&#xff0c;展示了多项创新…

PaddleOCR学习笔记3-通用识别服务

今天优化了下之前的初步识别服务的python代码和html代码。 采用flask paddleocr bootstrap快速搭建OCR识别服务。 代码结构如下&#xff1a; 模板页面代码文件如下&#xff1a; upload.html : <!DOCTYPE html> <html> <meta charset"utf-8"> …

Linux命令200例:free用来显示系统内存使用情况

&#x1f3c6;作者简介&#xff0c;黑夜开发者&#xff0c;CSDN领军人物&#xff0c;全栈领域优质创作者✌。CSDN专家博主&#xff0c;阿里云社区专家博主&#xff0c;2023年6月csdn上海赛道top4。 &#x1f3c6;数年电商行业从业经验&#xff0c;历任核心研发工程师&#xff0…

通达信自定义副图换手率指标 HSL_QD

LB:VOL/((REF(VOL,1)REF(VOL,2)REF(VOL,3)REF(VOL,4)REF(VOL,5))/5); DRAWBAND(25,RGB(0,0,0),IF((20MA(LB,5)*5)<40,20MA(LB,5)*5,40),RGB(205,205,0));{量比均线}{DRAWBAND(0,RGB(66,66,66),10,RGB(66,66,66))}; {DRAWBAND(10,RGB(66,66,66),MA(IF((100*VOL/CAPITAL3)<…

【数据结构--二叉树】平衡二叉树

题目描述&#xff1a; 代码实现&#xff1a; /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/ int TreeHeight(struct TreeNode* root) {if(rootNULL)return 0;//左右子树中大的…

12分钟从Executor自顶向下彻底搞懂线程池

通读本篇文章前先来看看几个问题&#xff0c;看看你是否已经理解线程池 什么是池化技术&#xff1f;它有什么特点&#xff0c;哪些场景使用&#xff1f;Executor是什么&#xff1f;它的设计思想是什么样的&#xff1f;工作任务有几种&#xff1f;有什么特点&#xff1f;如何适…