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 c3d59171e0
Bump unidecode from 1.1.0 to 1.1.1 (#72)
2 days ago
.gitea Add ISSUE TEMPLATE 10 months ago
.github/ISSUE_TEMPLATE Update issue templates 7 months ago
activitypub Reformat 5 days ago
controllers Fix tombstones 5 days ago
docs Add description 5 days ago
migrations reformat 5 days ago
static Add map files 7 months ago
templates Move from MIT to AGPL3 4 days ago
tests Add federation master switch 5 days ago
tmp That's ugly 2 years ago
translations Move from MIT to AGPL3 4 days ago
uploads Can upload 2 years ago
.coveragerc Make coverage not cover useless things 2 weeks ago
.dockerignore Add dockerfiles 10 months ago
.drone.yml Restrict more the CI 2 months ago
.gitignore mmmh tests, always love them 3 months ago
.isort.cfg Can show the right follow link; Formatting 10 months ago
.pre-commit-config.yaml Add some things for dev 10 months ago
.python-version Add .python-version; Switch to own fork of little-boxes until PR got merged 5 months ago
Dockerfile-web Move from MIT to AGPL3 4 days ago
Dockerfile-worker Move from MIT to AGPL3 4 days ago
LICENSE Move from MIT to AGPL3 4 days ago
README.md Move from MIT to AGPL3 4 days ago
TODO.md Ugly workaround but it works 5 days ago
TRANSLATION-NOTES.txt Add a bunch of gettext; Update catalogs and French translation 10 months ago
app.py Remove debug line; Fix gettext 5 days ago
babel.cfg Update french translation 2 years ago
config.py.sample Fix some things 5 days ago
dbseed.py Can show the right follow link; Formatting 10 months ago
entrypoint.sh Add dockerfiles 10 months ago
forms.py Fix some things 5 days ago
messages.pot Move from MIT to AGPL3 4 days ago
models.py Still not working update 5 days ago
pyproject.toml Fix black formatter doing crap 8 months ago
requirements.txt Bump unidecode from 1.1.0 to 1.1.1 3 days ago
setup.cfg Can show the right follow link; Formatting 10 months ago
setup.py Move from MIT to AGPL3 4 days ago
shelltools.py User now have an actor; Returns Actor json via Accept: header 10 months ago
tasks.py Reformat 5 days ago
transcoding_utils.py Audio waveform and png are now generated from a temp dat file to avoid processing it twice 2 months ago
utils.py Use right path for png waveforms, without double extension 2 months ago
version.py Fix VERSION 10 months ago

README.md

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