Нужен специалист по docker
31 USDБюджет обсуждаемый.
Нужна следующая инфраструктура контейнеров докера, собранная в 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
Если вы видите что какой-то из пунктов не целесообразен пожалуйста сообщите это нам.
-
126 1 0 Привіт!
Потрібно уточнити кілька моментів, але взагальному - все ок
-
136 привет,
после обсуждения, готов реализовать ваш проект, есть большой опыт работы с докером.
телеграм: @Vlad_Zolotous
почта: [email protected]
-
Supervisor и cron не нужны, для Laravel внутри контейнера их можно заменить парой строчек баш скрипта.
Логи никуда выносить не стоит, лучше писать в stdout, в докере так принято, их оттуда смогут забирать утилиты мониторинга.
Конфиги тоже лучше не выносить, теряется самодостаточность контейнера. Лучше пересобирать образ при изменении конфига, это можно делать с помощью CI/CD, и это будет гарантировать целостность образа, что на него ничего не влияет извне. Часто изменяемые настройки можно вынести в env variables.
Так же не стоит собирать внутри одного контейнера несколько компонентов, или делать контейнер общим для нескольких приложений, это противоречит философии докера. Один контейнер - один компонент одного приложения, следовательно папка src не нужна.
composer, npm, webpack лучше в кортейнер вообще не пихать, даже для разработки. Как показала практика, это неудобно. Для разработки лучше сделать пустой контейнер с php, и подмонтировать код приложения как volume, а composer и npm при разработке использовать вне докера.
-
Current freelance projects in the category System & Network Administration
Setting up a monthly subscription for a Telegram channel/group
17 USD
It is necessary to set up an automatic monthly paid subscription for my Telegram channel (or group) with payment acceptance exclusively in Ukrainian hryvnias (UAH). Integration with payment systems (priority: LiqPay, WayForPay). Support for recurring charges. Automatic access… System & Network Administration, Bot Development ∙ 20 hours 57 minutes back ∙ 42 proposals |
Audit and construction of a secure infrastructure for sending BTC transactions
602 USD
We are looking for a Bitcoin security engineer for two tasks: (1) auditing the current wallet generation and BTC sending system to identify vulnerabilities; (2) designing and building a new secure infrastructure for key storage and transaction sending.Part 1 — Audit of the… System & Network Administration, Cryptocurrency & Blockchain ∙ 1 day 12 hours back ∙ 6 proposals |
Consultation on running a sole proprietorshipA detailed instruction and consultation are needed on how to properly work with FOP, Nova Poshta, Nova Pay, and timely cash register. System & Network Administration ∙ 1 day 19 hours back ∙ 2 proposals |
Eliminate the issue of incomplete data import from Excel files of Nova Poshta specifications into 1C:
45 USD
Goal: There is a processing in 1C for uploading the specifications of Nova Poshta. For unclear reasons, it has stopped loading some tabular data. We need to find the reason and eliminate the problem of incomplete data import from Excel files of Nova Poshta specifications into… System & Network Administration, Databases & SQL ∙ 4 days 16 hours back ∙ 16 proposals |
Fortinet configurationGood day! It is necessary to configure Fortinet FortiGate 40F-3G4G. Set up remote access to the PLC. Work experience. Thank you! System & Network Administration, Software & Server Configuration ∙ 5 days 19 hours back ∙ 5 proposals |