<commit_before>  # Основные настройки
FROM ubuntu:16.04
MAINTAINER <NAME> (<EMAIL>), <NAME> <EMAIL>

# Входные параметры
# ВНИМАНИЕ! При вводе через --build-arg django_secret_key необходимо экранировать 
# все скобочки ('(', ')') и знаки доллара ('$')
ARG bot_token
ARG django_allowed_host
ARG django_secret_key
ARG db_name
ARG db_username
ARG db_password

# Переменные
# Имя директории контейнера, имя директории проекта (имя проекта Django), имя приложения Django
ENV project_name CocktailManager
ENV app_name manager
ENV token bot${bot_token}
ENV bot_url "url=https://${django_allowed_host}/bot/${bot_token}"
ENV telegram_url https://api.telegram.org/${token}/setWebhook
ENV email <EMAIL>

# Установка необходимых компонентов
RUN locale-gen "en_US.UTF-8" &&\
 	update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 &&\
	apt-get update &&\
	apt-get install -y postgresql-9.5 \
	postgresql-server-dev-9.5 \
	postgresql-contrib-9.5 \
	nginx \
	python3 \
	python3.5-dev \
	python3-pip \
	git \
	curl \
	openssl &&\
	
	apt-get clean &&\
	rm -rf /var/lib/apt/lists/* &&\


mkdir data
WORKDIR /data

# Получаем список необходимых компонентов Python
COPY conf/requirements.txt requirements.txt
# Установка необходимых компонентов
RUN pip3 install -r requirements.txt &&\

# Создаем папку для статики \
mkdir /data/static
# Копируем проект Django
COPY CocktailManager/ CocktailManager/
WORKDIR $project_name

# Создание файла конфигурации с секретными данными
RUN echo "[main]\n token = ${bot_token}\n[django]\n allowed_host = ${django_allowed_host}\n \
secret_key = ${django_secret_key}\n[DB]\n db_name = ${db_name}\n db_username = ${db_username}\n \
db_password = ${db_password}" > config.ini

# Раскомментируйте, чтобы просмотреть созданый файл
# RUN cat config.ini

# Добавляем файл с созданием базы данных
COPY conf/CM-db.ini conf/CM-db.ini
# Добавляем файл с настройками nginx
COPY conf/CM-nginx.conf conf/CM-nginx.conf
# Добавляем настройки сертификата
COPY conf/CM-ssl.ini ssl/CM-ssl.ini
# Добавляем необходимые данные для uwsgi
ADD https://raw.githubusercontent.com/nginx/nginx/master/conf/uwsgi_params uwsgi_params
# Добавляем настройки uwsgi
COPY conf/CM-uwsgi.ini conf/CM-uwsgi.ini
# Добавим данные для сертификата
RUN echo "${django_allowed_host}\n${email}" &&\

# Генерирование сертификата \
cat ssl/CM-ssl.ini | openssl req -newkey rsa:2048 -sha256 -nodes -keyout ssl/webhook_selfsigned_cert.key \
	-x509 -days 3650 -out ssl/webhook_selfsigned_cert.pem &&\

# В папке /etc/nginx/sites-enabled создаем ссылку на файл CM-nginx.conf, чтобы nginx увидел его \
ln -s /data/$project_name/conf/CM-nginx.conf /etc/nginx/sites-enabled/ &&\

# Настраиваем базу данных PostgreSQL \
echo "local   all             postgres                                md5" >> \
	/etc/postgresql/9.5/main/pg_hba.conf &&\
	echo "host all  all    0.0.0.0/0  trust" >> /etc/postgresql/9.5/main/pg_hba.conf &&\
	echo "listen_addresses='localhost'" >> /etc/postgresql/9.5/main/postgresql.conf

# Создаем базу данных
USER postgres
RUN service postgresql start &&\
	psql -f "conf/CM-db.ini" 

# Начальные настройки и связывание с базой данных приложения Django
USER root:root
RUN service postgresql start &&\
	python3 manage.py makemigrations &&\
	python3 manage.py migrate &&\

# Собирает статические файлы в STATIC_ROOT приложения Django \
echo yes | python3 manage.py collectstatic
<commit_msg>small fix<commit_after>  # Основные настройки
FROM ubuntu:16.04
MAINTAINER <NAME> (<EMAIL>), <NAME> (<EMAIL>)

# Входные параметры
# ВНИМАНИЕ! При вводе через --build-arg django_secret_key необходимо экранировать 
# все скобочки ('(', ')') и знаки доллара ('$')
ARG bot_token
ARG django_allowed_host
ARG django_secret_key
ARG db_name
ARG db_username
ARG db_password

# Переменные
# Имя директории контейнера, имя директории проекта (имя проекта Django), имя приложения Django
ENV project_name CocktailManager
ENV app_name manager
ENV token bot${bot_token}
ENV bot_url "url=https://${django_allowed_host}/bot/${bot_token}"
ENV telegram_url https://api.telegram.org/${token}/setWebhook
ENV email <EMAIL>

# Установка необходимых компонентов
RUN locale-gen "en_US.UTF-8" &&\
 	update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 &&\
	apt-get update &&\
	apt-get install -y postgresql-9.5 \
	postgresql-server-dev-9.5 \
	postgresql-contrib-9.5 \
	nginx \
	python3 \
	python3.5-dev \
	python3-pip \
	git \
	curl \
	openssl &&\
	
	apt-get clean &&\
	rm -rf /var/lib/apt/lists/* &&\


mkdir data
WORKDIR /data

# Получаем список необходимых компонентов Python
COPY conf/requirements.txt requirements.txt
# Установка необходимых компонентов
RUN pip3 install -r requirements.txt > /dev/null &&\

# Создаем папку для статики \
mkdir /data/static
# Копируем проект Django
COPY CocktailManager/ CocktailManager/
WORKDIR $project_name

# Создание файла конфигурации с секретными данными
RUN echo "[main]\n token = ${bot_token}\n[django]\n allowed_host = ${django_allowed_host}\n \
secret_key = ${django_secret_key}\n[DB]\n db_name = ${db_name}\n db_username = ${db_username}\n \
db_password = ${<PASSWORD>}" > config.ini

# Раскомментируйте, чтобы просмотреть созданый файл
# RUN cat config.ini

# Добавляем файл с созданием базы данных
COPY conf/CM-db.ini conf/CM-db.ini
# Добавляем файл с настройками nginx
COPY conf/CM-nginx.conf conf/CM-nginx.conf
# Добавляем настройки сертификата
COPY conf/CM-ssl.ini ssl/CM-ssl.ini
# Добавляем необходимые данные для uwsgi
ADD https://raw.githubusercontent.com/nginx/nginx/master/conf/uwsgi_params uwsgi_params
# Добавляем настройки uwsgi
COPY conf/CM-uwsgi.ini conf/CM-uwsgi.ini
# Добавим данные для сертификата
RUN echo "${django_allowed_host}\n${email}" >> ssl/CM-ssl.ini &&\

# Генерирование сертификата \
cat ssl/CM-ssl.ini | openssl req -newkey rsa:2048 -sha256 -nodes -keyout ssl/webhook_selfsigned_cert.key \
	-x509 -days 3650 -out ssl/webhook_selfsigned_cert.pem > /dev/null &&\

# В папке /etc/nginx/sites-enabled создаем ссылку на файл CM-nginx.conf, чтобы nginx увидел его \
ln -s /data/$project_name/conf/CM-nginx.conf /etc/nginx/sites-enabled/ &&\

# Настраиваем базу данных PostgreSQL \
echo "local   all             postgres                                md5" >> \
	/etc/postgresql/9.5/main/pg_hba.conf &&\
	echo "host all  all    0.0.0.0/0  trust" >> /etc/postgresql/9.5/main/pg_hba.conf &&\
	echo "listen_addresses='localhost'" >> /etc/postgresql/9.5/main/postgresql.conf

# Создаем базу данных
USER postgres
RUN service postgresql start &&\
	psql -f "conf/CM-db.ini" 

# Начальные настройки и связывание с базой данных приложения Django
USER root:root
RUN service postgresql start &&\
	python3 manage.py makemigrations &&\
	python3 manage.py migrate &&\

# Собирает статические файлы в STATIC_ROOT приложения Django \
echo yes | python3 manage.py collectstatic

{'fraction_non_alphanumeric': 0.11412963236379743, 'fraction_numerical': 0.01387863575963384, 'mean_word_length': 4.021497405485545, 'pattern_counts': {'":': 0, '<': 14, '<?xml version=': 0, '>': 32, 'https://': 6, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 2, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '280406', 'n_tokens_mistral': 2715, 'n_tokens_neox': 2819, 'n_words': 610}