Something something like soundcloud but not like soundcloud.
Log in, upload records, done.
Simple, easy, KISS.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Dashie der otter 85e737fb13
Add description
1 year ago
.gitea Add ISSUE TEMPLATE 2 years ago
.github/ISSUE_TEMPLATE Update issue templates 1 year ago
activitypub reformat 1 year ago
controllers Add description 1 year ago
docs Add description 1 year ago
migrations reformat 1 year ago
static Add map files 1 year ago
templates Add missing translation 1 year ago
tests Add federation master switch 1 year ago
tmp That's ugly 3 years ago
translations aaaa 1 year ago
uploads Can upload 3 years ago
.coveragerc Make coverage not cover useless things 1 year ago
.dockerignore Add dockerfiles 2 years ago
.drone.yml Restrict more the CI 1 year ago
.gitignore mmmh tests, always love them 1 year ago
.isort.cfg Can show the right follow link; Formatting 2 years ago
.pre-commit-config.yaml Add some things for dev 2 years ago
.python-version Add .python-version; Switch to own fork of little-boxes until PR got merged 1 year ago
Dockerfile-web HAHAAHSadhjsadhsakdhsafkds 2 years ago
Dockerfile-worker Fix docker and readme celery command 1 year ago
LICENSE Add LICENSE file 2 years ago Fix image 1 year ago Update todo 1 year ago
TRANSLATION-NOTES.txt Add a bunch of gettext; Update catalogs and French translation 2 years ago pep 1 year ago
babel.cfg Update french translation 3 years ago Add federation master switch 1 year ago Can show the right follow link; Formatting 2 years ago Add dockerfiles 2 years ago Show description of song upload on upload 1 year ago
messages.pot aaaa 1 year ago Delete might work; Should be tested 1 year ago
pyproject.toml Fix black formatter doing crap 1 year ago
requirements.txt Bump bcrypt from 3.1.6 to 3.1.7 1 year ago
setup.cfg Can show the right follow link; Formatting 2 years ago Started redesign from bootstrap3 to bootstrap4 1 year ago User now have an actor; Returns Actor json via Accept: header 2 years ago Add more broken code to test 1 year ago Audio waveform and png are now generated from a temp dat file to avoid processing it twice 1 year ago Use right path for png waveforms, without double extension 1 year ago Fix VERSION 1 year ago


Build Status

Example single user instanceMatrix room:

Reel2bits is a soundcloud-like self-hosted application. You can upload audio files and they get transcoded, and also compile them into albums.

ActivityPub federation is still a work in progress, everything else works.

Versions requirement


Install a BDD (mysql is supported, SQLite maybe, PostgreSQL should be)
Makes sure that encoding is/will be in UNICODE/UTF-8
git clone
cd reel2bits
pip3 install --requirement requirements.txt
python3 install
# Install Pydub dependencies:
export FLASK_ENV=<development or production>
$ create your postgresql database, like 'reel2bits'
$ with the postgresql shell, run using superuser on the reel2bits database:
flask db upgrade
flask seed
flask run
Don't forget to update default Config by getting to "Your user" (top right) then "Config"

Also install this tool :
And adapt the path to it in

Creating an user

If you have enabled registration in config, the first user registered will be ADMIN !

Or if you have disabled registration, use the flask createuser command to create an user.

Production running

sudo easy_install3 virtualenv
sudo su - reel2bits
cd reel2bits

>> install -> git part

virtualenv -p /usr/bin/python3 venv
or if python 3.6 from github repo:
virtualenv -ppython3.6 venv

source venv/bin/activate
>> get back to install part

pip install waitress

# If you want SENTRY support (also add related things in config)
pip install sentry-sdk[flask]

Copy systemd services files docs/reel2bits-*.service to /etc/systemd/system/ and adapt them to your setup.

systemctl enable reel2bits-web reel2bits-worker
systemctl start reel2bits-web reel2bits-worker

Use docs/reel2bits.nginx as vhost template for X-Accel-Redirect part.



Default config

  • App Name: My reel2bits instance


Run the workers using:

$ celery worker -A tasks.celery --loglevel=error


  • MIT License

Others projects inspired from