An open API service indexing awesome lists of open source software.

https://github.com/pacmancity/furrygallery

FurrySnap Gallery 🐾 - ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎ Π΄ΠΎΠΌΠ°ΡˆΠ½ΠΈΡ… ΠΏΠΈΡ‚ΠΎΠΌΡ†Π°Ρ… ΠΈ ΠΈΡ… достиТСниях πŸ†. Π”Π΅Π»Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ с нашими Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΌΠΈ ΠΏΡƒΡˆΠΈΡΡ‚ΠΈΠΊΠ°ΠΌΠΈ Π½Π΅Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ. πŸ“Έ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚ Π½Π° ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ сСрвСрС, с использованиСм ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Docker 🐳, nginx 🌐, PostgreSQL 🐘 ΠΈ Django + Gunicorn 🐍. Автоматизирован Π΄Π΅ΠΏΠ»ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CI/CD πŸš€
https://github.com/pacmancity/furrygallery

ci-cd docker docker-compose docker-hub github-actions gunicorn linux nginx postgresql python sql

Last synced: 3 months ago
JSON representation

FurrySnap Gallery 🐾 - ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎ Π΄ΠΎΠΌΠ°ΡˆΠ½ΠΈΡ… ΠΏΠΈΡ‚ΠΎΠΌΡ†Π°Ρ… ΠΈ ΠΈΡ… достиТСниях πŸ†. Π”Π΅Π»Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ с нашими Π»ΡŽΠ±ΠΈΠΌΡ‹ΠΌΠΈ ΠΏΡƒΡˆΠΈΡΡ‚ΠΈΠΊΠ°ΠΌΠΈ Π½Π΅Π·Π°Π±Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΌ. πŸ“Έ ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Ρ€Π°Π·Π²Ρ‘Ρ€Π½ΡƒΡ‚ Π½Π° ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ сСрвСрС, с использованиСм ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Docker 🐳, nginx 🌐, PostgreSQL 🐘 ΠΈ Django + Gunicorn 🐍. Автоматизирован Π΄Π΅ΠΏΠ»ΠΎΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ CI/CD πŸš€

Awesome Lists containing this project

README

          

# FurryGallery


[![Nginx](https://img.shields.io/badge/Nginx-1.22-blue?style=for-the-badge&labelColor=333333&logo=NGINX&logoColor=white)](https://nginx.org/ru/)
[![Docker](https://img.shields.io/badge/Docker-20.10.18-blue?style=for-the-badge&labelColor=333333&logo=Docker&logoColor=white)](https://www.docker.com/)
[![Docker-compose](https://img.shields.io/badge/Docker%20compose-2.10.0-blue?style=for-the-badge&labelColor=333333&logo=Docker&logoColor=white)](https://www.docker.com/)
[![Docker Hub](https://img.shields.io/badge/Docker%20Hub-latest-blue?style=for-the-badge&logo=Docker&logoColor=white&labelColor=333333)](https://www.docker.com/products/docker-hub)
[![GitHub Actions](https://img.shields.io/badge/GitHub%20Actions-Workflow-blue?style=for-the-badge&logo=GitHub%20actions&logoColor=white&labelColor=333333)](https://github.com/features/actions)
[![PostgreSQL](https://img.shields.io/badge/PostgreSQL-13.1-blue?style=for-the-badge&labelColor=333333&logo=PostgreSQL&logoColor=white)](https://www.postgresql.org/)
[![gunicorn](https://img.shields.io/badge/gunicorn-20.1.0-blue?style=for-the-badge&labelColor=333333&logo=gunicorn&logoColor=white)](https://gunicorn.org/)
[![Django](https://img.shields.io/badge/Django-3.2.16-blue?style=for-the-badge&labelColor=333333&logo=django&logoColor=white&color=blue)](https://www.djangoproject.com/)
[![DRF](https://img.shields.io/badge/django--rest--framework-3.12.4-blue?style=for-the-badge&labelColor=333333&logo=django&logoColor=white&color=blue)](https://www.django-rest-framework.org/)
[![SimpleJWT](https://img.shields.io/badge/simplejwt-4.7.2-blue?style=for-the-badge&labelColor=333333&logo=django&logoColor=white&color=blue)](https://github.com/davesque/django-rest-framework-simplejwt)
[![PyJWT](https://img.shields.io/badge/PyJWT-2.1.0-blue?style=for-the-badge&labelColor=333333&logo=python&logoColor=white&color=blue)](https://github.com/jpadilla/pyjwt)
[![Djoser](https://img.shields.io/badge/djoser-2.1.0-blue?style=for-the-badge&labelColor=333333&logo=django&logoColor=white&color=blue)](https://github.com/sunscrapers/djoser)
[![ЛицСнзия](https://img.shields.io/github/license/kluev-evga/FurryGallery?color=blue&style=for-the-badge&labelColor=333333&logo=github)](https://github.com/kluev-evga/FurryGallery/blob/master/LICENSE)
[![Π Π°Π·ΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°](https://img.shields.io/github/languages/code-size/kluev-evga/FurryGallery?style=for-the-badge&labelColor=333333&logo=github)](https://github.com/kluev-evga/FurryGallery)

## О ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅

PrettyPets β€” это ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ ΡΠ΅Ρ‚ΡŒ, созданная для ΠΎΠ±ΠΌΠ΅Π½Π° фотографиями ΠΈ историями ΠΎ вашСй ΠΌΠΈΠ»ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ -
Π²Π°ΡˆΠΈΡ… ΠΏΠΈΡ‚ΠΎΠΌΡ†Π°Ρ…. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ бэкСнд-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, основанноС Π½Π° Django, ΠΈ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠ΅ Π½Π°
React. Π’Π΅ΡΡŒ процСсс развСртывания ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° осущСствляСтся Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΌ сСрвСрС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Ρ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°:
nginx, PostgreSQL ΠΈ Django+Gunicorn. Π—Π°Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄ΠΎΠΌ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для сборки Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈ
ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ обновляСтся Π½Π° Docker Hub.

PrettyPets прСдоставляСт возмоТности:

* РСгистрации Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.
* ДобавлСния ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΉ Π²Π°ΡˆΠΈΡ… ΠΏΠΈΡ‚ΠΎΠΌΡ†Π΅Π².
* УдалСния ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΈΡ‚ΠΎΠΌΡ†Π΅Π² ΠΏΠΎ Π²Π°ΡˆΠ΅ΠΌΡƒ ТСланию.
* ΠŸΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ окраски ΠΈ описания ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΈΡ‚ΠΎΠΌΡ†Π°.
* ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡ особСнностями ΠΈ достиТСниями вашСго Π΄Ρ€ΡƒΠ³Π° Π½Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ Π»Π°ΠΏΡ‹.
* Указания Π³ΠΎΠ΄Π° роТдСния ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΈΡ‚ΠΎΠΌΡ†Π°.

FurryGallery, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, являСтся ΡƒΡŽΡ‚Π½Ρ‹ΠΌ ΡƒΠ³ΠΎΠ»ΠΊΠΎΠΌ для всСх, ΠΊΡ‚ΠΎ ΠΎΠ±ΠΎΠΆΠ°Π΅Ρ‚ кошСк. Π­Ρ‚ΠΎ спСциализированная ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ
ΡΠ΅Ρ‚ΡŒ, Π³Π΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ фотографиями своих ΠΏΡƒΡˆΠΈΡΡ‚Ρ‹Ρ… Π΄Ρ€ΡƒΠ·Π΅ΠΉ ΠΈ Π½Π°ΡΠ»Π°ΠΆΠ΄Π°Ρ‚ΡŒΡΡ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ
фотографиями, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ участниками. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ GitHub Actions для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ
тСстирования ΠΈ развСртывания Π½Π° сСрвСрС, Ρ‡Ρ‚ΠΎ обСспСчиваСт ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ удобство использования для
ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

## Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° πŸ“

- `kittygram_workflow.yml`: Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» содСрТит настройки для Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠΉ ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ ΠΈ доставки (CI/CD), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅
Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ тСстированиС ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

- `docker-compose.production.yml`: Π—Π΄Π΅ΡΡŒ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ настройки для запуска ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π² производствСнной срСдС с
использованиСм ΠΎΠ±Ρ€Π°Π·ΠΎΠ² Docker ΠΈΠ· Docker Hub.

- `docker-compose.yml`: Π­Ρ‚ΠΎΡ‚ Ρ„Π°ΠΉΠ» содСрТит настройки для локальной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ тСстирования ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° с локальной сборкой
ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Docker.

- `backend`: Π’ этой Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ находится Π±Π΅ΠΊΠ΅Π½Π΄-Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰Π°Ρ Π·Π° ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈ взаимодСйствиС с Π±Π°Π·ΠΎΠΉ
Π΄Π°Π½Π½Ρ‹Ρ….

- `frontend`: Π—Π΄Π΅ΡΡŒ располоТСна Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, написанная Π½Π° React, которая обСспСчиваСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ
интСрфСйс ΠΈ взаимодСйствиС с Π±Π΅ΠΊΠ΅Π½Π΄ΠΎΠΌ.

## Запуск ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° πŸš€

Для запуска ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Π°ΠΌ потрСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹: Node.js, Python ΠΈ Pip.

### Frontend:

Для настройки Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄-части ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

1. ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

```shell
git clone https://github.com/kluev-evga/FurryGallery.git
```

2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄Π°:

```shell
cd frontend
```

3. УстановитС зависимости:

```shell
npm install
```

4. ЗапуститС Ρ„Ρ€ΠΎΠ½Ρ‚Π΅Π½Π΄:

```shell
npm run dev
```

ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ выполнСния этих шагов, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊ React-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΏΠΎ
адрСсу [127.0.0.1:3000](https://127.0.0.1:3000).

### Backend:

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π±Π΅ΠΊΠ΅Π½Π΄-Ρ‡Π°ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия:

1. ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°:

```shell
git clone https://github.com/kluev-evga/FurryGallery.git
```

2. ΠŸΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ Π±Π΅ΠΊΠ΅Π½Π΄Π°:

```shell
cd backend
```

3. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅:

```shell
python3 -m venv venv
```

4. АктивируйтС Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ (для Linux/macOS):

```shell
source venv/bin/activate
```

Для Windows:

```shell
source venv/scripts/activate
```

5. УстановитС зависимости:

```shell
pip install -r requirements.txt
```

6. Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…:

```shell
python manage.py migrate
```

7. ЗапуститС Π±Π΅ΠΊΠ΅Π½Π΄-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅:

```shell
python manage.py runserver
```

ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ выполнСния этих шагов, Π²Ρ‹ смоТСтС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅ΠΊΠ΅Π½Π΄-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎ
адрСсу [127.0.0.1:8000](https://127.0.0.1:8000).

## Автоматизация развСртывания: CI/CD

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ развСртывания построСн Π½Π° основС CI/CD. Workflow настроСн Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅
Π²Π΅Ρ‚ΠΊΠΈ `master` слуТит событиСм-Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΎΠΌ для запуска тСстирования ΠΈ дСплоя.

ΠŸΡ€ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠΈ события-Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π°, GitHub Actions считываСт Ρ„Π°ΠΉΠ» с описаниСм workflow ΠΈ Π½Π°Π·Π½Π°Ρ‡Π°Π΅Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π½Π½Π΅Ρ€ для
ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ-job Π² этом workflow. Π­Ρ‚ΠΈ Ρ€Π°Π½Π½Π΅Ρ€Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ настройку Docker, сборку
ΠΎΠ±Ρ€Π°Π·ΠΎΠ² ΠΈ ΠΈΡ… Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° Docker Hub. ПослС этого, Π½Π° Π±ΠΎΠ΅Π²ΠΎΠΌ сСрвСрС, производится пСрСзапуск ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ
ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹ ΠΈΠ· свСТих ΠΎΠ±Ρ€Π°Π·ΠΎΠ².

Для выполнСния этих ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ€Π°Π½Π½Π΅Ρ€Ρƒ трСбуСтся аутСнтификация Π½Π° Docker Hub, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π·Ρ‹, Π° Ρ‚Π°ΠΊΠΆΠ΅
аутСнтификация Π½Π° Π±ΠΎΠ΅Π²ΠΎΠΌ сСрвСрС для пСрСзапуска ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ². ΠšΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Ρ‚ΠΎΠΊΠ΅Π½Ρ‹, ΠΏΠ°Ρ€ΠΎΠ»ΠΈ ΠΈ другая
приватная информация, ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ бСзопасно Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ GitHub Actions.

Π­Ρ‚ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ сСкрСтами (secrets), ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сохранСны Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Secrets. Π’ΠΎ врСмя выполнСния
workflow, значСния ΠΈΠ· этого Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, доступныС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ€Π°Π½Π½Π΅Ρ€Ρƒ Π²ΠΎ врСмя запуска workflow.

Для Π±ΠΎΠ»Π΅Π΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠ³ΠΎ контроля Π½Π°Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ workflow Π² GitHub Actions, Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ Telegram-Π±ΠΎΡ‚ для ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΈ
ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π°.

## ЛицСнзия πŸ“œ

Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ `MIT`. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ
Π² [LICENSE](https://github.com/kluev-evga/FurryGallery/blob/master/LICENSE).