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

Нужен специалист по docker

closed without completion


Бюджет обсуждаемый.

Нужна следующая инфраструктура контейнеров докера, собранная в 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


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




  1. proposal concealed by freelancer
  1. 180 days3 000 ₽
    Дмитрий Гольд
     633   8  0

    Добрый день! Меня заинтересовал Ваш проект. Я готов немедленно за него взяться. Подробности можем обговорить по почте:
    [email protected]
    Или в WhatsApp - https://wa.me/79106167066?text=Здравствуйте!
    Или в Wowapp - https://www.wowapp.com/w/golddmitry/join.
    Или в Фейсбук - https://www.facebook.com/golddmitry.
    Или в Telegram - http://t.me/golddmitry.
    Или в Одноклассники - https://ok.ru/profile/494400231136.
    Или в ICQ: - http://www.icq.com/whitepages/cmd.php?uin=216391280&action=message.
    Лучше через мой аккаунт в социальной сети Вконтакте - http://vk.com/write10728938.
    Резервный - https://vk.com/write210390407.
    Страничка с остальными видами связи тут - http://pc-rzn.ru/home.htm.

    Могу сделать оптовую скидку.
    P.S. Ну или в половину меньше, но срок в два с половиной раза больше.

    C уважением,
    Гольд Дмитрий Владимирович.
    1mTX

    Russia Ryazan | 7 May at 19:08 |
  2.  917 
       15  0

    1 day3 000 ₴

    Здравствуйте! Почему именно докер? И зачем так усложнять проект? Почему бы не сделать все на сервере без контейнеризации.

    **** Контакты ****
    Skype sys_admin3 (Минск)
    Viber +375256122681
    Telegram @gev511
    WhatsApp +375256122681

    10 лет на рынке IT 14 дней гарантии на работы!!! и Бесплатная консультация

    Belarus Minsk | 8 May at 11:03 |
  3. 7 days10 000 ₴
    Vlad Zolotous
     207 

    привет,
    после обсуждения, готов реализовать ваш проект, есть большой опыт работы с докером.
    телеграм: @Vlad_Zolotous
    почта: [email protected]

    Ukraine Kharkiv | 8 May at 11:20 |
  4. 5 days10 000 ₴
    Андрій Кушнерук
     243   1  0

    Привіт!
    Потрібно уточнити кілька моментів, але взагальному - все ок

    Ukraine Lvov | 8 May at 12:28 |
  • Олег К.
    Complain | 7 May at 23:53 |

    Supervisor и cron не нужны, для Laravel внутри контейнера их можно заменить парой строчек баш скрипта.

    Логи никуда выносить не стоит, лучше писать в stdout, в докере так принято, их оттуда смогут забирать утилиты мониторинга.

    Конфиги тоже лучше не выносить, теряется самодостаточность контейнера. Лучше пересобирать образ при изменении конфига, это можно делать с помощью CI/CD, и это будет гарантировать целостность образа, что на него ничего не влияет извне. Часто изменяемые настройки можно вынести в env variables.

    Так же не стоит собирать внутри одного контейнера несколько компонентов, или делать контейнер общим для нескольких приложений, это противоречит философии докера. Один контейнер - один компонент одного приложения, следовательно папка src не нужна.

    composer, npm, webpack лучше в кортейнер вообще не пихать, даже для разработки. Как показала практика, это неудобно. Для разработки лучше сделать пустой контейнер с php, и подмонтировать код приложения как volume, а composer и npm при разработке использовать вне докера.

  • Да там 3/4 нужно выкинуть, иначе потребуется сервак на 8 ядер с 16 ГБ памятью (минимум), и то - не факт, что через неделю он не начнет падать после пару сотен обращений в минуту.

  • Александр Заплитный — project author
    Complain | 8 May at 09:42 |

    Вы можете помочь с настройкой? Сделать правильно?

  • У вас очень много хлама там. Эти настройки из вас вытянут несколько лет жизни и кучу денег.
    Его-то можно настроить, но через недели 2 оно опять тупить начнет. Проблема не в настройках докера, а в том, сколько в систему напичкано.
    Вы лучше опишите, что у вас за сервис, и чего вы от него хотите. Так вам сделают и дешевле и в разы быстрее.


  • Александр Заплитный — project author
    Complain | 8 May at 10:02 |

    Задача состоит в том что бы иметь окружения в котором без проблем можно было поднимать проекты на laravel. И у всех разработчиков и на продакшене было одинаковое окружения.


  • Тю, так зачем вам докер с кучей затыков для него. Чистый сервер, "простенький" баш-скрипт, админка. Ну и та РНР с-ма, которая у вас уже есть.
    Старайтесь смотреть в более низкую сторону - оно намного производительнее и менее деньгозатратно.
    Да, найти специалистов в такой узкой области сложнее, но в итоге - намного выгоднее.
    Если надумаете кардинальные переделки - обращайтесь, я обычно создаю такое, что не требует поддержки.

  • Александр Заплитный — project author
    Complain | 8 May at 09:42 |

    Вы можете помочь с настройкой? Сделать правильно?