Files
shop-pip/README.md
T
orohiandCursor fb00211c48 first commit
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-25 01:51:44 +03:00

66 lines
2.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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
```