Skip to content

Commit eec3043

Browse files
committed
Added working docker configuration, fixed a requirement
1 parent 833b96a commit eec3043

File tree

11 files changed

+78
-53
lines changed

11 files changed

+78
-53
lines changed

.dockerignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
.git
2+
.dockerignore
3+
.env
4+
env
5+
venv
6+

.sampleenv

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
# Django settings
22
SECRET_KEY=dUmMy_s3cR3t_k3y
3-
#DB_ENGINE=mysql
4-
#DB_NAME=yaksh
5-
#DB_USER=root
6-
#DB_PASSWORD=root
7-
#DB_HOST=yaksh-db
8-
#DB_PORT=3306
3+
DEBUG=TRUE
4+
ALLOWED_URLS=*
5+
DB_ENGINE=mysql
6+
DB_NAME=yaksh
7+
DB_USER=root
8+
DB_PASSWORD=root
9+
DB_HOST=yaksh-db
10+
DB_PORT=3306
911
# Yaksh settings
1012
N_CODE_SERVERS=5
11-
#SERVER_POOL_PORT=53579
13+
SERVER_POOL_PORT=55555
1214
#SERVER_HOST_NAME=http://yaksh-codeserver
1315
#SERVER_TIMEOUT=4

docker/Dockerfile_codeserver

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,22 @@
1-
FROM ubuntu:16.04
1+
FROM centos:latest
22

33
MAINTAINER FOSSEE <pythonsupport@fossee.in>
44

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

8-
VOLUME /Sites/online_test
8+
RUN mkdir -p /Sites/online_test
99

10-
ADD Files/requirements-* /tmp/
10+
COPY . /Sites/online_test
1111

12-
RUN pip3 install -r /tmp/requirements-codeserver.txt && mkdir -p /Sites/online_test/yaksh_data/output /Sites/online_test/yaksh_data/data
12+
RUN pip3 install -r /Sites/online_test/requirements/requirements-codeserver.txt
13+
14+
COPY docker/Files/Start-codeserver.sh /Sites
1315

1416
WORKDIR /Sites/online_test
1517

16-
ADD Files/Start-codeserver.sh /Sites
18+
RUN mkdir -p yaksh_data/output yaksh_data/data
1719

18-
EXPOSE 53579
20+
EXPOSE 55555
1921

2022
CMD [ "/bin/bash" , "/Sites/Start-codeserver.sh" ]

docker/Dockerfile_django

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,25 @@
1-
FROM ubuntu:16.04
1+
FROM centos:latest
22

33
MAINTAINER FOSSEE <pythonsupport@fossee.in>
44

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

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

9-
VOLUME /Sites/online_test
9+
RUN mkdir -p /Sites/online_test
1010

11-
ADD Files/requirements-* /tmp/
11+
COPY . /Sites/online_test
1212

13-
RUN cd /Sites/online_test && pip3 install -r /tmp/requirements-py3.txt
13+
RUN pip3 install -r /Sites/online_test/requirements/requirements-py3.txt
1414

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

17-
ADD Files/Docker-script.sh /Sites/Docker-script.sh
17+
COPY docker/Files/Docker-script.sh /Sites/Docker-script.sh
1818

1919
EXPOSE 80
2020

2121
WORKDIR /Sites/online_test
2222

23+
RUN mkdir -p yaksh_data/output yaksh_data/data
24+
2325
CMD [ "/bin/bash" , "/Sites/Docker-script.sh" ]

docker/Files/000-default.conf

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@
1313
Allow from all
1414
Require all granted
1515
</Directory>
16-
ErrorLog ${APACHE_LOG_DIR}/error.log
17-
CustomLog ${APACHE_LOG_DIR}/access.log combined
16+
ErrorLog /var/log/error.log
17+
CustomLog /var/log/access.log combined
1818
</VirtualHost>

docker/Files/Docker-script.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#!/bin/bash
2-
chown -R www-data /Sites/online_test
3-
chown -R www-data /Sites/online_test/yaksh
2+
chown -R apache /Sites/online_test
3+
chown -R apache /Sites/online_test/yaksh
44
chown -R nobody /Sites/online_test/yaksh_data
55
chmod -R 664 /Sites/online_test
66
chmod -R +X /Sites
7-
/usr/sbin/apache2ctl -D FOREGROUND
7+
/usr/sbin/httpd -D FOREGROUND

docker/Files/Start-codeserver.sh

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/bin/bash
2-
chown -R nobody /Sites/online_test/yaksh_data
3-
chmod -R a+rwX yaksh_data/output
4-
chmod -R a+rX yaksh_data/data
5-
chmod -R o-w yaksh_data/data
2+
#mkdir /Sites/online_test/yaksh_data && mkdir -p /Sites/online_test/yaksh_data/output /Sites/online_test/yaksh_data/data
3+
chown -R nobody:nobody /Sites/online_test/yaksh_data
4+
chmod -R a+rwX /Sites/online_test/yaksh_data/output
5+
chmod -R a+rX /Sites/online_test/yaksh_data/data
6+
chmod -R o-w /Sites/online_test/yaksh_data/data
67
/usr/bin/sudo -su nobody python3 -m yaksh.code_server

docker/docker-compose.yml

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@ version: '2'
22
services:
33
yaksh-django:
44
build:
5-
context: .
6-
dockerfile: Dockerfile_django
5+
context: ..
6+
dockerfile: docker/Dockerfile_django
77
image: yaksh.django
88
container_name: yaksh_django
9-
volumes:
10-
- ../.:/Sites/online_test
9+
env_file:
10+
- docker.env
1111
depends_on:
1212
- yaksh-db
1313
- yaksh-codeserver
@@ -18,24 +18,25 @@ services:
1818
- 8000:80
1919
restart: always
2020

21-
2221
yaksh-codeserver:
2322
build:
24-
context: .
25-
dockerfile: Dockerfile_codeserver
23+
context: ..
24+
dockerfile: docker/Dockerfile_codeserver
2625
image: yaksh.codeserver
2726
container_name: yaksh_codeserver
28-
volumes:
29-
- ..:/Sites/online_test
27+
env_file:
28+
- docker.env
3029
restart: always
3130

32-
3331
yaksh-db:
3432
image: mariadb:10.2
3533
container_name: yaksh_db
3634
volumes:
37-
- ./mysql:/var/lib/mysql
35+
- mysql:/var/lib/mysql
3836
environment:
3937
MYSQL_ROOT_PASSWORD: root
4038
MYSQL_DATABASE: yaksh
4139
restart: always
40+
41+
volumes:
42+
mysql:

docker/docker.env

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Django settings
2+
SECRET_KEY=dUmMy_s3cR3t_k3y
3+
DEBUG=TRUE
4+
ALLOWED_URLS=*
5+
DB_ENGINE=mysql
6+
DB_NAME=yaksh
7+
DB_USER=root
8+
DB_PASSWORD=root
9+
DB_HOST=yaksh-db
10+
DB_PORT=3306
11+
# Yaksh settings
12+
N_CODE_SERVERS=5
13+
SERVER_POOL_PORT=55555
14+
SERVER_HOST_NAME=http://yaksh-codeserver
15+
SERVER_TIMEOUT=4

online_test/settings.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@
2626
SECRET_KEY = config('SECRET_KEY', default='dUmMy_s3cR3t_k3y')
2727

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

31-
ALLOWED_HOSTS = []
31+
ALLOWED_HOSTS = config(('ALLOWED_URLS').split(','), default='localhost')
3232

3333
URL_ROOT = ''
3434

@@ -73,12 +73,8 @@
7373
# https://docs.djangoproject.com/en/1.6/ref/settings/#databases
7474
DATABASES = {
7575
'default': {
76-
'ENGINE': 'django.db.backends.{0}'.format(
77-
config('DB_ENGINE', default='sqlite3')
78-
),
79-
'NAME': config('DB_NAME',
80-
default=os.path.join(BASE_DIR, 'db.sqlite3')
81-
),
76+
'ENGINE': 'django.db.backends.{0}'.format(config('DB_ENGINE'), default='sqlite3'),
77+
'NAME': config('DB_NAME',default=os.path.join(BASE_DIR, 'db.sqlite3')),
8278
# The following settings are not used with sqlite3:
8379
'USER': config('DB_USER', default=''),
8480
'PASSWORD': config('DB_PASSWORD', default=''),
@@ -230,4 +226,4 @@
230226
}
231227

232228
CORS_ORIGIN_ALLOW_ALL = True
233-
CORS_ALLOW_CREDENTIALS = True
229+
CORS_ALLOW_CREDENTIALS = True

0 commit comments

Comments
 (0)