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.

README.md 3.4KB

reel2bits

Build Status

Example single user instanceMatrix room: #reel2bits:otter.sh

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

Installation

Install PostgreSQL first for the database. MySQL or SQLITE3 are unsupported as we use PostgreSQL specific extensions.
Makes sure that encoding is/will be in UNICODE/UTF-8
git clone http://dev.sigpipe.me/dashie/reel2bits
cd reel2bits
pip3 install --requirement requirements.txt
python3 setup.py install
# Install Pydub dependencies: https://github.com/jiaaro/pydub#dependencies
cp config.py.sample config.py
$EDITOR config.py
export FLASK_ENV=<development or production>
$ create your postgresql database, like 'reel2bits'
$ with the postgresql shell, run using superuser on the reel2bits database:
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
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 : https://github.com/bbc/audiowaveform
And adapt the path to it in config.py

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.

Docker

TODO

Default config

  • App Name: My reel2bits instance

Workers

Run the workers using:

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

Licensing

  • AGPL v3

Others projects inspired from