The Official Website for Dotman Comics
- Python 3.14 / Django 5.2
- PostgreSQL — primary database
- S3-compatible storage (RustFS / MinIO) — static and media files
uv— dependency and virtual environment managementruff— linting
I'm using Dev Containers so that everything starts up nice and proper. Just need VS Code and the Dev Containers extension.
After the container starts, run the following once to prepare the database and publish static assets:
uv run manage.py migrate
uv run manage.py collectstaticNote: Authorize
claudefrom outside the Dev Container before starting, as it can't authorize reliably from inside. Make sure both~/.claudeand~/.claude.jsonare mounted to thevscodeuser's home directory in the Dev Container.
uv run manage.py migrate
uv run manage.py runserverNote:
migrateonly needs to run once, but it's safe to run again — it detects no new migrations and does nothing.
uv run manage.py createsuperuseruv run pytestNote:
pyproject.tomlhas configurations forpytestto work.
uv run ruff check --diff .This will check the formatting and report any errors:
uv run ruff format --check .This will automatically format the code:
uv run ruff formatKeeping this section as a fallback in case of Dev Container issues.
You'll need:
Install uv:
brew install uvAstral's uv manages Python projects, dependencies, and virtual environments.
Copy env.example to .env and review the values:
cp env.example .envDo not use the example values for production or UA environments.
Bring up the database and S3-compatible storage server:
docker compose up postgres -d
docker compose up s3 -dNote: You will need to manually create the bucket in MinIO (the S3-compatible server) after it starts.