Soundcloud-like but simple, easy and KISS (and ActivityPub).
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitea
.github/ISSUE_TEMPLATE
activitypub
controllers
docs
migrations
static
templates
tests
tmp
translations
uploads
.coveragerc
.dockerignore
.drone.yml
.gitignore
.isort.cfg
.pre-commit-config.yaml
Dockerfile-web
Dockerfile-worker
LICENSE
README.md
TODO.org
TRANSLATION-NOTES.txt
app.py
babel.cfg
config.py.sample
dbseed.py
entrypoint.sh
forms.py
messages.pot
models.py
pyproject.toml
requirements.txt
setup.cfg
setup.py
shelltools.py
tasks.py
transcoding_utils.py
utils.py
version.py

README.md

Reel2Bits

Build Status Code style: black

Versions requirement

Installation

Install a BDD (mysql is supported, SQLite maybe, PostgreSQL should be)
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

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

TODO

  • Better handle transcoding and waveform generation for FLAC and OGG (audiowaveform should use the transcoded mp3 file)
  • ActivityPub support is near zero
  • Tests and create_app() better refactoring
  • Design needs improvements

Licensing

  • MIT License

Others projects inspired from