mirror of
https://github.com/chatmail/relay.git
synced 2026-05-14 18:04:38 +00:00
Compare commits
2 Commits
metrics
...
tweak-read
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0bfbff4400 | ||
|
|
0a42fd1a9f |
18
README.md
18
README.md
@@ -15,8 +15,8 @@ after which the initially specified password is required for using them.
|
|||||||
|
|
||||||
## Deploying your own chatmail server
|
## Deploying your own chatmail server
|
||||||
|
|
||||||
We subsequently use `CHATMAIL_DOMAIN` as a placeholder for your fully qualified
|
We use `chat.example.org` as the chatmail domain in the following steps.
|
||||||
DNS domain name (FQDN), for example `chat.example.org`.
|
Please substitute it with your own domain.
|
||||||
|
|
||||||
1. Install the `cmdeploy` command in a virtualenv
|
1. Install the `cmdeploy` command in a virtualenv
|
||||||
|
|
||||||
@@ -25,19 +25,19 @@ DNS domain name (FQDN), for example `chat.example.org`.
|
|||||||
cd chatmail
|
cd chatmail
|
||||||
scripts/initenv.sh
|
scripts/initenv.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Create chatmail configuration file `chatmail.ini`:
|
2. Create chatmail configuration file `chatmail.ini`:
|
||||||
|
|
||||||
```
|
```
|
||||||
scripts/cmdeploy init CHATMAIL_DOMAIN
|
scripts/cmdeploy init chat.example.org # <-- use your domain
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Setup first DNS records for your `CHATMAIL_DOMAIN`,
|
3. Setup first DNS records for your chatmail domain,
|
||||||
according to the hints provided by `cmdeploy init`.
|
according to the hints provided by `cmdeploy init`.
|
||||||
Verify that SSH root login works:
|
Verify that SSH root login works:
|
||||||
|
|
||||||
```
|
```
|
||||||
ssh root@CHATMAIL_DOMAIN
|
ssh root@chat.example.org # <-- use your domain
|
||||||
```
|
```
|
||||||
|
|
||||||
4. Deploy to the remote chatmail server:
|
4. Deploy to the remote chatmail server:
|
||||||
@@ -75,7 +75,7 @@ scripts/cmdeploy bench
|
|||||||
|
|
||||||
## Overview of this repository
|
## Overview of this repository
|
||||||
|
|
||||||
This repository drives the development of "chatmail instances",
|
This repository drives the development of chatmail services,
|
||||||
comprised of minimal setups of
|
comprised of minimal setups of
|
||||||
|
|
||||||
- [postfix smtp server](https://www.postfix.org)
|
- [postfix smtp server](https://www.postfix.org)
|
||||||
@@ -91,7 +91,7 @@ as well as custom services that are integrated with these two:
|
|||||||
to send mails for them.
|
to send mails for them.
|
||||||
|
|
||||||
- `chatmaild/src/chatmaild/filtermail.py` prevents
|
- `chatmaild/src/chatmaild/filtermail.py` prevents
|
||||||
unencrypted e-mail from leaving the chatmail instance
|
unencrypted e-mail from leaving the chatmail service
|
||||||
and is integrated into postfix's outbound mail pipelines.
|
and is integrated into postfix's outbound mail pipelines.
|
||||||
|
|
||||||
There is also the `cmdeploy/src/cmdeploy/cmdeploy.py` command line tool
|
There is also the `cmdeploy/src/cmdeploy/cmdeploy.py` command line tool
|
||||||
@@ -104,7 +104,7 @@ to automatically install all chatmail components on a server.
|
|||||||
### Home page and getting started for users
|
### Home page and getting started for users
|
||||||
|
|
||||||
`cmdeploy run` also creates default static Web pages and deploys them
|
`cmdeploy run` also creates default static Web pages and deploys them
|
||||||
to an nginx web server under `https://CHATMAIL_DOMAIN`.
|
to a nginx web server with:
|
||||||
|
|
||||||
- a default `index.html` along with a QR code that users can click to
|
- a default `index.html` along with a QR code that users can click to
|
||||||
create accounts on your chatmail provider,
|
create accounts on your chatmail provider,
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ where = ['src']
|
|||||||
doveauth = "chatmaild.doveauth:main"
|
doveauth = "chatmaild.doveauth:main"
|
||||||
filtermail = "chatmaild.filtermail:main"
|
filtermail = "chatmaild.filtermail:main"
|
||||||
echobot = "chatmaild.echo:main"
|
echobot = "chatmaild.echo:main"
|
||||||
chatmail-metrics = "chatmaild.metrics:main"
|
|
||||||
|
|
||||||
[project.entry-points.pytest11]
|
[project.entry-points.pytest11]
|
||||||
"chatmaild.testplugin" = "chatmaild.tests.plugin"
|
"chatmaild.testplugin" = "chatmaild.tests.plugin"
|
||||||
|
|||||||
@@ -1,23 +0,0 @@
|
|||||||
#!/usr/bin/env python3
|
|
||||||
from pathlib import Path
|
|
||||||
import time
|
|
||||||
import sys
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
vmail_dir = sys.argv[1]
|
|
||||||
accounts = 0
|
|
||||||
ci_accounts = 0
|
|
||||||
|
|
||||||
for path in Path(vmail_dir).iterdir():
|
|
||||||
accounts += 1
|
|
||||||
if path.name.startswith("ci-"):
|
|
||||||
ci_accounts += 1
|
|
||||||
|
|
||||||
timestamp = int(time.time() * 1000)
|
|
||||||
print(f"accounts {accounts} {timestamp}")
|
|
||||||
print(f"ci_accounts {ci_accounts} {timestamp}")
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
main()
|
|
||||||
@@ -84,18 +84,6 @@ def _install_remote_venv_with_chatmaild(config) -> None:
|
|||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
files.template(
|
|
||||||
src=importlib.resources.files(__package__).joinpath("metrics.cron.j2"),
|
|
||||||
dest="/etc/cron.d/chatmail-metrics",
|
|
||||||
user="root",
|
|
||||||
group="root",
|
|
||||||
mode="644",
|
|
||||||
config={
|
|
||||||
"mail_domain": config.mail_domain,
|
|
||||||
"execpath": f"{remote_venv_dir}/bin/chatmail-metrics",
|
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
||||||
# install systemd units
|
# install systemd units
|
||||||
for fn in (
|
for fn in (
|
||||||
"doveauth",
|
"doveauth",
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
*/5 * * * * root {{ config.execpath }} /home/vmail/mail/{{ config.mail_domain }} >/var/www/html/metrics
|
|
||||||
@@ -41,10 +41,6 @@ http {
|
|||||||
try_files $uri $uri/ =404;
|
try_files $uri $uri/ =404;
|
||||||
}
|
}
|
||||||
|
|
||||||
location /metrics {
|
|
||||||
default_type text/plain;
|
|
||||||
}
|
|
||||||
|
|
||||||
# add cgi-bin support
|
# add cgi-bin support
|
||||||
include /usr/share/doc/fcgiwrap/examples/nginx.conf;
|
include /usr/share/doc/fcgiwrap/examples/nginx.conf;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,11 +3,6 @@
|
|||||||
|
|
||||||
## More information
|
## More information
|
||||||
|
|
||||||
`nine.testrun.org` provides a low-maintenance, resource efficient and
|
|
||||||
interoperable e-mail service for everyone. What's behind a `chatmail` is
|
|
||||||
effectively a normal e-mail address just like any other but optimized
|
|
||||||
for the usage in chats, especially DeltaChat.
|
|
||||||
|
|
||||||
### Choosing a chatmail address instead of using a random one
|
### Choosing a chatmail address instead of using a random one
|
||||||
|
|
||||||
In the Delta Chat account setup
|
In the Delta Chat account setup
|
||||||
|
|||||||
Reference in New Issue
Block a user