Сайт для регистрации спортсменов на "Кубок Приморска".
Эти инструкции помогут вам создать копию проекта и запустить ее на локальном компьютере для целей разработки и тестирования. Запуск проекта (на примере Linux)
Перед тем, как начать: У вас должен быть установлен пакет "python3"
- Создайте на своем компютере папку проекта
mkdir Primorsk-cup
и перейдите в нееcd Primorsk-cup
- Склонируйте этот репозиторий в текущую папку
git clone https://github.com/Bazulenkov/primorsk-cup
- Создайте виртуальное окружение
python3 -m venv venv
- Активируйте виртуальное окружение
source venv/bin/activate
- Создайте файл
.env
командойtouch .env
и добавьте в него переменные окружения:
SECRET_KEY=#секретный ключ Django
DEBUG=1
Сгенерировать SECRET_KEY вы можете, например, по этой статье https://tech.serhatteker.com/post/2020-01/django-create-secret-key/
- Установите зависимости
pip install -r requirements.txt
- Создайте все необходимые таблицы в базе данных - выполните команду
./manage.py migrate
- Импортируйте теги в базу - выполните команду
./manage.py load_discipline
- Создайте администратора сайта
./manage.py createsuperuser
(Администратор тоже будет отображаться в списках участников - поэтому после создания администратора, нужно зайти в админку, и добавить все недостающие поля в запись администратора)
Чтобы запустить проект на локальной машине - ./manage.py runserver
Установите Docker, используя инструкции с официального сайта:
- для Windows и MacOS
- для Linux. Отдельно потребуется установть Docker Compose
- Поменяйте в файле
.env
настройкиDEBUG=0
- Добавьте в файл
.env
переменные окружения для работы с базой данных:
DB_ENGINE=django.db.backends.postgresql # указываем, что работаем с postgresql
DB_NAME=postgres # имя базы данных
POSTGRES_USER=postgres # логин для подключения к базе данных
POSTGRES_PASSWORD=postgres # пароль для подключения к БД (установите свой)
DB_HOST=db # название сервиса (контейнера)
DB_PORT=5432 # порт для подключения к БД
EMAIL_HOST=smtp.your-smtp-server.com
[email protected]
EMAIL_HOST_PASSWORD=email-password
EMAIL_PORT=25
EMAIL_USE_TLS=0
- Скопируйте на сервер файл
.env
командами:
scp docker-compose.yaml {user}@{server-ip}:
scp .env {user}@{server-ip}:
scp Dockerfile-nginx {user}@{server-ip}:
- Запустите docker-compose командой
sudo docker-compose up -d
- Накатите миграции
sudo docker-compose exec app python3 manage.py migrate
- Импортируйте теги в базу - выполните команду
sudo docker-compose exec app python3 manage.py load_discipline
- Создайте суперпользователя Django
sudo docker-compose exec app python3 manage.py createsuperuser --email '[email protected]'
- создать переменные окружения в разделе
secrets
настроек текущего репозитория:
DOCKER_PASSWORD # Пароль от Docker Hub
DOCKER_USERNAME # Логин от Docker Hub
HOST # Публичный ip адрес сервера
USER # Пользователь зарегистрированный на сервере
PASSPHRASE # Если ssh-ключ защищен фразой-паролем
SSH_KEY # Приватный ssh-ключ
TELEGRAM_TO # ID телеграм-аккаунта
TELEGRAM_TOKEN # Токен бота
- Проверка кода на стандарты
PEP8
. - Сборка и публикация образа на
Docker Hub
. - Автоматический деплой.
- Отправка уведомления в персональный чат Telegram.
- Python
- Django
- Pillow
- Sorl-thumbnail
- WeasyPrint
- PostgreSQL
- Docker
- Gunicorn
- NGINX
- GitHub Actions
- Bootstrap
- Anton Bazulenkov - Initial work - Bazulenkov
This project is licensed under the MIT License - see the LICENSE.md file for details