Skip to content

Latest commit

 

History

History
76 lines (48 loc) · 2.45 KB

README.md

File metadata and controls

76 lines (48 loc) · 2.45 KB

Thunderbird Accounts

Important

Thunderbird Accounts is still in active development and is not ready for any active use.

Documentation Status

This project uses uv.

Thunderbird Accounts is a Django 5.1 application. Please read up on Django before diving in.

Setup / Running

Installing

Ensure that uv is installed, and then run:

uv sync

Creating a local SuperUser

Run the following and follow the terminal prompts:

./manage.py createsuperuser

Running in docker (recommended)

docker-compose up --build -V

A server will be available at http://localhost:8087/

Running local dev server

./manage.py runserver 0.0.0.0:8087

Exposed dev ports

For development the following ports are exposed:

Service Port for host computer Port in docker network
Webserver 8087 8087
Postgres 5433 5432
Redis 6380 6379
Redis (Insights) 8071 8001
Mailpit (Web UI) 8026 8025
Mailpit (SMTP) 1026 1024

(Note: You're the host computer. So connect to postgres via port 5433!)

Creating additional apps

Apps are feature of django we can use to create re-usable modules with. We mostly just use them to separate out and organize components. Apps can depend on and/or require other internal apps, there's no hard rule here.

Ensure to nest all internal apps inside src/thunderbird_accounts by appending the destination path after the command:

mkdir -p src/thunderbird_accounts/<app name> && ./manage.py startapp <app name> src/thunderbird_accounts/<app name>

Once the app is created go to src/thunderbird_accounts/<app name>/apps.py and prepend thunderbird_accounts. to AuthConfig.name so it looks like thunderbird_accounts.<app name>.

Building documentation locally

Ensure you have the requirements in docs installed and run the following command in the project's root folder:

sphinx-build docs build