36 lines
1.0 KiB
Markdown
36 lines
1.0 KiB
Markdown
# Max
|
|
|
|
A small little program to manage emails.
|
|
|
|
## Setup
|
|
|
|
Requirements: Docker, Make
|
|
|
|
Start with `make run-dev`
|
|
|
|
## Configuration
|
|
|
|
- `MAX_ORIGIN` (required in production): The public origin of MAX, e.g.
|
|
`https://max.finn.st`
|
|
- `MAX_PRODUCTION=1` is set in the Docker image and makes MAX refuse to start
|
|
in debug mode (`FLASK_DEBUG`). Do not override it.
|
|
|
|
## Reverse proxy
|
|
|
|
In production, the reverse proxy must set `X-Real-IP` to the client's address and **overwrite** any
|
|
value the client sends. Max uses this address for audit logging. For nginx:
|
|
|
|
```nginx
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
```
|
|
|
|
## Dependencies
|
|
|
|
Direct dependencies are listed in `requirements.in` (production) and
|
|
`requirements-dev.in` (development tools). `requirements.txt` and
|
|
`requirements-dev.txt` are lockfiles with exact versions and hashes
|
|
|
|
- After changing a `.in` file: `make lock-deps` and `make sync-deps`
|
|
- Update all dependencies: `make update-deps` and `make sync-deps`
|
|
- Check for known vulnerabilities: `make audit` (before every release)
|