Giter Club home page Giter Club logo

kittygram_final's Introduction

Kittygram

Ссылка на Kittygram


Использованные технологии

DockerPostgresPythonDjangoNodeJS

Функционал сайта

После регистрации у вас есть возможность редактировать, добавлять, удалять, просматривать картинки, описание и достижения котиков.

Подготовка к запуску

Установите Docker и Docker-compose на сервер.

sudo apt update
sudo apt install curl
curl -fSL https://get.docker.com -o get-docker.sh
sudo sh ./get-docker.sh
sudo apt-get install docker-compose-plugin

Клонируйте репозиторий:

git clone [email protected]:martiandrew/kittygram_final.git

В папке с проектом переименуйте файл .env.example в .env и заполните его своими данными:

POSTGRES_USER - имя пользователя для базы данных

POSTGRES_PASSWORD - пароль для базы данных

POSTGRES_DB - имя базы данных

SECRET_KEY - секретный ключ для Django

DEBUG - режим отладки Django

ALLOWED_HOSTS - список разрешенных хостов

DB_HOST - имя хоста базы данных

DB_PORT - порт базы данных

NGINX_PORT - порт Nginx

DOCKER_LOGIN - логин от Docker Hub

Запуск проекта

Находясь в папке с проектом запустите проект командой:

sudo docker compose -f docker-compose.production.yml up -d

Выполните миграции, соберите статические файлы бэкенда и скопируйте их в /static/static/:

sudo docker compose -f docker-compose.production.yml exec backend python manage.py migrate
sudo docker compose -f docker-compose.production.yml exec backend python manage.py collectstatic
sudo docker compose -f docker-compose.production.yml exec backend cp -r /app/collected_static/. /static/static/

Настройте Nginx:

sudo docker compose -f docker-compose.production.yml exec nginx nginx -s reload

Измените настройки location в секции server, вместо ХХХХХ укажите тот же порт, что и в .env файле NGINX_PORT:

location / {
    proxy_pass http://127.0.0.1:XXXXX;
}

Проверьте работоспособность конфига:

sudo nginx -t

Перезапустите Nginx:

sudo service nginx reload

Настройка CI/CD

Файл workflow уже написан. Он находится в директории .github/workflows/main.yml Для его работоспособности добавьте секреты в GitHub Actions:

DOCKER_PASSWORD - пароль от Docker Hub

DOCKER_USERNAME - логин от Docker Hub

HOST - ip адрес сервера

USER - имя пользователя на сервере

SSH_KEY - приватный ключ для подключения к серверу

SSH_PASSPHRASE - пароль от приватного ключа

TELEGRAM_TO - id пользователя в Telegram

TELEGRAM_TOKEN - токен бота в Telegram


Автор

Андрей Мишков (GitHub)

kittygram_final's People

Contributors

martiandrew avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.