Руководство для запуска проекта TestDesk API на Windows используя WS2 + Ubuntu.
- Установите WSL 2:
wsl --install
- Перезагрузите ПК. Вы можете установить для WSL другой дистрибутив Linux. Выведите список доступных дистрибутивов:
wsl --list --online
- Укажите имя дистрибутива Linux, который установить в WSL. Например:
wsl --install Ubuntu
- Установите Ubuntu в WSL:
wsl --install Ubuntu
- Обновляем список пакетов::
sudo apt update
- Затем установите несколько обязательных пакетов, которые позволяют apt использовать пакеты по HTTPS:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
- Добавляем ключ GPG официального репозитория Docker в вашу систему:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg - Добавляем репозиторий Docker:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
- Обновляем список пакетов:
sudo apt update
- Теперь надо убедится, что все нормально и установка будет из репозитория Docker, а не Ubuntu:
apt-cache policy docker-ce
- На выходе видим плюс минус такую картину:
docker-ce: Installed: (none) Candidate: 5:20.10.14~3-0~ubuntu-jammy Version table: 5:20.10.14~3-0~ubuntu-jammy 500 500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages 5:20.10.13~3-0~ubuntu-jammy 500 500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
- Ну и финальный штрих, установим Docker:
sudo apt install docker-ce
- Проверяем работает ли Docker:
sudo systemctl status docker
- На выходе:
● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-04-01 21:30:25 UTC; 22s ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID: 7854 (dockerd) Tasks: 7 Memory: 38.3M CPU: 340ms CGroup: /system.slice/docker.service └─7854 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
- Разрешаем не root пользователю запускать Docker:
sudo usermod -aG docker ${USER} - Устанавливаем Docker-compose:
mkdir -p ~/.docker/cli-plugins/ curl -SL https://github.com/docker/compose/releases/download/v2.14.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
- Делаем файл запускаемым:
chmod +x ~/.docker/cli-plugins/docker-compose - Проверяем, как все работает:
docker compose version
- Увидим плюс минус:
Docker Compose version v2.14.2
- Для удобной работы с docker compose установим пакет make:
sudo apt install make
- Конфигурирование:
git config --global user.name "ваше имя" git config --global user.email email@example.com - Создаем SSH-ключи и добавляем в Github:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" # Скопируйте содержимое публичного ключа и добавьте его в настройках SSH на GitHub cat /root/.ssh/id_rsa.pub
-
Клонируем себе проект и переходим в папку:
git clone git@github.com:deymonster/poll.git cd poll -
Переименуйте env.tmpl в .env::
mv env.tmpl .env
-
Используйте команды в Makefile для Ubuntu:
- Измените команды в файле Makefile следующим образом:
- docker-compose -f docker-compose.yaml build на
- docker compose -f docker compose.yaml build
- Измените команды в файле Makefile следующим образом:
-
Сборка проекта:
make build
-
Запуск проекта с логами:
make run log
Swagger будет доступен по адресу: http://localhost:5000/docs
При старте создаются два контейнера:
- poll-db (база данных)
- poll-app (приложение)
После старта вам будет доступен пользователь с максимальными правами:
- LOGIN - super@user.me
- PASSWORD - qwe123QWE
Все вопросы пишем сюда -> https://t.me/Deymonster