Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added working docker configuration, fixed a requirement, added strict… #703

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
.git
.dockerignore
.env
env
venv

16 changes: 9 additions & 7 deletions .sampleenv
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
# Django settings
SECRET_KEY=dUmMy_s3cR3t_k3y
#DB_ENGINE=mysql
#DB_NAME=yaksh
#DB_USER=root
#DB_PASSWORD=root
#DB_HOST=yaksh-db
#DB_PORT=3306
DEBUG=TRUE
#ALLOWED_URLS=
DB_ENGINE=mysql
DB_NAME=yaksh
DB_USER=root
DB_PASSWORD=root
DB_HOST=yaksh-db
DB_PORT=3306
# Yaksh settings
N_CODE_SERVERS=5
#SERVER_POOL_PORT=53579
SERVER_POOL_PORT=55555
#SERVER_HOST_NAME=http://yaksh-codeserver
#SERVER_TIMEOUT=4
18 changes: 10 additions & 8 deletions docker/Dockerfile_codeserver
Original file line number Diff line number Diff line change
@@ -1,20 +1,22 @@
FROM ubuntu:16.04
FROM centos:latest

MAINTAINER FOSSEE <[email protected]>

RUN apt-get update && \
apt-get install git python3-pip libmysqlclient-dev sudo default-jre default-jdk -y
RUN yum update -y && \
yum install git python3-pip mariadb-devel sudo java-1.8.0-openjdk java-1.8.0-openjdk-devel gcc make python3-devel -y

VOLUME /Sites/online_test
RUN mkdir -p /Sites/online_test

ADD Files/requirements-* /tmp/
COPY . /Sites/online_test

RUN pip3 install -r /tmp/requirements-codeserver.txt && mkdir -p /Sites/online_test/yaksh_data/output /Sites/online_test/yaksh_data/data
RUN pip3 install -r /Sites/online_test/requirements/requirements-codeserver.txt

COPY docker/Files/Start-codeserver.sh /Sites

WORKDIR /Sites/online_test

ADD Files/Start-codeserver.sh /Sites
RUN mkdir -p yaksh_data/output yaksh_data/data

EXPOSE 53579
EXPOSE 55555

CMD [ "/bin/bash" , "/Sites/Start-codeserver.sh" ]
18 changes: 10 additions & 8 deletions docker/Dockerfile_django
Original file line number Diff line number Diff line change
@@ -1,23 +1,25 @@
FROM ubuntu:16.04
FROM centos:latest

MAINTAINER FOSSEE <[email protected]>

RUN apt-get update -y && apt-get install git python3-pip vim libmysqlclient-dev sudo -y
RUN dnf update -y && yum install epel-release python3-devel git python3-pip vim mariadb-devel sudo -y

RUN apt-get install apache2 libapache2-mod-wsgi-py3 python3-django -y && mkdir -p /Sites/online_test
RUN yum install mod_wsgi httpd gcc make -y

VOLUME /Sites/online_test
RUN mkdir -p /Sites/online_test

ADD Files/requirements-* /tmp/
COPY . /Sites/online_test

RUN cd /Sites/online_test && pip3 install -r /tmp/requirements-py3.txt
RUN pip3 install -r /Sites/online_test/requirements/requirements-production.txt

ADD Files/000-default.conf /etc/apache2/sites-enabled/
COPY docker/Files/000-default.conf /etc/httpd/conf.d

ADD Files/Docker-script.sh /Sites/Docker-script.sh
COPY docker/Files/Docker-script.sh /Sites/Docker-script.sh

EXPOSE 80

WORKDIR /Sites/online_test

RUN mkdir -p yaksh_data/output yaksh_data/data

CMD [ "/bin/bash" , "/Sites/Docker-script.sh" ]
4 changes: 2 additions & 2 deletions docker/Files/000-default.conf
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@
Allow from all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ErrorLog /var/log/error.log
CustomLog /var/log/access.log combined
</VirtualHost>
6 changes: 3 additions & 3 deletions docker/Files/Docker-script.sh
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/bash
chown -R www-data /Sites/online_test
chown -R www-data /Sites/online_test/yaksh
chown -R apache /Sites/online_test
chown -R apache /Sites/online_test/yaksh
chown -R nobody /Sites/online_test/yaksh_data
chmod -R 664 /Sites/online_test
chmod -R +X /Sites
/usr/sbin/apache2ctl -D FOREGROUND
/usr/sbin/httpd -D FOREGROUND
9 changes: 5 additions & 4 deletions docker/Files/Start-codeserver.sh
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
#!/bin/bash
chown -R nobody /Sites/online_test/yaksh_data
chmod -R a+rwX yaksh_data/output
chmod -R a+rX yaksh_data/data
chmod -R o-w yaksh_data/data
#mkdir /Sites/online_test/yaksh_data && mkdir -p /Sites/online_test/yaksh_data/output /Sites/online_test/yaksh_data/data
chown -R nobody:nobody /Sites/online_test/yaksh_data
chmod -R a+rwX /Sites/online_test/yaksh_data/output
chmod -R a+rX /Sites/online_test/yaksh_data/data
chmod -R o-w /Sites/online_test/yaksh_data/data
/usr/bin/sudo -su nobody python3 -m yaksh.code_server
23 changes: 12 additions & 11 deletions docker/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@ version: '2'
services:
yaksh-django:
build:
context: .
dockerfile: Dockerfile_django
context: ..
dockerfile: docker/Dockerfile_django
image: yaksh.django
container_name: yaksh_django
volumes:
- ../.:/Sites/online_test
env_file:
- docker.env
depends_on:
- yaksh-db
- yaksh-codeserver
Expand All @@ -18,24 +18,25 @@ services:
- 8000:80
restart: always


yaksh-codeserver:
build:
context: .
dockerfile: Dockerfile_codeserver
context: ..
dockerfile: docker/Dockerfile_codeserver
image: yaksh.codeserver
container_name: yaksh_codeserver
volumes:
- ..:/Sites/online_test
env_file:
- docker.env
restart: always


yaksh-db:
image: mariadb:10.2
container_name: yaksh_db
volumes:
- ./mysql:/var/lib/mysql
- mysql:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: yaksh
restart: always

volumes:
mysql:
15 changes: 15 additions & 0 deletions docker/docker.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Django settings
SECRET_KEY=dUmMy_s3cR3t_k3y
DEBUG=TRUE
#ALLOWED_URLS=*
DB_ENGINE=mysql
DB_NAME=yaksh
DB_USER=root
DB_PASSWORD=root
DB_HOST=yaksh-db
DB_PORT=3306
# Yaksh settings
N_CODE_SERVERS=5
SERVER_POOL_PORT=55555
SERVER_HOST_NAME=http://yaksh-codeserver
SERVER_TIMEOUT=4
14 changes: 6 additions & 8 deletions online_test/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@
SECRET_KEY = config('SECRET_KEY', default='dUmMy_s3cR3t_k3y')

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
DEBUG = config('DEBUG', default='TRUE')

ALLOWED_HOSTS = []
ALLOWED_HOSTS = config('ALLOWED_URLS', default='localhost')

URL_ROOT = ''

Expand Down Expand Up @@ -77,12 +77,10 @@
# https://docs.djangoproject.com/en/1.6/ref/settings/#databases
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.{0}'.format(
config('DB_ENGINE', default='sqlite3')
),
'NAME': config('DB_NAME',
default=os.path.join(BASE_DIR, 'db.sqlite3')
),
'ENGINE': 'django.db.backends.{0}'.format(config('DB_ENGINE',
default='sqlite3')),
'NAME': config('DB_NAME', default=os.path.join(BASE_DIR,
'db.sqlite3')),
# The following settings are not used with sqlite3:
'USER': config('DB_USER', default=''),
'PASSWORD': config('DB_PASSWORD', default=''),
Expand Down