first commit

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
orohi
2026-07-25 01:51:44 +03:00
co-authored by Cursor
commit fb00211c48
+65
View File
@@ -0,0 +1,65 @@
# Pitopn — магазин цифровых товаров
#
# Стек: FastAPI (Python) + PostgreSQL 17 + Docker Compose
# Деплой: Dokploy (Compose)
## Быстрый старт локально
```bash
cp .env.example .env
docker compose up --build -d
```
Откройте http://localhost:8000
Проверка здоровья: http://localhost:8000/health
## Переменные окружения
Скопируйте `.env.example` в `.env` и задайте сильные пароли:
| Переменная | Описание |
|---|---|
| `APP_NAME` | Название магазина |
| `SECRET_KEY` | Секрет приложения |
| `POSTGRES_USER` | Пользователь БД |
| `POSTGRES_PASSWORD` | Пароль БД |
| `POSTGRES_DB` | Имя БД |
| `APP_PORT` | Внешний порт (по умолчанию 8000) |
## Деплой в Dokploy
1. Создайте проект **Compose** / **Docker Compose**.
2. Подключите этот репозиторий (или загрузите файлы).
3. Укажите `docker-compose.yml` как compose-файл.
4. В Environment добавьте переменные из `.env.example` (особенно `POSTGRES_PASSWORD` и `SECRET_KEY`).
5. В Domains привяжите домен к сервису `web` на порт **8000**.
6. Deploy.
База `db` не публикуется наружу — только внутри сети Compose. Данные PostgreSQL хранятся в volume `postgres_data`.
## Структура
```
app/
main.py # FastAPI + главная страница
models.py # Product, Category
seed.py # демо-товары при первом запуске
templates/ # Jinja2
static/ # CSS/JS
Dockerfile
docker-compose.yml
```
## Локальная разработка без Docker (опционально)
Нужен PostgreSQL 17 и Python 3.12+:
```bash
python -m venv .venv
# Windows:
.venv\Scripts\activate
pip install -r requirements.txt
# в .env укажите POSTGRES_HOST=localhost
uvicorn app.main:app --reload --port 8000
```