Coder Social home page Coder Social logo

kuzgun.io's Introduction

kuzgun.io

Dockerized online streaming software.

Build Status Coverage Status

๐Ÿ“ Feature roadmap

Installation

kuzgun.io is designed to be run on your server effortlessly. Only thing you have to do install Docker on your server to build and run kuzgun.io.

Contents:

Running on Ubuntu 16.04

Pre-requisites

  • Ubuntu 16.04
  • Docker
  • At least 1GB memory. (swap can be used)
  • At least 5GB disk space. (make sure you have enough space to download things)

Setup

First, let's update and upgrade our packages. Also you have to install software-properties-common

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install -y software-properties-common

Add the GPG key for the official Docker repository to the system:

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

Add the Docker repository to APT sources:

$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
$ sudo apt-get update

Make sure you are about to install from the Docker repo instead of the default Ubuntu 16.04 repo:

$ apt-cache policy docker-ce

Now you're ready to install Docker.

$ sudo apt-get install -y docker-ce

Hang on, this is the final step for Docker installation. Download docker-compose. Phew! You should specify the latest version of docker-compose.

$ export DOCKER_COMPOSE_VERSION=1.15.0
$ sudo curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

Apply executable permissions to the binary:

$ sudo chmod +x /usr/local/bin/docker-compose

Finally, now we are ready to download kuzgun.io on our server.

$ curl -L https://github.com/yigitgenc/kuzgun.io/archive/master.zip -o kuzgun.io.zip
$ unzip kuzgun.io.zip

If you don't have unzip; install it by doing $ sudo apt-get install -y unzip.

Go to project's root by doing cd kuzgun.io and create your .env file:

$ echo "
# Make it hard to guess by someone else and keep it secret. You can generate 
# your secret key by using this link: https://www.miniwebtool.com/django-secret-key-generator/
SECRET_KEY=VerySecretKey
# Set your timezone. More information: 
# https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
TZ=Europe/Istanbul
" > .env

Go build and run the following commands respectively:

$ sudo docker-compose build
$ sudo docker-compose up -d
$ sudo docker-compose run --rm app python manage.py migrate
$ sudo docker-compose run --rm app python manage.py collectstatic --noinput

Create your superuser and get your credentials.

$ sudo docker-compose run --rm app python manage.py createsuperuser
$ Username: yourusername
$ Email address: [email protected]
$ Password: yourpassword
$ Password (again): yourpassword

You're all set! Go and login to the web app on the browser to start using kuzgun.io immediately: http://your_server_ip or http://yourdomainname.com

Running on your computer

Installing

Get Docker first:

And clone the repo by using git:

$ git clone [email protected]:yigitgenc/kuzgun.io.git
$ cd kuzgun.io/
$ git lfs pull  # This is required to run tests.

Running

To build and run kuzgun.io, go to project's root directory and run the following commands respectively:

$ sudo docker-compose build
$ sudo docker-compose up -d
$ sudo docker-compose run --rm app python manage.py migrate
$ sudo docker-compose run --rm app python manage.py collectstatic --noinput

Debugging

$ docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d

Tests

$ docker-compose -f docker-compose.yml -f docker-compose.dev.yml run --rm --user='app' app coverage run manage.py test --verbosity=2

If you are running tests as a root user in your host; specify --user='root' argument to the docker-compose run command.

Coverage report will be generated in htmlcov directory.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.