首页
/ Your_Spotify项目本地化部署指南(非Docker方式)

Your_Spotify项目本地化部署指南(非Docker方式)

2025-07-09 05:03:04作者:廉皓灿Ida

项目概述

Your_Spotify是一个开源的个性化音乐数据分析平台,能够帮助用户可视化自己的Spotify收听习惯和统计数据。本文将详细介绍如何在本地环境中不使用Docker容器的情况下部署Your_Spotify项目。

环境准备

在开始部署前,请确保您的系统满足以下要求:

  1. 版本控制系统:需要安装Git工具用于获取项目代码
  2. 数据库:MongoDB数据库服务(建议版本4.4+)
  3. 运行时环境:NodeJS环境(建议使用LTS版本)

后端服务部署

1. 获取项目代码

通过版本控制工具获取项目源代码,建议使用浅克隆方式减少下载量。

2. 安装依赖

进入server目录执行依赖安装命令:

yarn install

3. 构建项目

执行构建命令生成可执行文件:

yarn build

4. 数据库迁移

运行数据库迁移命令,需要配置正确的环境变量:

yarn migrate

5. 启动服务

使用Node运行构建后的服务:

node lib/bin/www.js

环境变量配置:需要配置与docker-compose中相同的环境变量,并额外添加PORT变量指定服务端口。

前端服务部署

1. 安装依赖

进入client目录执行:

yarn install

2. 构建项目

执行前端构建命令:

yarn build

3. 配置API端点

在生成的build目录中:

  1. 复制variables-template.js为variables.js
  2. 修改其中的API_ENDPOINT为后端服务实际地址

4. 部署静态网站

可以使用任意静态网站服务器部署build目录内容,推荐使用serve工具:

serve -s build

重要提示:必须配置所有404错误重定向到index.html,serve工具默认已实现此功能。如使用Apache,可参考项目中的.htaccess文件配置。

使用systemd管理服务

对于生产环境,建议使用systemd管理MongoDB和后端服务。

1. 创建服务单元文件

在用户目录下创建服务配置文件:

~/.config/systemd/user/your_spotify.service

示例配置内容:

[Unit]
Description=Your Spotify Backend
Wants=network-online.target mongodb.service
After=syslog.target network.target nss-lookup.target network-online.target

[Service]
EnvironmentFile=/path/to/your/env/file
ExecStart=/path/to/node /path/to/your_spotify/server/lib/bin/www
StandardOutput=journal
Restart=on-failure
WorkingDirectory=/path/to/your_spotify/server

[Install]
WantedBy=multi-user.target

2. MongoDB服务配置

单独创建MongoDB服务单元文件:

[Unit]
Description=MongoDB
Wants=network-online.target
After=syslog.target network.target nss-lookup.target network-online.target

[Service]
Type=forking
ExecStart=/path/to/mongod --dbpath /path/to/data --logpath /path/to/logs --fork --bind_ip 127.0.0.1 --port 40097
StandardOutput=journal
Restart=on-failure
WorkingDirectory=/path/to/mongodb

[Install]
WantedBy=multi-user.target

3. 启用并启动服务

执行以下命令启用并启动服务:

systemctl --user --now enable mongodb
systemctl --user --now enable your_spotify

常见问题排查

  1. 端口冲突:确保MongoDB和后端服务使用的端口未被占用
  2. 环境变量缺失:检查所有必需环境变量是否已正确配置
  3. 依赖问题:如遇到模块缺失错误,尝试删除node_modules后重新安装依赖
  4. 数据库连接失败:验证MongoDB服务是否正常运行,连接字符串是否正确

通过以上步骤,您应该能够成功在本地环境中部署并运行Your_Spotify项目,开始探索您的Spotify收听数据分析之旅。