Dev Apps Portal
This is a Python 2.7 Flask based web app that provides users with an easy central location to discover internal BitTorrent corporate tools.
It also provides news as to the latest changes in those tools.
Requires MongoDB, as well as the pip libraries listed in requirements.txt. VirtualEnv is recommended.
Before running, set the DEVAPPS_PORTAL_SETTINGS environment variable to point to the path of a configuration file. See dev.cfg or prod.cfg for examples.
In the cfg file, you'll need to configure the settings for connecting to your MongoDB instance, set a list of email addresses to be treated as administrators, and set a domain that will restrict logins. Administrators are able to approve new links to show on the portal. Auth is done through google federated login, and needs a google application to be created, then plugged in to the cfg.
Running using Docker
(Note: this entire process has been learned using Mac OS X and Homebrew. If you're not using those tools, you're gonna have to do some exploring of your own)
Docker is a system for running containers (::processes) from images (::binaries). You build an image, then tell Docker how to run it, which makes a container. The container may be linked to other running containers.
Docker has commands for seeing what images you have available on your Docker host (
docker images) and seeing what containers have been started from those images (
docker ps -a).
First, install boot2docker and docker itself using Homebrew:
brew install docker boot2docker
Next, start up the VM that will be running the docker host:
boot2docker up. You are now the proud owner of a running Docker host. It works pretty much just like a vagrant VM;
boot2docker destroy, all the commands you'd expect. Just
boot2dockerfor extended usage.
Now, start up the Mongo container:
./run_mongo.sh- This will (download? and) start a docker container running your mongo instance. You won't need to do this again unless you kill your mongo container, which is outside the scope of this quickstart.
Now, the build / test / debug cycle: build the app image with
./build_image.sh, and run it with
You'll need to set up port forwarding from your VirtualBox VM; I just map port 5000 straight through to localhost. This
way, the app will be exposed on http://localhost:5000