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