Skip to content

LoliE1ON/e1on-vue-slim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Frontend: Vue.js Backend: Slim PHP Framework

Launch in Docker

Установка docker

Первое, что нужно сделать: поставить 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

Phinx используется для запуска миграций базы данных в контейнере сервера. Алиас выглядит так:

alias phinx='docker run --rm -u "$UID" --network=e1on_web_network -v "$PWD:/app" eko3alpha/docker-phinx'

Сomposer

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