diff --git a/backend/.dockerignore b/backend/.dockerignore new file mode 100644 index 0000000000..7db2a6458b --- /dev/null +++ b/backend/.dockerignore @@ -0,0 +1,6 @@ +venv +.git +db.sqlite3 +idea +.vscode +.env diff --git a/backend/Dockerfile b/backend/Dockerfile new file mode 100644 index 0000000000..e4515b195d --- /dev/null +++ b/backend/Dockerfile @@ -0,0 +1,25 @@ +# Создать образ на основе базового слоя, +# который содержит файлы ОС и интерпретатор Python 3.9. +FROM python:3.9-slim + +# Переходим в образе в директорию /app: в ней будем хранить код проекта. +# Если директории с указанным именем нет, она будет создана. +# Название директории может быть любым. +WORKDIR /app +# Дальнейшие инструкции будут выполняться в директории /app + +# Скопировать с локального компьютера файл зависимостей +# в текущую директорию (текущая директория — это /app). +COPY requirements.txt . + +# Выполнить в текущей директории команду терминала +# для установки зависимостей. +RUN pip install -r requirements.txt --no-cache-dir + +# Скопировать всё необходимое содержимое +# той директории локального компьютера, где сохранён Dockerfile, +# в текущую рабочую директорию образа — /app. +COPY . . + +# При старте контейнера запустить сервер разработки. +CMD ["python", "manage.py", "runserver", "0:8000"] diff --git a/backend/backend/settings.py b/backend/backend/settings.py index 6f2a3f19f1..3e3749ff5e 100644 --- a/backend/backend/settings.py +++ b/backend/backend/settings.py @@ -1,11 +1,16 @@ +import environ + from pathlib import Path -BASE_DIR = Path(__file__).resolve().parent.parent +env = environ.Env() +environ.Env.read_env() + +BASE_DIR = Path(__file__).resolve().parent.parent -SECRET_KEY = 'django-insecure-j_89af+30&&4qm*8z9_(^zz8p4-ho8z_m6ylm0s$h!-p@on1_^' +SECRET_KEY = env('SECRET_KEY') -DEBUG = True +DEBUG = env('DEBUG', default=False) ALLOWED_HOSTS = [] diff --git a/backend/requirements.txt b/backend/requirements.txt index 08e283fb61..e46984b296 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,3 +1,4 @@ Django==3.2.3 djangorestframework==3.12.4 -django-cors-headers==3.13.0 \ No newline at end of file +django-cors-headers==3.13.0 +django-environ==0.10.0 \ No newline at end of file diff --git a/frontend/.dockerignore b/frontend/.dockerignore new file mode 100644 index 0000000000..b7dab5e9cb --- /dev/null +++ b/frontend/.dockerignore @@ -0,0 +1,2 @@ +node_modules +build \ No newline at end of file diff --git a/frontend/Dockerfile b/frontend/Dockerfile new file mode 100644 index 0000000000..ca666cb32d --- /dev/null +++ b/frontend/Dockerfile @@ -0,0 +1,14 @@ +FROM node:18-slim +WORKDIR /app + +COPY package.json package.json +COPY package-lock.json package-lock.json + +RUN npm install + +COPY . . +RUN npm run build + +# Эта команда запустит встроенный сервер на Node.js, который будет раздавать +# содержимое директории /app/build на порте 8000 +CMD ["npx", "-y", "http-server", "-p", "8000", "/app/build"] \ No newline at end of file