Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!
7 000 ₽

Настройка окружения для проекта

project not completed


Нужна следующая инфраструктура контейнеров докера, собранная в docker-compose


*  Докер будет работать на сервере с 4гб ОЗУ, контейнеры должны быть с балансированы и максимально эффективно использовать ресурсы сервера.

*  Все контейнера собирать на базе контейнера alpine

*  Все контейнера которые будут работать с файловой системой должны работать под одним и тем же пользователем и кодом групы например 1000:1000 или app-admin:app-admin, это нужно для того что бы не возникало ошибок с доступом к файлам из разных контейнеров.

*  Файлы конфига основных процессов контейнера (nginx, pph-fpm, mysql и тд...) нужно вынести наружу через volumes, что бы после изменения конфига не нужно было пересобирать контейнер.

*  Синхронизовать время и локацию для всех контейнеров на Москву.

*  Так же вынести из контейнеров логи

*  В настройках контейнеров не должно быть полных путей, только относительные от корня папки проекта


- Контейнер с nginx, оптимизировать настройки nginx, выводить логи.

- Контейнер с php-fpm для продакшена, оптимизировать настройки php-fpm,

    включить opcache, soap, 

    контейнер будет работать с фреймворком Laravel, нужно установить все пакеты для корректной работы этого фреймворка, 

    также установить пакеты для работы и xml и изображениями

    выводить логи.

- Контейнер с php-fpm для дева, все по аналогии с контейнером для продакшена только выключить opcache, и настроить xdebug для отладки php. По умолчанию этот контейнер не должен включаться на продакшене. Поднятие только в ручном режиме. Выводить логи.

- Контейнер с БД mysql последняя стабильная версия. Оптимизировать настройки, выводить логи.

- Контейнер для разработки, в контейнере будут запускаться консольные скрипты, unit тесты, собираться css и js зависимости. В контейнере нужно поднять 

    php-cli, 

    пакеты для работы с mysql, xml, изображениями, xdebug, php-unit, 

    предустановить composer.

    nodejs, npm

    предустановить gulp, webpack, node-sass

- Контейнер для автоматического обновления letsencrypt сертификатов.

- (В правильности этого пункта я не уверен) Контейнер с nginx который будет проксировать контейнер letsencrypt и основной nginx.

- Контейнер с supervisor. Supervisor поднимает крон и имеет прокинутую папку через volumes для добавления быстрых конфигов для разных приложений.

    (Я не уверен как правильно поднимать этот контейнер так как в нем нужно поднять окружения для корректной работы laravel, php-cli, а также nodejs)


Примерная структура


root

 - docker-compose.yml

 - src (в этой директории будут хранится все приложения)

 - conteiner-logs (директория для логов)

 - container-data - тут храним данные которые нужно сохранять когда контейнеры вырубаются, например данные mysql.

 - docker-config (директория с конфигами для докер контейнеров, каждый контейнер должен быть в отдельной папке)

     -- container_name

         --- dockerfile

         --- configs.ext


Если вы видите что какой-то из пунктов не целесообразен пожалуйста сообщите это нам.


Версии ПО

Nginx - последний стабильный

Node.js 12.2.0

Php-fpm 7.2.* - последная стабильная

Mysql 5.7.* - последная стабильная

Supervisor - последний стабильный


Client's feedback about the contractor George Gaal

Quality
Professionalism
Price
Availability
Terms

Исполнитель не отвечает, сроки все просрочил.



  1. 4 days7 000 ₽Winning proposal
    George Gaal
     -64   0  1

    К концу недели. По промежуточному результату - доработка до финишного варианта.

    Russia Abakan | 8 May at 20:23 |