A cross-platform private music playback service
This project is under active development and currently provides both a Desktop version and a Web service version.
Download the latest version and install: https://github.com/any-listen/any-listen-desktop/releases
You can deploy it directly to your server, or use Docker for deployment.
Image release: https://hub.docker.com/r/lyswhut/any-listen-web-server
Download the latest version and extract it to your target directory: https://github.com/any-listen/any-listen-web-server/releases
Refer to https://github.com/lyswhut/lx-music-sync-server for deployment methods. See below for configuration file instructions.
Usage Example:
-
Create the configuration file
data/config.cjsconst config = { // port: '9500', // Bind port // bindIp: '127.0.0.1', // Bind IP // httpLog: true, // Enable HTTP request logging // 'cors.enabled': false, // Enable CORS // 'cors.whitelist': [ // Allowed CORS domains, empty array allows all // // 'www.xxx.com', // ], // 'upstreamProxy.enabled': false, // Use proxy for requests // 'upstreamProxy.header': '', // Proxy request header (e.g. `x-real-ip`) // 'extension.ghMirrorHosts': [], // Extension store Github mirror addresses // httpProxy: '', // Proxy server address, e.g. `127.0.0.1:2080` // Allowed local directories // allowPublicDir: ['G:', 'E:\\music'], // Windows example // allowPublicDir: ['/music'], // Linux example password: '123456a', // Login password } module.exports = config
-
Run the Docker container
Note: The following command is for example only and cannot be used directly!
docker run --volume=/home/music:/music --volume=/data:/server/data -p 8080:9500 -d test:latest
Environment variable description
| Variable Name | Description |
|---|---|
PORT |
Bind port, default 9500 |
BIND_IP |
Bind IP, default 127.0.0.1, set to 0.0.0.0 to accept all IPv4 requests, :: for all IPs |
UPSTREAM_PROXY_HEADER |
Proxy request header (e.g. x-real-ip), enables proxy when set |
ALLOW_PUBLIC_DIR |
Allowed local directories, separate multiple with commas |
DATA_PATH |
Data storage path, default ./data |
LOGIN_PWD |
Login password |
CONFIG_PATH |
Config file path, default ./data/config.js |
LOG_PATH |
Log storage path, default ./data/logs |
EXTENSION_GH_MIRROR_HOSTS |
Extension store Github mirror addresses, separate multiple with commas |
HTTP_PROXY |
Proxy server, e.g. 127.0.0.1:2080 |
pnpm install
pnpm run build:web
cd build
mkdir data
# Create config file config.cjs
node index.cjsPRs are welcome! To ensure your PR can be merged smoothly, please note the following:
- For PRs adding new features, it is recommended to create an Issue first to confirm the necessity of the feature.
- For PRs fixing bugs, please provide explanations and reproduction steps before and after the fix.
- For other types of PRs, please include appropriate explanations.
Steps to contribute:
- Clone the repository and switch to the
devbranch for development; - Submit your PR to the
devbranch.
This project is licensed under the Affero General Public License (AGPL) v3.0 with the following additional terms:
- Commercial use is strictly prohibited unless written permission is obtained from the original author.
- For full details, please refer to the LICENSE file.