Skip to content
📺 a Youtube-like (without censorship and features you don't need!) Video Sharing App written in Go which also supports automatic transcoding to MP4 H.265 AAC, multiple collections and RSS feed
Go CSS JavaScript HTML Makefile Shell Dockerfile
Branch: master
Clone or download
This branch is 89 commits ahead of wybiral:master.

Latest commit

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Add Github Workflows (#5) Mar 28, 2020
app Improve video id handling in import to be more user friendly Apr 1, 2020
importers Improve video id handling in import to be more user friendly Apr 1, 2020
media Fix default server config and ensure upload and video paths exist Mar 29, 2020
static Fixed UI/UX bug with pressing tab or enter on url input field Mar 31, 2020
templates Fixed a UI/UX bug with pressing enter on the importInput text input i… Mar 29, 2020
tools Migrate to Go111Modules, Add Dockerfile and GoRelaser support Mar 20, 2020
uploads Refactor video uploading in preparation for async transcoding Mar 21, 2020
utils Add support for unlimited timeouts for transcoding and thumbnail gene… Mar 29, 2020
videos import code Jun 26, 2019
.dockerignore Symlink .dockerignore to .gitignore Mar 29, 2020
.gitignore Add support for keeping trakc of and viewing no. of views per video Mar 25, 2020
.goreleaser.yml Fix .goreleaser.yml config Apr 1, 2020
.yamllint.yml Migrate to Go111Modules, Add Dockerfile and GoRelaser support Mar 20, 2020
AUTHORS Add AUTHORS file and some other stats to the README Mar 25, 2020
Dockerfile Added ffmpeg to Docker image Mar 22, 2020
LICENSE Re-licensed Mar 23, 2020
LICENSE.old Re-licensed Mar 23, 2020
Makefile Add image target to Makefile Mar 30, 2020
README.md Add Homebrew install instructions Apr 1, 2020
_config.yml Set theme jekyll-theme-architect Mar 23, 2020
config.json Allow transcoding to smaller sizes a configurable and optional feature Mar 31, 2020
docker-compose.yml Added docker-compose reference stack using Traefik as LB Mar 23, 2020
go.mod Add vimeo video importer Mar 28, 2020
go.sum Add vimeo video importer Mar 28, 2020
main.go Refactor video uploading in preparation for async transcoding Mar 21, 2020
screenshot-1.png Added screenshots to README Mar 24, 2020
screenshot-2.png Added screenshots to README Mar 24, 2020
version.go Migrate to Go111Modules, Add Dockerfile and GoRelaser support Mar 20, 2020

README.md

tube

tube is a Youtube-like (without censorship and features you don't need!) Video Sharing App written in Go which also supports automatic transcoding to MP4 H.265 AAC, multiple collections and RSS feed.

Features

  • Easy to add videos (just move a file into the folder)
  • Easy to upload videos (just use the builtin uploader and automatic transcoder!)
  • Builtin ffmpeg-based Transcoder that automatically converts your uploaded content to MP4 H.264 / AAC
  • Builtin automatic thumbnail generator
  • No database (video info pulled from file metadata)
  • No JavaScript (the player UI is entirely HTML, except for the uploader which degrades!))
  • Easy to customize CSS and HTML template
  • Automatically generates RSS feed (at /feed.xml)
  • Clean, simple, familiar UI

Screenshots

screenshot-1 screenshot-2

Getting Started

Using Homebrew

$ brew tap prologic/tube
$ brew install tube
$ tube

Open http://127.0.0.1:8000/ in your Browser!

Using a Binary

  1. Go grab the latest binary from the Releases page for your platform / operating system.
  2. Extract the archive.
  3. Run ./tube

Open http://127.0.0.1:8000/ in your Browser!

Using Docker

$ docker pull prologic/tube
$ docker run -p 8000:8000 -v /path/to/data:/data

Open http://DOCKER_MACHINE_IP:8000/ in your Browser!

Where DOCKER_MACHINE_IP is the IP Address of your Docker Node.

From Source

$ git clone https://github.com/proogic/tube
$ cd tube
$ make
$ ./tube

Open http://127.0.0.1:8000/ in your Browser!

A Production Deployment

A Production Deployment can be found at https://tube.mills.io/ -- This is run and managed via a Docker Swarm cluster with a Docker-Compose / Stack very similiar to the one you can find in the repo: docker-compose.yml

Beyond this a "Production Deployment" is out-of-scope at this time for the documentation being provided here. Please don't hesitate to file an Issue however for ask for help or advice or contact the author directly!

Stargazers over time

Stargazers over time

Support

Support the ongoing development of Tube!

Sponser

Contributors

Thank you to all those that have contributed to this project, battle-tested it, used it in their own projects or products, fixed bugs, improved performance and even fix tiny typos in documentation! Thank you and keep contributing!

You can find an AUTHORS file where we keep a list of contributors to the project. If you contriibute a PR please consider adding your name there. There is also Github's own Contributors statistics.

License

tube source code is available under the MIT License.

Previously based off of tube by davy wybiral . (See LICENSE.old)

You can’t perform that action at this time.