Skip to content

Studio-Yandex-Practicum/providenie

Repository files navigation

Π‘ΠΎΡ‚ Ρ„ΠΎΠ½Π΄Π° "ΠŸΡ€ΠΎΠ²ΠΈΠ΄Π΅Π½ΠΈΠ΅"

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  1. О Ρ‡Ρ‘ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚?

  2. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

  3. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ запуску

    3.1. Настройка poetry

    3.2. Настройка pre-commit

    3.3. Настройка ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния

  4. Запуск Π±ΠΎΡ‚Π°

    4.1. Запуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° локально

    4.2. Запуск Π² Docker

    4.3. GitHub Actions



1. О Ρ‡Ρ‘ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚?

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ-Π±ΠΎΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Ρ€Π°Π·Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΊΡƒΡ€Π°Ρ‚ΠΎΡ€ΠΎΠ²/ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€ΠΎΠ² Ρ„ΠΎΠ½Π΄Π° β€œΠŸΡ€ΠΎΠ²ΠΈΠ΄Π΅Π½ΠΈΠ΅β€, максимально Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ процСссы ΠΏΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΈΡŽ с родитСлями ΠΈ Π²ΠΎΠ»ΠΎΠ½Ρ‚Π΅Ρ€Π°ΠΌΠΈ.

...

2. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Имя ОписаниС
.data ДирСктория для хранСния Π»ΠΎΠ³ΠΎΠ² ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.
bot ...
bot/conversations ...
core ...
src ...

3. ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΊ запуску

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: использованиС Poetry ΠΈ pre-commit ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ.

3.1. Poetry (инструмСнт для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ сборки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²):

Poetry - это инструмСнт для управлСния зависимостями ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ окруТСниями, Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ для сборки ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π’ этом ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Poetry Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для дальнСйшСй Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ прилоТСния, Π΅Π³ΠΎ установка ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°.

Как ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ?

Установка:

УстановитС poetry слСдуя инструкции с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для установки: Для UNIX-систСм ΠΈ Bash on Windows Π²Π²ΠΎΠ΄ΠΈΠΌ Π² консоль ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

curl -sSL https://install.python-poetry.org | python -

Для WINDOWS PowerShell:

(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | python -


ПослС установки пСрСзапуститС ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ ΠΈ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

poetry --version

Если установка ΠΏΡ€ΠΎΡˆΠ»Π° ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡ‚Π²Π΅Ρ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅

Poetry (version 1.3.1)

Для дальнСйшСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

poetry config virtualenvs.in-project true

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для создания Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ окруТСния Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

ПослС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ создадим Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ нашСго ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

poetry install

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ станСт созданиС Π² ΠΊΠΎΡ€Π½Π΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° ΠΏΠ°ΠΏΠΊΠΈ .venv. Зависимости для создания окруТСния бСрутся ΠΈΠ· Ρ„Π°ΠΉΠ»ΠΎΠ² poetry.lock (ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Π΅Π΅) ΠΈ pyproject.toml

Для добавлСния Π½ΠΎΠ²ΠΎΠΉ зависимости Π² ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ

poetry add <package_name>

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

poetry add starlette

Π’Π°ΠΊΠΆΠ΅ poetry позволяСт Ρ€Π°Π·Π΄Π΅Π»ΡΡ‚ΡŒ зависимости Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, ΠΎΡ‚ основных. Для добавлСния зависимости Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ тСстирования Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ„Π»Π°Π³ --dev

poetry add <package_name> --dev

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

poetry add pytest --dev

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ Ρ€Π°Π±ΠΎΡ‚Ρ‹ послС настройки

Π§Ρ‚ΠΎΠ±Ρ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

poetry shell

БущСствуСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ запуска скриптов ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π±Π΅Π· Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ окруТСния:

poetry run <script_name>.py

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹:

poetry run python script_name>.py

poetry run pytest

poetry run black

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ Π½Π΅ мСняСтся. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для Win:

python src\run_bot.py

ДоступСн стандартный ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠ΅ΠΉ окруТСния Π² Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄:

Для WINDOWS:

source .venv/Scripts/activate

Для UNIX:

source .venv/bin/activate

3.2. Pre-commit (инструмСнт автоматичСского запуска Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π°):

Настройка pre-commit

pre-commit install

Π”Π°Π»Π΅Π΅ ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΊΠΎΠΌΠΌΠΈΡ‚Π΅ Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ автоматичСская ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π»ΠΈΠ½Ρ‚Π΅Ρ€ΠΎΠΌ, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ автоматичСскоС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΌΡƒ ΡΡ‚ΠΈΠ»ΡŽ.

3.3. Настройка ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния

ΠŸΠ΅Ρ€Π΅Π΄ запуском ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ копию Ρ„Π°ΠΉΠ»Π° .env.example, Π½Π°Π·Π²Π°Π² Π΅Π³ΠΎ .env ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠΊΠ΅Π½Π° Π±ΠΎΡ‚Π°

4. Запуск Π±ΠΎΡ‚Π°

Π’ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ запуск Π±ΠΎΡ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ°Ρ… polling ΠΈΠ»ΠΈ webhook.

4.1. Запуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° локально

Запуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° локально

4.1.1. Запуск Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Polling


python src/main.py

4.1.2. Запуск Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Webhook

ΠžΡ‚Π»Π°Π΄ΠΊΠ° прилоТСния с Π±ΠΎΡ‚ΠΎΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ webhook Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ выполнСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… дСйствий:


НСобходимыС дСйствия

Π’ случаС отсутствия сСрвСра с Π΄ΠΎΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΈ установлСнным SSL-сСртификатом, для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ прилоТСния ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ngrok для построСния туннСля Π΄ΠΎ вашСго ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°.
Для этого Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ:

  • Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ngrok
  • Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² сСрвисС ngrok ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠΊΠ΅Π½
  • Π—Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ Ρ‚ΠΎΠΊΠ΅Π½ Π½Π° локальном ΠΊΠΎΠΌΡŒΡŽΡ‚Π΅Ρ€Π΅
ngrok config add-authtoken <ваш Ρ‚ΠΎΠΊΠ΅Π½>
  • Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ½Π½Π΅Π»ΡŒ ngrok
ngrok http 8000 --host-header=site.local
  • Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· консоли адрСс (https), прСдоставлСнный сСрвисом ngrok, Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния APPLICATION_URL:
APPLICATION_URL=https://1234-56-78-9.eu.ngrok.io # ΠΏΡ€ΠΈΠΌΠ΅Ρ€
  • Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с Π±ΠΎΡ‚ΠΎΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ webhook (см. Π²Ρ‹ΡˆΠ΅)
python src/run_webhook_api.py

Π‘ΠΎΠ»Π΅Π΅ подробная информация ΠΎΠ± использовании сСрвиса ngrok доступна Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС


python src/run_webhook_api.py

4.2. Запуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² Docker

Запуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· Docker
МоТно Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π±ΠΎΡ‚Π° Ρ‡Π΅Ρ€Π΅Π· docker-compose Π² тСстовом Ρ€Π΅ΠΆΠΈΠΌΠ΅. Для этого Π² ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ
docker-compose up -d --build

4.3. GitHub Actions Π΄Π΅ΠΏΠ»ΠΎΠΉ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр

Warning

НС мСняйтС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ POSTGRES_, Ссли ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΡƒΠΆΠ΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½ Π½Π° сСрвСрС.

Запуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° сСрвСрС Π² docker-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅

Workflow:

  • style_check - ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΊΠΎΠ΄Π° Π½Π° соотвСтствиС стандарту PEP8;
  • providenie - автоматичСский Π±ΠΈΠ»Π΄ ΠΈ Π΄Π΅ΠΏΠ»ΠΎΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π½Π° Π±ΠΎΠ΅Π²ΠΎΠΉ сСрвСр;

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ push Π² release-Π²Π΅Ρ‚ΠΊΡƒ Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Π²ΠΎΡ€ΠΊΡ„Π»ΠΎΡƒ providenie.

Π‘Ρ‚Π°Π΄ΠΈΠΈ:

  • Π‘Π±ΠΎΡ€ΠΊΠ° docker-image bot ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π² Packages рСпозитория.
  • Π”Π΅ΠΏΠ»ΠΎΠΉ Π½Π° сСрвСр
    • ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ docker-compose.yaml, nginx.conf ΠΈ providenie.service (Unit для обслуТивания ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ systemd)
    • Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΠΎΠ³ΠΎ docker-ΠΎΠ±Ρ€Π°Π·Π° ΠΈ пСрСзапуск ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²

ΠŸΡ€ΠΎΡ†Π΅ΡΡ построСн с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ сСрвСр ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пуст, Ρ‚Π°ΠΊ ΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° Π½Π΅ΠΌ ΡƒΠΆΠ΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° сСрвСра:

  1. Π’ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° свой ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр Π² ΠΎΠ±Π»Π°ΠΊΠ΅.
  2. УстановитС docker:
sudo apt install docker.io
  1. УстановитС docker-compose, с этим Π²Π°ΠΌ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация.
  2. Π’ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Π½Π° Π“ΠΈΡ‚Ρ…Π°Π±Π΅ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Settings -> Secrets -> Actions -> New repository secret:
DOCKER_USERNAME - ваш username на dockerhub
DOCKER_PASSWORD - ваш ΠΏΠ°Ρ€ΠΎΠ»ΡŒ Π½Π° dockerhub

USER - имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ сСрвСру
HOST - IP-адрСс вашСго сСрвСра
SSH_KEY - скопируйтС ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ с ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ доступ ΠΊ Π±ΠΎΠ΅Π²ΠΎΠΌΡƒ сСрвСру (cat ~/.ssh/id_rsa)
PASSPHRASE - Ссли ΠΏΡ€ΠΈ создании ssh-ΠΊΠ»ΡŽΡ‡Π° Π²Ρ‹ использовали Ρ„Ρ€Π°Π·Ρƒ-ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Ρ‚ΠΎ сохранитС Π΅Ρ‘ Π² эту ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ

TELEGRAM_TOKEN=5274023561:AAH3lUgvoGvLN51wtMze_ZGrTO0RRHGTuJM
[email protected]
EMAIL_BOT_PASSWORD=EmailPassword
[email protected]
LOG_LEVEL=INFO

# ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ Π‘Π”
POSTGRES_USER=user
POSTGRES_PASSWORD=password
POSTGRES_DB=test_db
POSTGRES_SERVER=db
POSTGRES_PORT=5432

# ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ JWT
TOKEN_SECRET_KEY=my_secret_key
TOKEN_ALGORITHM=HS256
TOKEN_EXPIRE_MINUTES=30

# ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для создания ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π°Π΄ΠΌΠΈΠ½Π°.
FIRST_SUPERUSER_TG_ID=tg_id
FIRST_SUPERUSER_FIRST_NAME=first_name
FIRST_SUPERUSER_USER_NAME=username
FIRST_SUPERUSER_PASSWORD=password
FIRST_SUPERUSER_IS_ADMIN=True

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages