This is the simplest configuration for developers to start with.
- Run
docker compose run --rm django ./manage.py migrate
- Run
docker compose run --rm django ./manage.py createsuperuser
and follow the prompts to create your own user
- Run
docker compose up
- Access the site, starting at http://localhost:8000/admin/
- When finished, use
Ctrl+C
To non-destructively update your development stack at any time:
- Run
docker compose down
- Run
docker compose pull
- Run
docker compose build --pull
- Run
docker compose run --rm django ./manage.py migrate
- Run
docker compose down -v
This configuration still uses Docker to run attached services in the background, but allows developers to run Python code on their native system.
- Run
docker compose -f ./docker-compose.yml up -d
- Install
uv
- Run
export UV_ENV_FILE=./dev/.env.docker-compose-native
- Run
./manage.py migrate
- Run
./manage.py createsuperuser
and follow the prompts to create your own user
- Ensure
docker compose -f ./docker-compose.yml up -d
is still active - Run
export UV_ENV_FILE=./dev/.env.docker-compose-native
- Run:
./manage.py runserver_plus
- Run in a separate terminal:
uv run celery --app isic.celery worker --loglevel INFO --without-heartbeat
- Run in a separate terminal:
uv run celery --app isic.celery beat --loglevel INFO
- When finished, run
docker compose stop
tox is used to manage the execution of all tests.
Install uv
and run tox with
uv run tox ...
.
When running the "Develop with Docker" configuration, all tox commands must be run as
docker compose run --rm django uv run tox
; extra arguments may also be appended to this form.
Run uv run tox
to launch the full test suite.
Individual test environments may be selectively run. This also allows additional options to be be added. Useful sub-commands include:
uv run tox -e lint
: Run only the style checksuv run tox -e type
: Run only the type checksuv run tox -e test
: Run only the pytest-driven tests
To automatically reformat all code to comply with
some (but not all) of the style checks, run uv run tox -e format
.