3.0 KiB
3.0 KiB
Voley — учет посещаемости волейбольной тренировки
Веб‑приложение для отметки посещения игроков по воскресеньям.
Возможности
- Публичная главная страница: выбор воскресенья, отметка посещения, график за месяц/год.
- Админ‑интерфейс под паролем: добавление игроков, управление активностью.
- Хранение данных в SQLite.
Запуск
- Создайте виртуальное окружение и установите зависимости:
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
- Задайте переменные окружения (можно через
.envв вашей оболочке):
SECRET_KEY— секрет для подписи cookies (любая длинная строка).ADMIN_PASSWORD— пароль админки.
Пример:
export SECRET_KEY="change-me"
export ADMIN_PASSWORD="change-me"
- Запустите сервер:
uvicorn main:app --reload --port 8000
Откройте:
- Главная:
http://localhost:8000/ - Админка:
http://localhost:8000/admin
Данные
SQLite база хранится в data/voley.sqlite3 (создаётся автоматически при первом запуске).
Деплой на сервер
Файлы для продакшн-деплоя находятся в deploy/.
Быстрая установка (Ubuntu/Debian)
# На сервере:
sudo apt update && sudo apt install -y python3-venv nginx
# Скопируйте проект на сервер, затем:
cd /path/to/voley/deploy
chmod +x install.sh
./install.sh
Ручная установка
- Скопируйте проект в
/opt/voley - Создайте
.envиз.env.exampleи заполните переменные - Создайте venv и установите зависимости:
python3 -m venv .venv .venv/bin/pip install -r requirements.txt - Скопируйте
deploy/voley.serviceв/etc/systemd/system/ - Запустите:
sudo systemctl enable --now voley - Настройте nginx (см.
deploy/nginx.conf) - SSL:
sudo certbot --nginx -d your-domain.com
Структура на сервере
/opt/voley/
├── .env # Переменные окружения
├── .venv/ # Виртуальное окружение
├── data/ # SQLite база
│ └── voley.sqlite3
├── main.py
├── db.py
├── auth.py
├── templates/
└── static/
Полезные команды
# Статус
sudo systemctl status voley
# Логи
sudo journalctl -u voley -f
# Перезапуск
sudo systemctl restart voley