# Accentor ## Overview Modern self-hosted music server focusing on metadata. Provides complete control over your music with detailed metadata beyond what audio file tags support. ## Key Features - **Focus**: Metadata-centric design - **API**: REST (Ruby on Rails) - **Language**: Ruby - **Database**: PostgreSQL - **License**: AGPL-3.0 ## Source | Resource | URL | |----------|-----| | **API Repository** | https://github.com/accentor/api | | **Web Frontend** | https://github.com/accentor/web | | **Android App** | https://github.com/accentor/android | | **Documentation** | https://accentor.tech | ## Metadata Features - Albums can have **multiple artists** with different names per album/track - Albums can have **multiple labels** - Tracks can have **multiple genres** - Complete user control over metadata editing ## Architecture ``` accentor/ ├── api/ # Rails API backend ├── web/ # Vue.js frontend └── android/ # Android app ``` ## Self-Hosting ```bash # Clone and setup git clone https://github.com/accentor/api.git cd api bundle install rails db:setup # Run server (port 3000) puma -C config/puma.rb ``` Use nginx as reverse proxy: - Match `/api` and `/rails` paths → proxy to Puma - Serve web frontend on root ## API Endpoints ```bash GET /api/artists GET /api/artists/:id GET /api/albums GET /api/albums/:id GET /api/tracks GET /api/tracks/:id ``` ## Notes - Designed for users who want precise metadata control - Build your own collection from CDs, Bandcamp, etc. - Sound quality you choose (not compressed by service) - Stream via web or Android app