Локальная разработка
Требования
- Docker и Docker Compose
- Python 3.12+ (для backend)
- Node.js 20+ (для frontend)
- Git
Рабочая папка
У проекта два репозитория. Склонируй оба рядом в одну папку — так, чтобы
получились подпапки backend/ и frontend/:
mkdir project-NN && cd project-NN
git clone https://gitea.simple-env.site/project-NN/backend.git
git clone https://gitea.simple-env.site/project-NN/frontend.git
Запуск через Docker Compose
В рабочей папке (рядом с backend/ и frontend/) создай docker-compose.yml:
services:
db:
image: postgres:16-alpine
environment:
POSTGRES_DB: app
POSTGRES_USER: app
POSTGRES_PASSWORD: app
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data
backend:
build: ./backend
command: python manage.py runserver 0.0.0.0:8000
volumes:
- ./backend:/app
environment:
DATABASE_URL: postgresql://app:app@db:5432/app
DJANGO_SETTINGS_MODULE: config.settings.development
SECRET_KEY: dev-secret-key-not-for-production
DEBUG: "True"
ports:
- "8000:8000"
depends_on:
- db
frontend:
build:
context: ./frontend
target: build # только stage сборки
command: npm run dev -- --host 0.0.0.0
volumes:
- ./frontend:/app
- /app/node_modules
environment:
VITE_API_URL: http://localhost:8000/api
ports:
- "5173:5173"
volumes:
pgdata:
docker compose up -d
docker compose exec backend python manage.py migrate
docker compose exec backend python manage.py createsuperuser
Открой:
- Backend: http://localhost:8000
- Frontend: http://localhost:5173
- Admin: http://localhost:8000/admin
Без Docker (Python)
cd backend
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
# Создай .env файл
echo "DATABASE_URL=postgresql://app:app@localhost:5432/app" > .env
echo "SECRET_KEY=dev-secret" >> .env
echo "DEBUG=True" >> .env
python manage.py migrate
python manage.py runserver
Без Docker (Node)
cd frontend
npm install
echo "VITE_API_URL=http://localhost:8000/api" > .env.local
npm run dev
Зависимости через Nexus (опционально)
Библиотеки можно тянуть через кеширующий proxy платформы — быстрее и не зависит от доступности pypi.org/npmjs. Настройка разовая, без логина (анонимный доступ). В CI и Docker-сборках это уже настроено по умолчанию.
Python — ~/.config/pip/pip.conf (Windows: %APPDATA%\pip\pip.ini):
[global]
index-url = https://nexus.simple-env.site/repository/pypi-proxy/simple/
Или разово: pip install -i https://nexus.simple-env.site/repository/pypi-proxy/simple/ -r requirements.txt
Node — .npmrc в проекте или ~/.npmrc:
registry=https://nexus.simple-env.site/repository/npm-proxy/