Setting Up a Dev Environment
Volumio is designed to be an highly integrated system. This means that the WebUi is optimized to work along with the system, and therefore it needs to run in a very tightly controlled environment.
It is strictly needed to develop on a Raspberry Pi system running a Volumio image, to ensure that every variable is under control. Since it would be too unconfortable to develop directly on the PI, the Volumio Development image is designed to allow coding on everyone's favourite OS and IDE, while accessing files directly on the PI.
- Flash the most recent Volumio Dev Image
- Connect the PI to your network and turn it on
- Find PI's IP address
- Access Volumio files
You have here 2 options:
- Mount Volumio main folder ( /volumio) on your PC using SAMBA:
- On Windows: go to network, shares, you'll find Volumio and its folders. You can edit directly here or mount (or create a shortcut) for convenience.
- On MacOsX: connect via SAMBA by using 'the connect to server' function of Finder. Just use this syntax : smb://VOLUMIOIP
- On Linux: mount the SAMBA share of Volumio, as above.
- Use SFTP with any compatible IDE. Some IDE allow to work on remote files mounted via SFTP (active by default on Volumio).
These are the required connection parameters:
- IP: Volumio's IP
- PORT: 22
- AUTHENTICATION: password
- USER: volumio
- PASSWORD: volumio
- PROJECT FOLDER: /volumio/
- Create a fork of Volumio REPO on your github account.
Just hit "Fork" at top-right corner of Volumio2 Github Page
- Clone your repo to your PI:
git clone https://YOUR REPO URL /volumio/
-
Install Node Modules cd /volumio/ npm install
-
Edit configuration files for SPOP (you'll need a spotify premium account) nano /etc/spopd.conf
You can start spop with:
spopd -c /etc/spopd.conf
-
Have fun developing!
-
Send a Pull request to send your edits in review
- Always test on the PI before committing, you'll save your and other's time
- Write efficient code, it will run on low power devices
- Don't use external modules for simple function
- Adhere to Volumio Team's code style and formatting
- If there is a discussion, be polite