Metadata-Version: 2.4
Name: ddmail_webapp
Version: 0.0.1
Summary: Main web application for the DDMail project.
Project-URL: Homepage, https://github.com/drzobin/ddmail_webapp
Project-URL: Issues, https://github.com/drzobin/ddmail_webapp/issues
Author-email: Robin Larsson <me@drz.se>
License-Expression: AGPL-3.0
License-File: LICENSE
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3
Requires-Python: >=3.8
Requires-Dist: argon2-cffi
Requires-Dist: ddmail-validators
Requires-Dist: dnspython
Requires-Dist: flask
Requires-Dist: flask-session
Requires-Dist: flask-sqlalchemy
Requires-Dist: flask-wtf
Requires-Dist: gunicorn
Requires-Dist: mysqlclient
Requires-Dist: requests
Requires-Dist: toml
Provides-Extra: dev
Requires-Dist: argon2-cffi; extra == 'dev'
Requires-Dist: ddmail-validators; extra == 'dev'
Requires-Dist: dnspython; extra == 'dev'
Requires-Dist: flake8; extra == 'dev'
Requires-Dist: flask; extra == 'dev'
Requires-Dist: flask-session; extra == 'dev'
Requires-Dist: flask-sqlalchemy; extra == 'dev'
Requires-Dist: flask-wtf; extra == 'dev'
Requires-Dist: gunicorn; extra == 'dev'
Requires-Dist: hatchling; extra == 'dev'
Requires-Dist: mysqlclient; extra == 'dev'
Requires-Dist: pytest-cov; extra == 'dev'
Requires-Dist: requests; extra == 'dev'
Requires-Dist: toml; extra == 'dev'
Requires-Dist: twine; extra == 'dev'
Provides-Extra: test
Requires-Dist: argon2-cffi; extra == 'test'
Requires-Dist: ddmail-validators; extra == 'test'
Requires-Dist: dnspython; extra == 'test'
Requires-Dist: flake8; extra == 'test'
Requires-Dist: flask; extra == 'test'
Requires-Dist: flask-session; extra == 'test'
Requires-Dist: flask-sqlalchemy; extra == 'test'
Requires-Dist: flask-wtf; extra == 'test'
Requires-Dist: gunicorn; extra == 'test'
Requires-Dist: mysqlclient; extra == 'test'
Requires-Dist: pytest-cov; extra == 'test'
Requires-Dist: requests; extra == 'test'
Requires-Dist: toml; extra == 'test'
Description-Content-Type: text/markdown

# What is ddmail_webapp
Main web application for the DDMail project.

# What is DDMail
DDMail is a e-mail system/service that prioritize privacy and security. A current production example can be found at www.ddmail.se

# Operating system
Developt for and tested on debian 12.

# Installation
`git clone https://github.com/drzobin/ddmail_webapp.git`<br>

## Setup python virtual environments
`python -m venv [venv path]`<br>
`source [venv path]/bin/activate`

`cd ddmail_webapp/ddmail`<br>
`pip install -r requirements.txt`

## Run in development mode
`cd ddmail_webapp/ddmail`<br>
`export MODE=DEVELOPMENT`<br>
`flask --app ddmail:create_app run --host=0.0.0.0 --debug`

## Run tests in testing mode
`cd ddmail_webapp/ddmail`<br>
`export MODE=TESTING`<br>
`pytest`

## Installation using podmon for development
Here is instruction how to install ddmail_webapp locally for development using podman.<br> 

You can run ddmail locally in Podman by following the below steps. It has been
verified to work with Podman version `4.9.3` and podman-compose `1.0.6`.

Before you start, make sure you clone the below repositories and make sure they
are located in the same directory as `ddmail_webapp`:

* https://github.com/drzobin/ddmail_email_remover
* https://github.com/drzobin/ddmail_dmcp_keyhandler
* https://github.com/drzobin/ddmail_openpgp_keyhandler
* https://github.com/drzobin/ddmail_backup_receiver

```bash
# Once the above repositories are cloned, launch ddmail.
cd ddmail/
podman compose up --build
```
