A lightweight automatically updated AeroDebrief backend Django API server
2.7K
Django backend for the AeroDebrief flight analysis platform.
Docker tags: 1.5.2-001, 1.5, 1, latest
API backend for the AeroDebrief application. Handles flight data management and analysis. Uses Django Ninja for REST APIs and PostgreSQL for storage.
mypy/pyrefly (strict typing), ruff (lint/format), pre-commit hooks.factory_boy.Clone the repository:
git clone https://gitlab.com/op_so/projects/aerodebrief-backend.git
cd aerodebrief-backend
Install dependencies:
uv sync
Set up the environment: Copy the example environment file and adjust as needed.
cp env.example .env
Create local data directories and start infrastructure:
task 00:020-create-data-dir
rm -rf ./.data/postgresql
mkdir -p ./.data/postgresql && chmod 777 ./.data/postgresql
docker compose up
task 00:030-reset-db
uv run manage.py runserver
API: http://127.0.0.1:8000/api/v1
Doc: http://127.0.0.1:8000/api/v1/docs
Admin: http://127.0.0.1:8000/admin
Mailpit: http://127.0.0.1:8025/
PgAdmin: http://127.0.0.1:8888/
Common tasks are available via Taskfile:
| Command | Description |
|---|---|
task 00:110-format | Format code with ruff. |
task 00:120-lint | Lint with ruff. |
task 00:130-type-check | Type check with mypy and pyrefly. |
task 00:220-run-tests | Run tests with pytest. |
task 00:999-pre-commit | Run all pre-commit checks. |
| Command | Description |
|---|---|
task 00:030-reset-db | Reset DB, run migrations, create superuser. |
| Command | Description |
|---|---|
task 00:710-docker-build-local-dev | Build dev images locally (aerodebrief-api:dev, aerodebrief-rp:dev). |
task 00:730-docker-test-local | Run HTTP tests against the local Docker stack (port 8080). |
Run the full local stack after building images:
docker compose -f compose.local.dev.yml up
| Name | Version | Type |
|---|---|---|
| Simple | Launcher | 1.1.0.14 |
| adduser | 3.152 | deb |
| aerodebrief-backend | 0.0.0 | python |
| annotated-types | 0.8.0 | python |
| apt | 3.0.3 | deb |
| asgiref | 3.12.1 | python |
| base-files | 13.8+deb13u6 | deb |
| base-passwd | 3.6.7 | deb |
| bash | 5.2.37-2+b9 | deb |
| bsdutils | 1:2.41.5-0+deb13u1 | deb |
| ca-certificates | 20250419 | deb |
| cffi | 2.1.1 | python |
| coreutils | 9.7-3 | deb |
| cryptography | 50.0.0 | python |
| dash | 0.5.12-12 | deb |
| debconf | 1.5.91 | deb |
| debian-archive-keyring | 2025.1 | deb |
| debianutils | 5.23.2 | deb |
| diffutils | 1:3.10-4 | deb |
| django | 6.1 | python |
| django-allauth | 65.19.1 | python |
| django-cors-headers | 4.9.0 | python |
| django-ninja | 1.6.3 | python |
| dnspython | 2.8.0 | python |
| dpkg | 1.22.22 | deb |
| email-validator | 2.3.0 | python |
| findutils | 4.10.0-3 | deb |
| gcc-14-base | 14.2.0-19 | deb |
| grep | 3.11-4 | deb |
| gunicorn | 26.1.0 | python |
| gzip | 1.13-1 | deb |
| hostname | 3.25 | deb |
| idna | 3.19 | python |
| init-system-helpers | 1.69~deb13u1 | deb |
| libacl1 | 2.3.2-2+b1 | deb |
| libapt-pkg7.0 | 3.0.3 | deb |
| libattr1 | 1:2.5.2-3 | deb |
| libaudit-common | 1:4.0.2-2 | deb |
| libaudit1 | 1:4.0.2-2+b2 | deb |
| libblkid1 | 2.41.5-0+deb13u1 | deb |
| libbsd0 | 0.12.2-2 | deb |
| libbz2-1.0 | 1.0.8-6 | deb |
| libc-bin | 2.41-12+deb13u3 | deb |
| libc6 | 2.41-12+deb13u3 | deb |
| libcap-ng0 | 0.8.5-4+b1 | deb |
| libcap2 | 1:2.75-10+deb13u1+b1 | deb |
| libcrypt1 | 1:4.4.38-1 | deb |
| libdb5.3t64 | 5.3.28+dfsg2-9 | deb |
| libdebconfclient0 | 0.280 | deb |
| libffi8 | 3.4.8-2 | deb |
| libgcc-s1 | 14.2.0-19 | deb |
| libgdbm6t64 | 1.24-2 | deb |
| libgmp10 | 2:6.3.0+dfsg-3 | deb |
| libhogweed6t64 | 3.10.1-1 | deb |
| liblastlog2-2 | 2.41.5-0+deb13u1 | deb |
| liblz4-1 | 1.10.0-4 | deb |
| liblzma5 | 5.8.1-1+deb13u1 | deb |
| libmd0 | 1.1.0-2+b1 | deb |
| libmount1 | 2.41.5-0+deb13u1 | deb |
| libncursesw6 | 6.5+20250216-2 | deb |
| libnettle8t64 | 3.10.1-1 | deb |
| libpam-modules | 1.7.0-5 | deb |
| libpam-modules-bin | 1.7.0-5 | deb |
| libpam-runtime | 1.7.0-5 | deb |
| libpam0g | 1.7.0-5 | deb |
| libpcre2-8-0 | 10.46-1~deb13u1 | deb |
| libreadline8t64 | 8.2-6 | deb |
| libseccomp2 | 2.6.0-2 | deb |
| libselinux1 | 3.8.1-1 | deb |
| libsemanage-common | 3.8.1-1 | deb |
| libsemanage2 | 3.8.1-1 | deb |
| libsepol2 | 3.8.1-1 | deb |
| libsmartcols1 | 2.41.5-0+deb13u1 | deb |
| libsqlite3-0 | 3.46.1-7+deb13u1 | deb |
| libssl3t64 | 3.5.6-1~deb13u2 | deb |
| libstdc++6 | 14.2.0-19 | deb |
| libsystemd0 | 257.13-1~deb13u1 | deb |
| libtinfo6 | 6.5+20250216-2 | deb |
| libudev1 | 257.13-1~deb13u1 | deb |
| libuuid1 | 2.41.5-0+deb13u1 | deb |
| libxxhash0 | 0.8.3-2 | deb |
| libzstd1 | 1.5.7+dfsg-1 | deb |
| login | 1:4.16.0-2+really2.41.5-0+deb13u1 | deb |
| login.defs | 1:4.17.4-2 | deb |
| mawk | 1.3.4.20250131-1 | deb |
| mount | 2.41.5-0+deb13u1 | deb |
| ncurses-base | 6.5+20250216-2 | deb |
| ncurses-bin | 6.5+20250216-2 | deb |
| netbase | 6.5 | deb |
| openssl | 3.5.6-1~deb13u2 | deb |
| openssl-provider-legacy | 3.5.6-1~deb13u2 | deb |
| passwd | 1:4.17.4-2 | deb |
| perl-base | 5.40.1-6 | deb |
| pip | 26.2.1 | python |
| psycopg | 3.3.4 | python |
| psycopg-binary | 3.3.4 | python |
| pycparser | 3.0 | python |
| pydantic | 2.13.4 | python |
| pydantic-core | 2.46.4 | python |
| pyjwt | 2.13.0 | python |
| python | 3.14.7 | UnknownPackage |
| python-dotenv | 1.2.3 | python |
| readline-common | 8.2-6 | deb |
| sed | 4.9-2+deb13u1 | deb |
| sqlparse | 0.6.0 | python |
| sqv | 1.3.0-3+b2 | deb |
| structlog | 26.1.0 | python |
| sysvinit-utils | 3.14-4 | deb |
| tar | 1.35+dfsg-3.1 | deb |
| typing-extensions | 4.16.0 | python |
| typing-inspection | 0.4.4 | python |
| tzdata | 2026b-0+deb13u1 | deb |
| util-linux | 2.41.5-0+deb13u1 | deb |
| zlib1g | 1:1.3.dfsg+really1.3.1-1+b1 | deb |
This project is licensed under the GNU Affero General Public License (AGPL) - see the LICENSE file for details.
Content type
Image
Digest
sha256:2ef145137…
Size
70.7 MB
Last updated
29 days ago
docker pull jfxs/aerodebrief-api