multistream/README.md
File Type: text/plain
# Multistream
*The best way to watch multiple Twitch streams at one time.*
Well, maybe not any more, but I still like it. Simplicity is sometimes the greatest asset a project can have.
This is the code (a Django project) that powers [Multistre.am](https://multistre.am). Please if you find any bugs, [contact me](/who.html) before you hack into the site.
##Setting up your own instance
As of right now Multistream runs on Linux.
### Dependencies
You'll need `pipenv` and `nodejs-less` along with `nodejs-less-plugin-clean-css` (annoyingly, hoping to change this soon)... and I think that's it, since Pipenv will handle the installation of Django & some other Python dependencies.
### Install Pipenv
(via pip, pacman, apt, etc)
`pip install pipenv`
### Pull down the code
`git clone https://obsolete.computer/static/code/multistream/.git`
`cd multistream`
### Build the Pipenv environment and grab dependencies
`pipenv install`
### Edit the .env file with info for your environment
The Twitch API client ID and client secret can be obtained through their [dev console](https://dev.twitch.tv).
`cp env.sample .env && nano .env`
### Create a Sqlite database
`pipenv run ./manage.py migrate`
### Build the frontend CSS
Right now this is the step that requires `nodejs-less` and `nodejs-less-plugin-clean-css` (both in the AUR).
`cd frontend/static`
`lessc --math=strict --clean-css="advanced" multistream.less > multistream.css`
`cd ../..`
### Fire up the dev server
`pipenv run ./manage.py runserver`
## Test/Use/Build!
Point your browser to `http://localhost:8000`. You should be greeted by the familiar stream-picker form. If you try to build a multistream layout, you won't initially see the players & chats load... this is for development. To test out the real thing, set `USE_LIVE_EMBEDS` to `True` in your `.env` file.
The admin url by default is `http://localhost:8000/ms-admin/`. You can create an admin account for your instance with the command `pipenv run ./manage.py createsuperuser`.