Skip to content

muffintime77/eff-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Описание

Проект состоит из двух сервисов:

  • Backend — простой HTTP-сервер на Python (http.server)
  • Nginx — reverse proxy, принимающий трафик на 80 порт и проксирующий его на backend

Схема работы:

Пользователь → Nginx (80) → Backend (8080)


Конфигурация

Вывод / эндпоинта - передается как переменная окружения ROOT_ENDP_TEXT


Проблемы

  • "root page default text" - не настроены переменные в .env
  • сокет docker не найден - Убедитель что пользователь в группе docker, и демон запущен

Сборка и запуск

1. Клонировать репозиторий


git clone https://github.com/muffintime77/eff-test.git
cd eff-test

2. переключится на последний тэг

git checkout v1.1

3. Настроить переменные

cp .env.exaple .env

3. Собрать и запустить проект

docker compose up -d --build

Проверка

После запуска выполнить:


curl http://localhost/

Ожидаемый результат:


Hello from Effective Mobile!


Проверка состояния контейнеров

Посмотреть статус:


docker ps

Проверить health:


curl http://localhost/health

Ответ:

OK

Структура проекта


├── backend/
│   ├── Dockerfile
│   └── app.py
├── nginx/
│   └── nginx.conf
├── docker-compose.yml
├── .env.exaple
├── .gitignore
└── README.md


Сетевое взаимодействие

  • Backend не публикует порт наружу
  • Доступ к backend возможен только внутри docker-сети
  • Nginx проксирует запросы на backend:
  • Взаимодействие происходит через docker network

Безопасность

Реализованы базовые практики безопасности:

  • Backend запускается не от root
  • Порт backend > 1024 (ограничение rootless)
  • Используются минимальные образы
  • Не используется `latest'
  • Наружу публикуется только Nginx (порт 80)
  • Отключён server_tokens в nginx
  • Нет лишних пакетов
  • Один процесс — один контейнер

Остановка проекта

docker compose down

Удаление вместе с образами:

docker compose down --rmi all

About

demo app

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors