Первое, что нужно сделать: поставить 2 пакета docker и docker-compose, например, через apt:
sudo apt-get install docker docker-compose
После этого, нужно настроить docker для того, что бы была возможность запустить его без sudo, для этого нужно:
Создать группу, если её нет:
sudo groupadd docker
Добавить в неё своего юзера:
sudo gpasswd -a $USER docker
sudo usermod -aG docker $USER
Обновляем группы
newgrp docker
Далее нужно запустить и опционально добавить его в автозагрузку:
service docker start
service docker enable
Проверить успех можно выполнив: docker run hello-world
, если не вывалит сразу ошибку - всё хорошо.
Алиасы это просто короткие и привычные представления для комманд, которые нужно выполнить внутри Docker контейнера.
Для установки алиасов, нужно добавить комманды показанные ниже в файл ~/.profile
или ~/.bashrc
| ~/.zshrc
Так же, если выполнение какой-то комманды происходит в первый раз, то docker будет качать нужный образ, в последующие разы будет использоваться кеш.
Phinx используется для запуска миграций базы данных в контейнере сервера. Алиас выглядит так:
alias phinx='docker run --rm -u "$UID" --network=e1on_web_network -v "$PWD:/app" eko3alpha/docker-phinx'
Composer - менеджер пакетов для PHP. В случае, например, когда composer ругается на то, что не хватает какого-то PHP расширения, но в контейнере сервера оно есть, используй ключ --ignore-platform-reqs
alias composer='docker run --rm --interactive --tty --user "${UID}:${GID}" --volume $PWD:/app composer $1'
В случае первого запуска, нужно создать конфигурацию проекта.
В корне проекта есть файл .env-example
, выполни cp .env-example .env
и заполни .env нужной информацией.
Сам файл .env в .gitignore и в репозиторий не утечёт. Важно именно скопировать файл, а не переименовать пример.
Пример должен быть всегда в репозитории в оригинальном состоянии, только как пример.
В случае перемеинования GIT это увидит, что в итоге может привести к коммиту и пушу изменений.
После этого можно сразу выполнять ./start.sh dev
для development окружения или ./start.sh prod
для production.
Так же, нужно добавить записи в hosts равные SERVER_NAME_CLIENT и SERVER_NAME_SERVER.
Adminer - http://localhost:8080
При запуске dev среды, запускается live-reload файлов и dev-server. При запуске prod среды, никаких live reload нет как и ноды вообще, собирается проект в папку dist и отдаётся уже через nginx