Files
metadata-agregator/docs/research/accentor/README.md
T
Alexander a1f6701bac feat: initial implementation of metadata aggregator
- gRPC service with MusicBrainz provider
- PostgreSQL schema with migrations
- Service layer with database-first caching
- Repository pattern for data access
- YAML configuration support
- Research documentation for 17 music metadata projects
2026-04-28 16:28:53 +02:00

74 lines
1.6 KiB
Markdown

# 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