From 947a68442a77bcf957c24260f27c413ba921890e Mon Sep 17 00:00:00 2001 From: Miguel Ángel Moreno Date: Sun, 18 Feb 2024 17:58:24 +0100 Subject: chore: correctly export README to .github --- .github/README.md | 153 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 152 insertions(+), 1 deletion(-) mode change 120000 => 100644 .github/README.md (limited to '.github/README.md') diff --git a/.github/README.md b/.github/README.md deleted file mode 120000 index 4ed0bf0..0000000 --- a/.github/README.md +++ /dev/null @@ -1 +0,0 @@ -/home/vega/src/projects/tubo/README.md \ No newline at end of file diff --git a/.github/README.md b/.github/README.md new file mode 100644 index 0000000..1906bb1 --- /dev/null +++ b/.github/README.md @@ -0,0 +1,152 @@ + + +# Tubo + +Tubo is a streaming front-end focused on bringing the [NewPipe](https://github.com/TeamNewPipe/NewPipe) experience to the web. It aims at providing a clean and simple user interface to consume media from your favorite streaming platforms. It currently supports the same services as NewPipe, including YouTube, SoundCloud, Bandcamp, and more. + +To retrieve the data, it wraps the excellent [NewPipe Extractor](https://github.com/TeamNewPipe/NewPipeExtractor) library and it exposes the extracted data over a REST API that is consumed by a local re-frame SPA. + + +## Features + +- [X] No ads +- [X] Audio player +- [X] Media queue +- [X] Playlists +- [X] Settings +- [ ] Subscriptions +- [ ] User login + + +## Instances + + + + +++ ++ + + + + + + + + + + + + + +
URLCountry
https://tubo.migalmoreno.com (Official)🇪🇸
+ +If you consider self-hosting Tubo let me know about your instance via the [contribution methods](#orgd79ed13). See [installation](#orgfb29fa4) for ways to set up Tubo in your server. + + +## Installation + + +### Packaging + +- Uberjar + + To bundle the whole project into a self-contained uber-jar you need to follow these build steps: + + npm i + npm run build + clojure -T:frontend:build uberjar + + After the last command is completed, you'll get a path to the uber-jar, which you can run like this: + + java -jar target/tubo-.jar + +- Docker + + Alternatively, you can use Docker to set up Tubo. Simply invoke this: + + docker-compose up -d + +- Manual + + You can also set up Tubo manually via the [GNU Guix](https://guix.gnu.org/) package manager. First, download the necessary tooling: + + cd /path/to/tubo + guix shell + + Then, compile the downloader ahead-of-time: + + clojure -M -e "(compile 'tubo.downloader-impl)" + + Fetch the front-end dependencies and build the front-end assets. + + npm i + npm run build + + Finally, compile the front-end. + + clojure -M:frontend release tubo + + You can now start a local server that listens on port 3000 by running this: + + clojure -M:run + + Access the front-end in your browser at `http://localhost:3000`. + + +### Reverse Proxy + +If you want to self-host Tubo and make it publicly accessible you'll need to set up a reverse proxy. + +- Nginx + + server { + listen 443 ssl http2; + server_name tubo.; + ssl_certificate /etc/letsencrypt/live/tubo./fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/tubo./privkey.pem; + + location / { + proxy_pass http://localhost:3000; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header HOST $http_host; + } + } + + +## Screenshots + + + + +++ ++ ++ + + + + + + + + + + + + + + + +
KioskChannelStream
tubo_kiosk.jpgtubo_channel.jpgtubo_stream.jpg
+ + +## Contributing + +Feel free to open an issue with bug reports or feature requests. PRs are more than welcome too. + -- cgit v1.2.3