Something something like soundcloud but not like soundcloud.
Log in, upload records, done.
Simple, easy, KISS.
https://sound.otter.sh/
Dashie der otter e1a64201e1 i18n 3 days ago
.gitea Add ISSUE TEMPLATE 2 weeks ago
activitypub Can show the right follow link; Formatting 4 days ago
controllers Users can now have a Display name 3 days ago
migrations Users can now have a Display name 3 days ago
static Starting to implement user search, local and webfinger 1 week ago
templates i18n 3 days ago
tests ahhhhhh 4 days ago
tmp That's ugly 1 year ago
translations Add a bunch of gettext; Update catalogs and French translation 5 days ago
uploads Can upload 1 year ago
.coveragerc Add coverage to pytest 6 days ago
.dockerignore Add dockerfiles 2 weeks ago
.drone.yml Black formatting 5 days ago
.gitignore Add coverage to pytest 6 days ago
.isort.cfg Can show the right follow link; Formatting 4 days ago
.pre-commit-config.yaml Add some things for dev 5 days ago
Dockerfile-web HAHAAHSadhjsadhsakdhsafkds 2 weeks ago
Dockerfile-worker whoops mistake 2 weeks ago
LICENSE Add LICENSE file 2 weeks ago
README.md Black formatting 5 days ago
TRANSLATION-NOTES.txt Add a bunch of gettext; Update catalogs and French translation 5 days ago
app.py Can show the right follow link; Formatting 4 days ago
babel.cfg Update french translation 1 year ago
config.py.sample Add a Little Boxes Backend, even if it's absolutely 100% useless for now 2 weeks ago
dbseed.py Can show the right follow link; Formatting 4 days ago
entrypoint.sh Add dockerfiles 2 weeks ago
forms.py Users can now have a Display name 3 days ago
messages.pot Add a bunch of gettext; Update catalogs and French translation 5 days ago
models.py Users can now have a Display name 3 days ago
pyproject.toml Can show the right follow link; Formatting 4 days ago
requirements.txt add missing dependencies 2 weeks ago
setup.cfg Can show the right follow link; Formatting 4 days ago
setup.py Black formatting 5 days ago
shelltools.py User now have an actor; Returns Actor json via Accept: header 2 weeks ago
utils.py Can show the right follow link; Formatting 4 days ago
workers.py Can show the right follow link; Formatting 4 days ago

README.md

Reel2Bits

Build Status

Versions requirement

  • Python >= 3.6 (all under 3.6 are not supported)

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
git submodule init
git submodule update
pip3 install --requirement requirements.txt  # if present
# 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 dbseed
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

TODO

Docker

TODO

Default config

  • App Name: My reel2bits instance

Workers

Run the workers using:

$ dramatiq workers -Q <queue name>

See also ‘dramatiq --help’ for all config (threads etc.) infos

List of queues and descriptions:

  • upload_workflow : handle metadatas and transcoding after upload

TODO

  • Transcode and serve FLAC as MP3 CBR (HTML5 doesn’t support FLAC)
  • Transcode only for waveform OGG to MP3 CBR (audiowaveform doesn’t support OGG)
  • ActivityPub support is near zero; Only incoming following is handled, and it doesn’t works with most of the other AP softwares….

Licensing

  • MIT License

Others projects inspired from