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.
Marcin Mikołajczak 0334f4b139 i18n: Add Polish translation 10 months ago
.gitea Add ISSUE TEMPLATE 10 months ago
activitypub You can't imagine how painful all this was to implement JUST THAT 10 months ago
controllers Catch Invalid URL exception 10 months ago
migrations Use the same ActivityPub logic as microblog.pub and add our own logic-glue; Can save incoming Activities and Actors 10 months ago
static Starting to implement user search, local and webfinger 10 months ago
templates Starting to implement user search, local and webfinger 10 months ago
tests PEP8 10 months ago
tmp That's ugly 2 years ago
translations i18n: Add Polish translation 10 months ago
uploads Can upload 2 years ago
.dockerignore Add dockerfiles 10 months ago
.drone.yml Add dockerfiles 10 months ago
.gitignore User now have an actor; Returns Actor json via Accept: header 10 months ago
Dockerfile-web HAHAAHSadhjsadhsakdhsafkds 10 months ago
Dockerfile-worker whoops mistake 10 months ago
LICENSE Add LICENSE file 10 months ago
README.md ActivityPain support 10 months ago
app.py Starting to implement user search, local and webfinger 10 months ago
babel.cfg Update french translation 2 years ago
config.py.sample Add a Little Boxes Backend, even if it's absolutely 100% useless for now 10 months ago
dbseed.py DB Seed no more seed user; Add more tests; Refactoring a bit 10 months ago
entrypoint.sh Add dockerfiles 10 months ago
forms.py Set label for blank selector 10 months ago
messages.pot i18n: Add Polish translation 10 months ago
models.py You can't imagine how painful all this was to implement JUST THAT 10 months ago
notes-translation.txt Some fixes; lazy gettext switch 10 months ago
requirements.txt add missing dependencies 10 months ago
setup.cfg DB Seed no more seed user; Add more tests; Refactoring a bit 10 months ago
setup.py Add tests for WebFinger and nodeinfo 10 months ago
shelltools.py User now have an actor; Returns Actor json via Accept: header 10 months ago
utils.py DB Seed no more seed user; Add more tests; Refactoring a bit 10 months ago
workers.py Properly show download links; Fix transcode_needed state 10 months 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