Использование DevilBox как аналога OpenServer для локальной PHP-разработки

OpenServer довольно интересный инструмент для разработки и тестирования проектов написанных на PHP, но увы эта приложуха работает только в Windows. В Linux мне лично конечно проще банально самому поднять все необходимое окружение, но зачем заморачиваться если за меня уже все придумали.

Последний релиз там датирован декабрем 2022-го года, но вроде проект не заброшен и думаю стоит потыкать в него палочкой. Если не понравится, то просто будем по старинке использовать локальное окружение настроенное под себя.

Для запуска нам понадобится Docker и Docker-Compose и как это хозяйство развернуть в Ubuntu я уже писал в заметке “Установка Docker+DockerCompose+KubeCtl+Helm“. Следовательно, погнали собирать файл композера для быстрого запуска.

Создаем каталог где все это добро будет жить:

$ mkdir ~/.bin/
$ cd ~/.bin/
$ git clone https://github.com/cytopia/devilbox

Копируем пример файла с переменными окружения:

$ cd ~/.bin/devilbox/
$ cp env-example .env

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

$ docker-compose up -d

Дефолтно у нас запустилась вот такая обвязка из сервисов и как-бы можно это все и самому сделать, но мне лень.

$ dc ps
NAME               IMAGE                              COMMAND                  SERVICE   CREATED         STATUS         PORTS
devilbox-bind-1    cytopia/bind:alpine-0.35           "/docker-entrypoint.…"   bind      4 minutes ago   Up 4 minutes   0.0.0.0:1053->53/tcp, 0.0.0.0:1053->53/udp, :::1053->53/tcp, :::1053->53/udp
devilbox-httpd-1   devilbox/nginx-stable:alpine-1.0   "/docker-entrypoint.…"   httpd     4 minutes ago   Up 3 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp
devilbox-memcd-1   memcached:1.6-alpine               "docker-entrypoint.s…"   memcd     4 minutes ago   Up 3 minutes   0.0.0.0:11211->11211/tcp, :::11211->11211/tcp
devilbox-mongo-1   mongo:5.0                          "docker-entrypoint.s…"   mongo     4 minutes ago   Up 3 minutes   0.0.0.0:27017->27017/tcp, :::27017->27017/tcp
devilbox-mysql-1   devilbox/mysql:mariadb-10.6-0.21   "/docker-entrypoint.…"   mysql     4 minutes ago   Up 3 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp
devilbox-pgsql-1   postgres:14-alpine                 "docker-entrypoint.s…"   pgsql     4 minutes ago   Up 5 seconds   0.0.0.0:5432->5432/tcp, :::5432->5432/tcp
devilbox-php-1     devilbox/php-fpm:8.1-work-0.150    "/docker-entrypoint.…"   php       4 minutes ago   Up 3 minutes   9000/tcp
devilbox-redis-1   redis:6.2-alpine                   "docker-entrypoint.s…"   redis     4 minutes ago   Up 3 minutes   0.0.0.0:6379->6379/tcp, :::6379->6379/tcp

Дополнительно заявлена еще и поддержка компонентов:

  • Python (Flask)
  • Blackfire
  • ELK
  • MailHog
  • Ngrok
  • RabbitMQ
  • Solr
  • HAProxy
  • Varnish

Выглядит довольно интересно и надо будет попозже еще с конфигом поиграть. Админка выглядит красивенько, поконфигуряю эту игрушку и потом еще отпишусь, стоит ли оно того.

Админка лежит на локалхост на 80-ом порту http://localhost/index.php.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *