GithubHelp home page GithubHelp logo

navidrome / website Goto Github PK

View Code? Open in Web Editor NEW
18.0 6.0 94.0 43.59 MB

Navidrome's documentation website

Home Page: https://www.navidrome.org

License: Apache License 2.0

HTML 65.87% SCSS 17.38% Shell 16.75%
docs hugo docsy

website's Introduction

Navidrome logo

Navidrome Music Server  Tweet

Last Release Build Downloads Docker Pulls Dev Chat Subreddit Contributor Covenant

Navidrome is an open source web-based music collection server and streamer. It gives you freedom to listen to your music collection from any browser or mobile device. It's like your personal Spotify!

Note: The master branch may be in an unstable or even broken state during development. Please use releases instead of the master branch in order to get a stable set of binaries.

Any feedback is welcome! If you need/want a new feature, find a bug or think of any way to improve Navidrome, please file a GitHub issue or join the discussion in our Subreddit. If you want to contribute to the project in any other way (ui/backend dev, translations, themes), please join the chat in our Discord server.

Installation

See instructions on the project's website

Cloud Hosting

PikaPods has partnered with us to offer you an officially supported, cloud-hosted solution. A share of the revenue helps fund the development of Navidrome at no additional cost for you.

PikaPods

Features

  • Handles very large music collections
  • Streams virtually any audio format available
  • Reads and uses all your beautifully curated metadata
  • Great support for compilations (Various Artists albums) and box sets (multi-disc albums)
  • Multi-user, each user has their own play counts, playlists, favourites, etc...
  • Very low resource usage
  • Multi-platform, runs on macOS, Linux and Windows. Docker images are also provided
  • Ready to use binaries for all major platforms, including Raspberry Pi
  • Automatically monitors your library for changes, importing new files and reloading new metadata
  • Themeable, modern and responsive Web interface based on Material UI
  • Compatible with all Subsonic/Madsonic/Airsonic clients
  • Transcoding on the fly. Can be set per user/player. Opus encoding is supported
  • Translated to various languages

Documentation

All documentation can be found in the project's website: https://www.navidrome.org/docs. Here are some useful direct links:

Screenshots

website's People

Contributors

100gle avatar alekseylobanov avatar amura11 avatar anarcat avatar andyklimczak avatar certuna avatar danshilm avatar deluan avatar dependabot[bot] avatar dnno avatar himanshunitrr avatar imgbot[bot] avatar jan666 avatar jcads avatar moralcode avatar pblommendaal avatar pimzand avatar pritamp17 avatar ryantg avatar sebastianschauenburg avatar slashformotion avatar spencermathews avatar srichter avatar srp avatar sumnerevans avatar theholm avatar tomleb avatar tuaris avatar voryzen avatar wonderfall avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

website's Issues

xxx

make it less complicated to install this. i bet if i spent 3 hours following these instructions to the letter, it still wouldn't work

Rootless docker install

I'm trying to install navidrome using rootless docker on Ubuntu 22.04, docker v25.0.3
If I just follows the docker install instruction it fails with 'permission error'
I think the way of setting 'uid:gid' via enviromental variable fails in rootless docker.
Since the rootful docker work with root user without user variable, rootless docker should work with current user in the same situation.
So I deleted user variable and it works fine.
I think the instruction for rootless docker should be added.

Surveys

I can't find the surveys for my class and the class is called Pop music through the ages and I was trying to ask my teacher and he did not help me but I want you help me right now and the sign in is not working and I was trying to sign in and It was not working at all and can you please help me right now?

No troubleshooting instructions + possibly incomplete setup instructions for osx

I went through the installation instructions for osx, and the launchctl service is listed but won't run, and I'm not sure why. It would be great to have a list of things you would expect to see for a valid setup (e.g. permissions of all the various files, log output, launchctl output, etc.) and some indication of what might be wrong if our local state doesn't match up with what's expected.

I wouldn't expect you to go crazy rewriting launchctl's docs, but it seems like there could be some middle ground to point users in the right direction for things to check.

Thanks for considering this change.

Update ARM version resource?

Background:

In my recent experience, the ARM table that is linked to on the Installation page was not accurate. I have a raspberry pi 3, which according to that site should use ARMv8. So I installed the v8 build (which doesn't actually say "v8" on it, which was a little confusing), and the service failed to start. After looking at journalctl I saw:

pi@raspberrypi:~ $ journalctl
-- Logs begin at Thu 2016-11-03 10:16:44 PDT, end at Thu 2021-07-01 15:10:02 PDT. --
Nov 03 10:16:44 raspberrypi kernel: Booting Linux on physical CPU 0x0
Nov 03 10:16:44 raspberrypi kernel: Linux version 4.19.66-v7+ (dom@buildbot) (gcc version 4.9.3 (crosstool-NG cro
Nov 03 10:16:44 raspberrypi kernel: CPU: ARMv7 Processor [410fd034] revision 4 (ARMv7), cr=10c5383d

Showing that I have ARMv7 on my raspberry 3. After looking into it, it looks like both Raspberry 3s and 4s can use ARMv7 in some cases.

Suggestion:

So this issue is to see whether you think the website should offer a different method of checking the ARM version. Instead of a website, users should actually look at their system. One method is to run cat /proc/cpuinfo. Anyone know of another good method?

The line in question: https://github.com/navidrome/website/blame/master/content/en/docs/Installation/_index.md#L22

documentation : no import or add song instructions or links

Just did a fresh install of Navidrome : looks great
But there are no buttons or links to import or add songs.
The links visible in the demo system flash on screen and then disappear with a "no content" message.
The documentation does not say how to add a sing/album

Can you help

Hello, what is the easiest way to install on a Windows 11 computer?
I do not know anything about programming.
Thanks

Document Jukebox.AdminOnly

Apparently, a new Jukebox.AdminOnly config bool was recently added, and it defaults to true. This needs to be documented on /docs/usage/jukebox/ and /docs/usage/configuration-options/. So people are not left lost as to why jukebox doesn't work.

(perhaps if the website src lived in the same repo as the code, the keeping up to date of docs could be more smoother)

add nixos to community packages

NixOS packages navidrome and provides a module to enable navidrome as a systemd service.
Link to the documentation is https://search.nixos.org/options?channel=unstable&query=services.navidrome
Navidrome is by default configured to run in a tight systemd sandbox and only listen to localhost, so the user can easily set up a reverse proxy.
See the modules code https://github.com/NixOS/nixpkgs/blob/79a13f1437e149dc7be2d1290c74d378dad60814/nixos/modules/services/audio/navidrome.nix for more details

MacOS installation instructions incomplete

Ensure these are in opt/navidrome folder

•	navidrome — Binary Program File
•	navidrome.log  — Logging Details 
•	navidrome.toml — Custom Configuration

navidrome.log - Blank plain text file (.log)
navidrome.toml - Config options plain text file (.toml)

navidrome.toml Example


LogLevel = 'DEBUG'
ScanSchedule = '@every 24h'
TranscodingCacheSize = '150MiB'

This is path for your music library

MusicFolder = '/Users/USERNAME/Music/Navidrome-Subsonic-client/Music-Library'

This is the path for Navidrome library data

DataFolder = '/Users/USERNAME/Music/Navidrome-Subsonic-client/Navidrome-FIles/Data'

This is the path for Navidrome temporary files

CacheFolder = '/Users/USERNAME/Music/Navidrome-Subsonic-client/Navidrome-FIles/Cache'

This is the default path for Homebrew installed ffmpeg (Ensure actual file not symlink version)

FFmpegPath = '/usr/local/Cellar/ffmpeg/7.0_1/bin/ffmpeg'


Create pList

sudo vim /Library/LaunchAgents/navidrome.plist

Enter pList details from Navidrome


Label navidrome ProgramArguments /opt/navidrome/navidrome -c /opt/navidrome/navidrome.toml RunAtLoad StandardOutPath /opt/navidrome/navidrome.log StandardErrorPath /opt/navidrome/navidrome.log _________________________

To save a file in Vim

Press — Esc
Type — :wq!
Press — Enter

Edit access for the pList file

sudo chmod 644 /Library/LaunchAgents/navidrome.plist


CODE TO RUN AS BACKGROUND SERVICE


Ensure linking to main /Library not ~/Library (active user specific)

Load Service

launchctl load /Library/LaunchAgents/navidrome.plist

#Start the service
launchctl start navidrome

#End the service
launchctl stop navidrome

Unload Service

launchctl unload /Library/LaunchAgents/navidrome.plist


Ensure service is active

Check Local Webservice

http://localhost:4533

Check Launchlist

launchctl list | grep navidrome

Checking the log file

"/opt/navidrome/navidrome.log"

Reuse in other communities - SSO login

It would be interesting to implement SSO so that you can join this project on existing platforms with users already registered, so that the user does not need to make a new registration to use this platform.

Add note to set user and group in systemd unit

The step-by-step instructions for creating a systemd unit for Navidrome are perfect in my opinion. Except for one thing: Create a Systemd Unit should mention once again, that the User and Group configuration values need to be replaced. I see it's mentioned in the introduction, but a) the systemd configuration is so long, that User and Group can be overlooked easily and b) everything is clear without even reading the introduction and c) the introduction speaks of commands, not configuration.

Note that you have to set User and Group here as well.

Issue with Navidrome Installation using Docker

Issue with Navidrome Installation using Docker

Hi,

I've encountered some issues during the installation of Navidrome with Docker following the current documentation. To improve the experience for other users, I suggest the following:

Relative paths: In the docker-compose.yml file, use paths relative to the compose.yml itself to simplify the process and avoid errors.

Environment variables: Include the recommended environment variables in the docker-compose.yml.

User permissions: Using user:1000:1000 causes issues as it does not allow the creation of the /data/cache directory. I had to remove this configuration to make it work properly.

Thank you for your attention.

Best regards,
Andrés Eduardo García Márquez

Add songs or albums within the interface

So first of all, thanks for creating this amazing application!

Since Navidrome uses music that you already have, I was expecting that (admin) users could upload new songs when logged into the Navidrome panel. That would make it usable for me as me and my friends would share an instance and create a useful substantial music library fast.
I could not find information on this were I was expecting it in the demo. Also not though: https://www.navidrome.org/docs/getting-started/

Is this a feature that is in Navidrome? Would be well worth considering I think 😄

Add "Disable User" functionality request.

Hi I hope this is the right forum for this request. If that is not the case, I do apologize.
It will be nice to have a disable user functionality for the admin users. Currently the only option I see is to delete the user.

Deleting a user is fine when you know you want to remove it for good but, sometimes you just want to disable the user for some time and keep the historical info like playlists etc. in case the user is enabled again so that data will still be there.

Is that something that you guys have plans to implement?

Thanks for this great piece of software.

How to transform a Raspberry Pi into a Jukebox using Navidrome in a Docker container?

I'm running deluan/navidrome:latest in a docker container under a Raspberry Pi host.
I enabled jukebox by following the explanation from the page https://www.navidrome.org/docs/usage/jukebox , however it still plays on the client device instead of playing on Rapsberry PI.

In the log I can see:

time="2023-11-30T22:56:32Z" level=info msg="Starting playback server"
time="2023-11-30T22:56:32Z" level=info msg="2 audio devices found"
time="2023-11-30T22:56:32Z" level=info msg="Using audio device: alsa/default:CARD=PianoDACPlus"

Mpv is installed in the docker container and returns correctly the list of audio devices.
mpv --audio-device=help:

List of detected audio devices:
  'auto' (Autoselect device)
  'alsa' (Default (alsa))
  'alsa/default:CARD=ALSA' (bcm2835 ALSA, bcm2835 ALSA/Default Audio Device)
  'alsa/sysdefault:CARD=ALSA' (bcm2835 ALSA, bcm2835 ALSA/Default Audio Device)
  'alsa/default:CARD=PianoDACPlus' (PianoDACPlus, PianoDACPlus multicodec-0/Default Audio Device)
  'alsa/sysdefault:CARD=PianoDACPlus' (PianoDACPlus, PianoDACPlus multicodec-0/Default Audio Device)
  'jack' (Default (jack))
  'sndio' (Default (sndio))

The following are also present in the docker-componse configuration:

group_add:
  - "29" # audio group ID (gid)
devices:
  - "/dev/snd:/dev/snd"

What could be the cause? How can I further debug it?

FAQ : Precision

"For a “Various Artists” compilation, the Part Of Compilation tag (TCMP for id3, COMPILATION for FLAC) must be set, for all tracks."

I suggest you add that the "Album artist" also has to be empty.

Proposing new landing page

New Website

As I was going through the landing page, I noticed some UI bugs such as:
About page contents overflow in mobile view.
Search feature not working correctly.
And also, the website seems old. So I was thinking of developing a new landing page for navidrome.org. The new website will contain all the information that is currently available. If you may allow me to start the development, I will be more than happy to help.

windows installation - Where to put the ffmpeg files?

search the site up and down, read about that I need ffmpeg - but no word about where to put in.
Navidrome shows up "level=warning msg="unable to find ffmpeg. Transcoding will fail if used" error="exec: "ffmpeg": executeable file not found in &PATH"

so first, which is the "PATH" ?
what to write down in Navidrome.toml ?

i create an folder inside the folder Navidrome with ffmpeg inside of it, but how to tell Navidrome to look inside that folder? (btw. folder called ffmpeg)
second try was to copy ffmpeg.exe directly inside the navidrome folder - no luck at all

So please update your Site with an example where to put ffmpeg and what to type in the config file

thank you :-)

Installation for Mac.

I want to check out Navidrome, but I'm not a developer or coder at all, and the instructions kinda assume you know a few things. I can't make heads or tails of what it wants me to do or how to use it.

dark mode

I would like to add dark mode to the website

Documentation on how to use mobile GUI

When I play a song via the web page on a smartphone I only see a floating icon that I can move around. There's no way to switch this into a regular player screen. The only thing I can do is close the icon which stops playback.

In trying to solve the problem I searched for a documentation regarding usage of the Navidrome web page and realized such documentation doesn't seem to exist.

Needs Go and Node.js for source to be build on macOS

During building from source, after brew install taglib and make setup commands, I encountered a few small errors like:

/bin/sh: line 0: hash: go: not found
ERROR: GO environment not setup properly!
make: *** [check_go_env] Error 1

and

/bin/sh: line 0: hash: go: not found
ERROR: Node environment not setup properly!
make: *** [check_go_env] Error 1

so it needs Go (brew install go) and nodejs (brew install nodejs) to be able to build from source on macOS (Ventura at least), so I think it is worth to mention in documentation.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.