No description
Find a file
2020-04-01 22:41:48 +10:00
.github Add Github Workflows (#5) 2020-03-29 08:36:14 +10:00
app Improve video id handling in import to be more user friendly 2020-04-01 22:13:02 +10:00
importers Improve video id handling in import to be more user friendly 2020-04-01 22:13:02 +10:00
media Fix default server config and ensure upload and video paths exist 2020-03-29 19:02:52 +10:00
static Fixed UI/UX bug with pressing tab or enter on url input field 2020-03-31 21:26:56 +10:00
templates Fixed a UI/UX bug with pressing enter on the importInput text input in the import screen 2020-03-29 16:31:36 +10:00
tools Migrate to Go111Modules, Add Dockerfile and GoRelaser support 2020-03-21 08:20:16 +10:00
uploads Refactor video uploading in preparation for async transcoding 2020-03-21 22:58:14 +10:00
utils Add support for unlimited timeouts for transcoding and thumbnail generation 2020-03-29 21:11:32 +10:00
videos import code 2019-06-26 14:02:31 -05:00
.dockerignore Symlink .dockerignore to .gitignore 2020-03-29 10:19:58 +10:00
.gitignore Add support for keeping trakc of and viewing no. of views per video 2020-03-25 12:40:00 +10:00
.goreleaser.yml Add brew config for goreleaser 2020-04-01 22:41:48 +10:00
.yamllint.yml Migrate to Go111Modules, Add Dockerfile and GoRelaser support 2020-03-21 08:20:16 +10:00
_config.yml Set theme jekyll-theme-architect 2020-03-23 11:16:49 +10:00
AUTHORS Add AUTHORS file and some other stats to the README 2020-03-25 11:38:11 +10:00
config.json Allow transcoding to smaller sizes a configurable and optional feature 2020-03-31 19:19:58 +10:00
docker-compose.yml Added docker-compose reference stack using Traefik as LB 2020-03-23 16:58:37 +10:00
Dockerfile Added ffmpeg to Docker image 2020-03-22 18:22:36 +10:00
go.mod Add vimeo video importer 2020-03-28 13:11:54 +10:00
go.sum Add vimeo video importer 2020-03-28 13:11:54 +10:00
LICENSE Re-licensed 2020-03-23 16:58:37 +10:00
LICENSE.old Re-licensed 2020-03-23 16:58:37 +10:00
main.go Refactor video uploading in preparation for async transcoding 2020-03-21 22:58:14 +10:00
Makefile Add image target to Makefile 2020-03-30 18:23:18 +10:00
README.md Update README.md 2020-03-29 09:41:22 +10:00
screenshot-1.png Added screenshots to README 2020-03-25 09:35:29 +10:00
screenshot-2.png Added screenshots to README 2020-03-25 09:35:29 +10:00
version.go Migrate to Go111Modules, Add Dockerfile and GoRelaser support 2020-03-21 08:20:16 +10:00

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 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)