Логистический интегратор

Инструкция по установке системы
Оглавление

1. Установка системы

2. Если возникли проблемы

1. Установка системы

  1. Чтобы установить систему на сервер, сначала нужно установить на сервер Docker. Процесс установки Docker зависит от операционной системы, которая уже установлена на сервере. Инструкции по установке можно найти по ссылке https://docs.docker.com/engine/install/.
  2. Далее необходимо скопировать на сервер репозиторий, который был передан вам в Gitlab 

    Если копируем через логин/пароль, то команда такая:

    git clone -b dev https://gitlab.com/username/project(название проекта) и далее вводим пароль

    Если в настройка к учетной записи в Git стоит, 2-х факторная аутентификация, то необходимо создать токен (заходим в свой Git Lab, идем в Settings, идем в Access Token, создаем токен и сохраняем его) по которому будет происходить логин и копирование репозитория и команда такая:

    git clone https://oauth2:PERSONAL_ACCESS_TOKEN@gitlab.com/username/project.git

    Если в настройка к учетной записи в Git стоит, 2-х факторная аутентификация, то необходимо создать токен (заходим в свой Git Lab, идем в Settings, идем в Access Token, создаем токен и сохраняем его) по которому будет происходить логин и копирование репозитория и команда такая:

    git clone https://oauth2:PERSONAL_ACCESS_TOKEN@gitlab.com/username/project.git

  3.  После копирования репозитория, необходимо на сервере перейти в корень репозитория и в нем найти файл с названием [.env.example](.env.example), далее необходимо создать копию этого файла и назвать его [.env](.env).
  4. В получившемся [файле](.env) устанавливаем желаемое название базы данных и пароль `DB_DATABASE` `DB_PASSWORD` (если база данных не изменяется оставляем значение по умолчанию)
  5. Устанавливаем `APP_DOMAIN` на которых будет запущен фронтенд сайта и адрес его апи: APP_DOMAIN=(ваш домен)
  6.  Запускаем приложение командой (Необходимо находится в корне репозитория, где расположен файл docker-compose.prod.yml):

    Если копируем через логин/пароль, то команда такая:

    docker compose -f docker-compose.prod.yml up -d

    Первый запуск может занять некоторое время. Даже после того как все контейнеры будут запущены, некоторое время backend будет недоступен, т.к. будет происходить установка зависимостей и запуск миграций. Отслеживать статус установки можно командой:

    docker compose -f docker-compose.prod.yml backend logs

  7. После запуска можно войти на сайт под учетной записью администратора:

    login: admin@admin.ru
    password: admin@admin.ru

  8. Eсли необходимо заполнить таблицу компетенций, то после установки и полной работоспособности сайта выполните команду:

    docker compose -f docker-compose.prod.yml exec backend php artisan db:seed --class=CompetenceSeeder

     

2. Если возникли проблемы 

Если что-то не работает, то запускаем команду:

docker compose ps

В списке обязательно должны работать и не перезагружаться `backend` контейнер и `nginx` контейнер,`frontend` контейнер может как работать так и быть остановлен в зависимости от будущих реализаций.

  • Попробуйте перезагрузить nginx командой:
docker compose -f docker-compose.prod.yml restart nginx
  • Если не установился frontend, необходимо выполнить команду:
docker compose -f docker-compose.prod.yml exec frontend npm run build
  • Если перезагружается backend и cron, проверяем логи командой:
docker compose -f docker-compose.prod.yml backend logs

Если видно что не может получить доступ к файлу `entrypoint.sh`, то скорее всего не настроены права доступа к файлам. Необходимо прописать владельца папки и файлов проекта `www-data`.

Если не помогло, то как временное решение можно выполнить `chmod 777 -R ./` для папки `backend` (перейти в папку backend и выполнить команду `chmod 777 -R ./`)

 

Сообщение отправлено.
Наш менеджер свяжется с вами в самое ближайшее время.
Что-то пошло не так.