Commit 5ab23907 by Sofiya Semenova

Added MakeFile and docker compose file to run VEDA locally.

parent 05c4822d
http-shell:
docker exec -it veda.http /bin/bash
up:
docker-compose up -d
down:
docker stop veda.rabbitmq veda.http veda.encode veda.pipeline veda.deliver
docker rm veda.rabbitmq veda.http veda.encode veda.pipeline veda.deliver
## Running VEDA locally using docker
This directory is the current state of the work to docker-ize VEDA so it can be run locally.
## Setup to run
The [edx-video-pipeline](http://github.com/edx/edx-video-pipeline), [edx-video-worker](github.com/edx/edx-video-worker), and [v_videocompile](http://github.com/yro/v_videocompile) should all be downloaded in one directory and an environment variable ```VEDA_WORKSPACE``` set to point to the directory:
```
export VEDA_WORKSPACE=/Users/sofiyasemenova/veda
```
### Images
The images can be found on docker hub:
- [Http](https://hub.docker.com/r/ssemenova/veda-http/)
- [Pipeline](https://hub.docker.com/r/ssemenova/veda-pipeline/)
- [Deliver](https://hub.docker.com/r/ssemenova/veda-deliver/)
- [Encode](https://hub.docker.com/r/ssemenova/veda-encode/)
- [Rabbit MQ](https://hub.docker.com/r/ssemenova/veda-rabbitmq/)
## Work to be done
This is probably not an exhaustive list:
- The http endpoint works, but work needs to be done to connect all the containers together and have them speak over local ports instead of calling ec2 containers.
- The database settings file contains the right database configuration, but we need to actually make sure the database works and is set up locally.
- I have done very little with the Rabbit MQ container. The image is based off the base veda docker image, but has nothing rabbit-specific. I'm not sure about what work needs to be done here.
version: "0.1"
services:
rabbitmq:
image: "veda-rabbitmq"
container_name: "veda.rabbitmq"
volumes:
- ${VEDA_WORKSPACE}/rabbitmq:/rabbitmq
tty: true
pipeline:
image: "veda-pipeline"
container_name: "veda.pipeline"
volumes:
- ${VEDA_WORKSPACE}/edx-video-pipeline:/edx-video-pipeline
tty: true
http:
image: "veda-http"
command: bash -c 'cd /edx-video-pipeline/; python manage.py runserver 0.0.0.0:8000 --settings=VEDA.settings.local'
container_name: "veda.http"
volumes:
- ${VEDA_WORKSPACE}/edx-video-pipeline:/edx-video-pipeline
ports:
- "8000:8000"
tty: true
stdin_open: true
encode:
image: "veda-encode"
container_name: "veda.encode"
volumes:
- ${VEDA_WORKSPACE}/edx-video-worker:/edx-video-worker
tty: true
deliver:
image: "veda-deliver"
container_name: "veda.deliver"
volumes:
- ${VEDA_WORKSPACE}/edx-video-pipeline:/edx-video-worker
tty: true
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
# --- # ---
# Database information # Database information
# --- # ---
# PRODUCTION
DATABASES: DATABASES:
default: default:
ENGINE: django.db.backends.sqlite3 ENGINE: django.db.backends.sqlite3
...@@ -13,6 +14,13 @@ FERNET_KEYS: ["a_random_string"] ...@@ -13,6 +14,13 @@ FERNET_KEYS: ["a_random_string"]
debug: True debug: True
# LOCAL DOCKER
# default:
# ENGINE: 'django.db.backends.sqlite3'
# NAME: 'veda-docker'
# HOST: 'localhost'
# PORT: 3306
# Frontend S3 Auth # Frontend S3 Auth
veda_secret_access_key: A_RANDOM_STRING veda_secret_access_key: A_RANDOM_STRING
veda_access_key_id: A_RANDOM_STRING veda_access_key_id: A_RANDOM_STRING
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment