Rauversion is an open-source music platform that empowers artists to share, distribute, and monetize their music directly with fans. Our mission is to provide a transparent and artist-friendly alternative to mainstream streaming services.
Rauversion is built on Ruby on Rails.
- Account system with different providers, Twitter, Discord, Twitch.
- Roles to open or closed communities.
- Audio processing to format mp3 and audio analysis to draw audio peaks.
- Audio player, embeddable, with chunk range loading processing to save bandwidth.
- Music publishing preferences, downloadable, private, attribution settings, like creative commons, all rights reserved.
- Uploads for tracks, albums, and playlists with their meta information.
- Multi-upload provider local or AWS, other providers could be implemented.
- Sellable tracks & albums with Stripe, for connected accounts or main account.
- Tagging tracks, playlists & albums.
- Follow artists
- Make playlists & reposts
- Comments on tracks and albums.
- Event scheduling
- Host & managers
- Ticketing service with QR validation
- Sell event tickets via Stripe or transbank (Chile).
- Use Stripe Connect to ease the payouts.
- Streaming services via Twitch, Zoom, Whereby, Mux, and Stream Yard.
- Attendees event details.
- Public page with ticket checkout for paid or free tickets.
- Articles management publishing: Draft, Public, Listed and partially public.
- Showcase articles on the homepage.
- Text editor based on Dante3
- Cover image.
- Article Categories.
- Sell Music: Physical formats, CD, Vinyls, Casettes.
- Sell Gear: Used gear for trade or Barter.
- Offer services: Different services for professionals.
- Merch: General merch offerings.
- add multiple links from different sources.
- Book the services with clients
- Use Messaging board to coordinate stuff
Rauversion is written in Ruby on top of the Rails Framework:
Ruby 3.3.5
You can develop directly in a container with vscode devcontainer or neovim devcontainer
To start your Rauversion server:
- Install dependencies with
bundle install
- rename
.env.example
to.env
and add your variable configurations - Create and migrate your database with
rails db:setup
- Compile assets
yarn install.
- Start Rails server with
./bin/dev
Now you can visit localhost:3000
from your browser.
- Lame
- FFMPEG
- audiowaveform
- vips
First you will need to copy the .env.example
and rename it to .env you can set & tweak as many vars you want. when you are ready you will need to setup database:
First install dependences:
bundle install
yarn install
Prepare Database:
bundle exec rails db:prepare
There are some ways to start the server, the most straigforward is
./bin/dev
That will start all the process using what is declared in Procfile.dev
including the server, the background workers and the assets precompilation with watchers. This is good for frontend development as change in the assets will trigger a rebuild.
rails s
This will only run server only. No assets precompilation.
The development image expects that youhave a local postgres installation running on localhost with the defaults. you can set some envs to set non default pg:
POSTGRES_USERNAME
POSTGRES_PASSWORD
POSTGRES_HOST
- docker-compose up
- docker compose up --build # will rebuild
- docker-compose build --no-cache # refreshed build
docker compose run --rm rails bin/rails s
- docker compose run --rm rails bash
docker compose down -v # remove containers and volumes