Local Development Project Setup¶
This section explains how to set up the project for local development using Docker, Docker Compose, uv, and the provided Makefile.
The project is container-first and does not require Python and Redis to be installed on the host machine .
Prerequisites¶
Before starting, ensure the following are installed on your system:
Required¶
- Docker (>= 24.x recommended)
- Docker Compose v2 (comes bundled with Docker Desktop )
- GNU Make
- Git
Project Structure Expectations¶
At minimum, the repository root must contain:
Dockerfile.devDockerfile.proddocker-compose.dev.ymldocker-compose.prod.yml.envMakefilepyproject.tomluv.lock
All Django apps live inside the same repository and are mounted into containers.
Development Setup (Local)¶
Development uses:
- SQLite
- Django runserver
- Redis
- Celery worker
- Celery beat
Local Development Setup Steps:¶
1. Download Project
- Download the project from pykits.dev
- Extract and go to project directory:
cd digistore
2. Environment Configuration
- Rename
.env.dev→.env - Open
.envand update all required environment variable's value. You may need to create accounts for the following services: - Google reCAPTCHA
- Google OAuth (Login)
- Dodo Payments account
- Google Analytics
- Resend: Email Service
- Digital Ocean Object Storage
- Telegram Bot
3. Tailwind Dev Server
If you want hot-reload for Tailwind & frontend assets:
Keep this terminal running during development.
4. (Optional) Reset Old Migrations
If you want a fresh DB schema (only for local dev), Do NOT use on production.
python reset_all_migrations.py
This will:
- Delete migration files
- Reset migration history
After this you must also:
- Delete the existing database (sqlite3.db)
- Then run:
5. Build & Start Development Containers
make rebuild
This will:
- Build the development image (
Dockerfile.dev) - Start Redis
- Start Django app container
- Start Celery worker
- Start Celery beat
- Check running containers:
make ps-all
6. Run Django Migrations
After containers are up: make migrate
7. Access the Website http://127.0.0.1:8000
8. Create Superuser (Admin Login)
make superuser
Then access:
Admin Panel → http://127.0.0.1:8000/pkad
Need Help?
If you face any issues, please create a support request after logging into your account: pykits.dev → My Apps → Support Request
You must Check Make Commands