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

2.1 KiB
Raw Blame History

Pitopn — магазин цифровых товаров

Стек: FastAPI (Python) + PostgreSQL 17 + Docker Compose

Деплой: Dokploy (Compose)

Быстрый старт локально

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+:

python -m venv .venv
# Windows:
.venv\Scripts\activate
pip install -r requirements.txt
# в .env укажите POSTGRES_HOST=localhost
uvicorn app.main:app --reload --port 8000