Budget: 10000 UAH Deadline: 5 days
Привіт!
Потрібно уточнити кілька моментів, але взагальному - все ок
Бюджет обсуждаемый.
Нужна следующая инфраструктура контейнеров докера, собранная в 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
Если вы видите что какой-то из пунктов не целесообразен пожалуйста сообщите это нам.
Budget: 10000 UAH Deadline: 5 days
Привіт!
Потрібно уточнити кілька моментів, але взагальному - все ок
Budget: 10000 UAH Deadline: 7 days
привет,
после обсуждения, готов реализовать ваш проект, есть большой опыт работы с докером.
телеграм: @Vlad_Zolotous
почта: [email protected]
Supervisor и cron не нужны, для Laravel внутри контейнера их можно заменить парой строчек баш скрипта.
Логи никуда выносить не стоит, лучше писать в stdout, в докере так принято, их оттуда смогут забирать утилиты мониторинга.
Конфиги тоже лучше не выносить, теряется самодостаточность контейнера. Лучше пересобирать образ при изменении конфига, это можно делать с помощью CI/CD, и это будет гарантировать целостность образа, что на него ничего не влияет извне. Часто изменяемые настройки можно вынести в env variables.
Так же не стоит собирать внутри одного контейнера несколько компонентов, или делать контейнер общим для нескольких приложений, это противоречит философии докера. Один контейнер - один компонент одного приложения, следовательно папка src не нужна.
composer, npm, webpack лучше в кортейнер вообще не пихать, даже для разработки. Как показала практика, это неудобно. Для разработки лучше сделать пустой контейнер с php, и подмонтировать код приложения как volume, а composer и npm при разработке использовать вне докера.
Да там 3/4 нужно выкинуть, иначе потребуется сервак на 8 ядер с 16 ГБ памятью (минимум), и то - не факт, что через неделю он не начнет падать после пару сотен обращений в минуту.
У вас очень много хлама там. Эти настройки из вас вытянут несколько лет жизни и кучу денег.
Его-то можно настроить, но через недели 2 оно опять тупить начнет. Проблема не в настройках докера, а в том, сколько в систему напичкано.
Вы лучше опишите, что у вас за сервис, и чего вы от него хотите. Так вам сделают и дешевле и в разы быстрее.
Задача состоит в том что бы иметь окружения в котором без проблем можно было поднимать проекты на laravel. И у всех разработчиков и на продакшене было одинаковое окружения.
Тю, так зачем вам докер с кучей затыков для него. Чистый сервер, "простенький" баш-скрипт, админка. Ну и та РНР с-ма, которая у вас уже есть.
Старайтесь смотреть в более низкую сторону - оно намного производительнее и менее деньгозатратно.
Да, найти специалистов в такой узкой области сложнее, но в итоге - намного выгоднее.
Если надумаете кардинальные переделки - обращайтесь, я обычно создаю такое, что не требует поддержки.
We are looking for an experienced system administrator to configure, optimize, and provide ongoing technical support for a corporate server. The main purpose of the server is to enable remote work for accountants in financial programs (1C) via RDP. Main responsibilities: Diagnosis and resolution of current issues: analyzing system logs (Event Viewer), identifying and eliminating the causes of unstable user connections to RDP. Optimization of RDP (RDS) performance: proper configuration of session policies, idle time limits, and connection parameters for stable operation of accountants. Ensuring server security: Closing/changing standard ports, protection against brute-force attacks and unauthorized access. Segregation of user rights (restricting administrator rights for work accounts). Configuration of the Firewall on the server. If necessary, deploying and configuring secure VPN access for client connections. Setting up backups: organizing automatic daily backups of 1C databases and system images with copies offloaded to an external independent storage. Administration: monitoring resources (CPU, RAM, disk subsystem), managing system snapshots. Candidate requirements: Deep knowledge of Windows Server and Remote Desktop Services (RDS / RDP). Experience with cloud infrastructure. Understanding the specifics of RDP operation under 1C (working with databases, criticality of micro-disruptions in connectivity). Experience in configuring security for Windows servers and protecting financial data. Skills in automating backups. Collaboration terms: We consider the option of payment for completing the initial pool of tasks (RDP setup + security + backups) with the possibility of transitioning to a monthly fixed payment for ongoing technical support and server monitoring. Please indicate your experience with similar tasks and the estimated cost of the initial audit and server setup in your response. P.S. BK "Tam De Dim" (https://tamdedim.com.ua/)
A problem has arisen with how things are heard on the other end; we have gone through a lot but cannot find the issue. We need a competent person who can identify the problem and better configure the telephony. There is also a remote server in this chain that connects via RDP, VPN, and other means. Therefore, the person must understand how it works and check all elements.
We have a dedicated server on Hetzner with a website on Docker (+ Laravel framework) Contact with the developers has been lost Need to: - restore and change server access (probably SSH) - recommend a storage location and set up a full server backup with easy recovery, probably not on Hetzner for security - fix the logo that is not displaying for some reason (it's unclear why the file has become inaccessible) Important - there is no website backup, and there is no room for error. We will only consider experienced specialists.