Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add a local SMTP server #574

Merged
merged 2 commits into from
Oct 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .envs/.example
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ POSTGRES_USER=jandig
POSTGRES_PASSWORD=secret

# Email server variables
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
SMTP_SERVER=mailpit
SMTP_PORT=1025
[email protected]
JANDIG_EMAIL_PASSWORD=local_password
24 changes: 21 additions & 3 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@ services:
condition: service_started
createbuckets:
condition: service_started
mailpit:
condition: service_started
postgres:
condition: service_healthy
command: /jandig/run.sh
Expand Down Expand Up @@ -49,15 +51,15 @@ services:
volumes:
- media_data:/storage
env_file:
- .envs/.env
- .envs/.example
command: server /storage --console-address ":9001"

createbuckets:
image: minio/mc:RELEASE.2022-09-16T09-16-47Z
depends_on:
- storage
env_file:
- .envs/.env
- .envs/.example
entrypoint: >
/bin/sh -c "
until (/usr/bin/mc config host add myminio $${MINIO_S3_ENDPOINT_URL} $${MINIO_ROOT_USER} $${MINIO_ROOT_PASSWORD}) do echo '...waiting...' && sleep 1; done;
Expand All @@ -68,7 +70,23 @@ services:
/usr/bin/mc admin policy set myminio readwrite user=$${MINIO_USER_ACCESS_KEY};
exit 0;
"
mailpit:
image: axllent/mailpit
volumes:
- mailpit_data:/data
- ./etc/mailpit/:/self_signed/
ports:
- 8025:8025
- 1025:1025
environment:
MP_MAX_MESSAGES: 5000
MP_DATABASE: /data/mailpit.db
MP_SMTP_AUTH_ACCEPT_ANY: 1
MP_SMTP_AUTH_ALLOW_INSECURE: 1
MP_SMTP_TLS_CERT: /self_signed/mailpit_cert.pem
MP_SMTP_TLS_KEY: /self_signed/mailpit_key.pem

volumes:
postgres_data:
media_data:
media_data:
mailpit_data:
10 changes: 10 additions & 0 deletions etc/mailpit/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Mailpit configuration:
Reference: https://mailpit.axllent.org/docs/configuration/certificates/

The following command will generate a self-signed certificate and key (both needed for Mailpit) which is valid for 10 years:

```
openssl req -x509 -newkey rsa:4096 \
-nodes -keyout mailpit_key.pem -out mailpit_cert.pem \
-sha256 -days 3650
```
33 changes: 33 additions & 0 deletions etc/mailpit/mailpit_cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
-----BEGIN CERTIFICATE-----
MIIFsTCCA5mgAwIBAgIUEdY/Ljoa1qs4Wk+7iWlpAokmkzQwDQYJKoZIhvcNAQEL
BQAwaDELMAkGA1UEBhMCQlIxEjAQBgNVBAgMCVNhbyBQYXVsbzESMBAGA1UEBwwJ
U2FvIFBhdWxvMQ8wDQYDVQQKDAZKYW5kaWcxDDAKBgNVBAsMA0FSdDESMBAGA1UE
AwwJbG9jYWxob3N0MB4XDTI0MTAyNjE2MDYwNFoXDTM0MTAyNDE2MDYwNFowaDEL
MAkGA1UEBhMCQlIxEjAQBgNVBAgMCVNhbyBQYXVsbzESMBAGA1UEBwwJU2FvIFBh
dWxvMQ8wDQYDVQQKDAZKYW5kaWcxDDAKBgNVBAsMA0FSdDESMBAGA1UEAwwJbG9j
YWxob3N0MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvZ2euy9sDkUI
DuUEc9WDIBKsPUl8JuW1dk7F0+H3uq+B8RSHqmh8F+FYn0c4tU55h6/Pq7DdSaMv
AVnnKr7lny+IWnEtmBLv6igzql/ce7N3f+025dP6x/4Gd29TVKx4faTQTDxHF2PK
rINl1uPF82wqii2QL5oBSNEmR0ASEsPjjLLFd35QjAdO4pSKj5UV4fUMGRo1M4y+
2Wq3szp31SNGfsS3yxT2A7Rp+VvYf2NuW3ajivvga8iLx52BA6XtBCh6t4xnJfcV
5Xei3IYbMFQl8fcvMM17va7w2oAIbKtMV8nd9cWXaRxvWoExdzgXjzsEJFwv/geM
asn9BVaHGuR+vlbBahYl9GAxpLEW7Og29SyHfKKgGAmm6tNmegrm/S6wizwU5I+X
z036hGFEGysa2NdU2WzcBXUrz4pskVXMaqmCo0rP2b74mGqU0ppAfI/wqsQKeUZf
x1+0STO4r9TxlzslrD5i4eGB21PwR8dV2XHUCWGjzRDzpiM6hnYgXnT8DN1TLPD8
pw1CZC73TqoOU5dn3Us/rcBNWAp3Gb0/gHyvsUbKyTzX8Ug1Nq1XfrD7W9CjgTcv
zsJ3OL4FvxFeAePwcZQTj/QdgrsQiEw1bNsmCf44Kaxlx6rvVTCTZjJLncoX0VJo
DkJq83j57PRouQNgH5LUfH49sCJtoyMCAwEAAaNTMFEwHQYDVR0OBBYEFBPeFFsG
GFjffYm/xp/VWV9aTzYYMB8GA1UdIwQYMBaAFBPeFFsGGFjffYm/xp/VWV9aTzYY
MA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIBAAA/g37n4BQOfFtz
etD4WMhqG/yhdRJIvPPLUU//CsmljVniqxZlDIQ0KeA3kir2tc/TP6TOiwRx1REV
hw7CRd8AAnn9a57osSJ652Hjkdhfb4XF3RS6aKZvs89jW36F1PwRoDu0lH2ROWSL
pogeQbUKJMy5ekzZ2yY72fuMSolZHvQAjpwTIKUBXsfdDnAmozCBYPei3StwNFJ3
0Wf8KGeYWYTXQ32rRy6vi/OlQ/9iM2l/7/Oyzm/4dlBVISPYSPv/p47yKnSersoR
2ZNVjKXZhq+Cw0kW9wuphn2Tixk9gyt2PfO+voACqgYV50uBw3bcf1UAPJO/Yxdm
L03jWQtQIo1/UIR1vhhtxzc9jJlifu9qtr3aUS26TNYUt5xYwg6Exj+Fh3+u4mjj
xom22TaxbOQGN1RKaXrUPIN1W/SYKOe0J+oARvzg8VdYPDpbJlueLSh3q7CVlFin
OtkjAH8S/4EpDoyIANAdDiHvO+Bukcx5K/bPUsure7F0XdjtjKPYpRjN1pWW9HTC
ESa/jBvEab0Glb4ngqrcKHs6TvLA2OxiUKpwVNO6TkU93P+/lEWalIyn2BRgKV69
Qias+xfiU1CiuflP6zkzTq5JWbaI0qENBfzUT1sJSSI6LfEAMafSWKL2BcBsLT7a
cGLldaUHc8Vqm9fAFVq0p6+zxFkm
-----END CERTIFICATE-----
52 changes: 52 additions & 0 deletions etc/mailpit/mailpit_key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
-----BEGIN PRIVATE KEY-----
MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQC9nZ67L2wORQgO
5QRz1YMgEqw9SXwm5bV2TsXT4fe6r4HxFIeqaHwX4VifRzi1TnmHr8+rsN1Joy8B
WecqvuWfL4hacS2YEu/qKDOqX9x7s3d/7Tbl0/rH/gZ3b1NUrHh9pNBMPEcXY8qs
g2XW48XzbCqKLZAvmgFI0SZHQBISw+OMssV3flCMB07ilIqPlRXh9QwZGjUzjL7Z
arezOnfVI0Z+xLfLFPYDtGn5W9h/Y25bdqOK++BryIvHnYEDpe0EKHq3jGcl9xXl
d6LchhswVCXx9y8wzXu9rvDagAhsq0xXyd31xZdpHG9agTF3OBePOwQkXC/+B4xq
yf0FVoca5H6+VsFqFiX0YDGksRbs6Db1LId8oqAYCabq02Z6Cub9LrCLPBTkj5fP
TfqEYUQbKxrY11TZbNwFdSvPimyRVcxqqYKjSs/ZvviYapTSmkB8j/CqxAp5Rl/H
X7RJM7iv1PGXOyWsPmLh4YHbU/BHx1XZcdQJYaPNEPOmIzqGdiBedPwM3VMs8Pyn
DUJkLvdOqg5Tl2fdSz+twE1YCncZvT+AfK+xRsrJPNfxSDU2rVd+sPtb0KOBNy/O
wnc4vgW/EV4B4/BxlBOP9B2CuxCITDVs2yYJ/jgprGXHqu9VMJNmMkudyhfRUmgO
QmrzePns9Gi5A2AfktR8fj2wIm2jIwIDAQABAoICAATk9SfdC9ugb4grdnVQ+H8l
OfVbT5Zwlni5hIS5Pa4/uDdKMbqRQN2cE9SbiKpoQvAXmyotb8DT6bNXA4Xj3kR3
17KtXsXXxZRLOcmbiyCekoICCwAT13cZ79mCFnxYiVY8V+vMaaiAHZBdHVbESn9D
rUf/FPENm9K8a+Qp7ds2koCSKHX771fjrUKF1b/FwSrGKv5GmNVil5ZAGW/uHVq8
jkp9P9j3nQrnAnvWD0roxepAVKPt1Xd+MTYKfD33gffDJt4Llqm6SBR7BW4XpO+X
D+NkqH72WSdCDmPtdEESZpPbhwEb1jblSTdkn1AsstZpIH7i6gA31c4cI+ksbxmU
EfeunYL66L2yH6YSYV6oTvmLPPCUoRZdMtXfKH9zIVh8HtF7jgb9iyMtqYsdGuW9
+Lv9gVaWR7uKcDHNJAOosYlDzRw8XWfsbR4Lo40E0pllsUwQzrDtBBouomIJXbcr
vwfi9HJJyBymaZDD7nL0Y/Uyy9PrjMmwwlk/JXQAXat1hFyyKeAJ18rFI+alp/DO
4d0YhsgxhGE6GgxSoEU5ZMlL+n/gv13zcbnjc82Z3Ex4CNv2pah1epadrtluieE/
nadDdKMAYWgvmT6ZHMkhOLrDOkxNe3YYIthEAB6BG9gA/jurNvVS8z8thP/VfMoM
F96rem5oJ6qv6idBYxltAoIBAQD50R/vvi6EFP6vcjs/XTrwCSf4GtmTDN+mebH2
CRlfvpfXuJxdnGkcFfZUhPioy7QfbiJdD1KOdNeicq/toEJbKoQxsf4PHeAW2Q8S
gUZezsHk2Zn9JM25VMKMBgSmicuKETag9YdWbPrqqwEpv7SYgrW+j0E5rQH16iLX
eKqKGUe+S2CXmglvIdkmZSwL0Zz6E0rKNT8jjCK3wfsz75JvPGEBCMyhaIMFB23x
5xEQYUbVA+kwjBmivkjS5r+vfefJi8Ea2fBGF0VU0NuHyx+dEhrpdaS3dSA/Bc9r
Hh7HGsnjHMNfV2DwNcgr4uhJlJWvqOTMImXQDyoOHNXaqbv3AoIBAQDCTw1Q/HDU
ciy95NZHtQURLATMRyJPWNQj/2lxfBImqj45ue+n3B3oCQd/BP0RSjGUjuUz+Khh
uMjx+FVRLneJe2oFnEzvQwbWU83vNc+8FJKTP1tCgerwR7+s7goLqKIGjUllhzL0
znVET3KncFBXCc+bjH3Lerq+anvF+JNitgiZxP6wwiJOi9tOEYPe1EAYn1dZSPMB
1emhLODAbn6ye/9s5Ts2wWOSlkaEj/Jcx5ntFROkT3JCrzsSYEGWv03RSfxjc3ZD
/WUSdoKLpSTXzYGexX204YTH2StTYM3vymY+WWr6xK5mf6ZnL7AYkb2m2MUP9IJR
JEC4Rec+2881AoIBAFrnpl9vLS4TFbpyLu0X1+KQ8mJuIs5H2PqTPhbxqLIWgNqW
6w+FYxo9Q63t1S5XMexd/1MtyDTef7k1Up99uafDCOeshW6qyGiIA9wP/rNxOU01
gbuEMPhHx6N8bSTM76wGJ4La1ay1a3kJURsID4ePyOLW7j02n4gE8zjFSAmIuXqd
o0CHZPdzsbkvB6AlXqIBcy2xwpAE5n1HsUls3DRuHD5sHUp+5W5nDbMBCkyTmVra
WXi5AnseExHrtcT+Y+ILYPGMbMqUnT4H4lq/p3lYpUJe9NltXZaRXrDz/O8m6GAk
j1OaUEQYzgZqQ2zDDNUm+FrwCWx0mDEafRdcvHECggEAMbxYVT14h/h9mVGkw5AD
LwUMaVlf392F13z9+W1fnAQBj3cXb+j4wrbk809Mk4thK3x0EJx6RSEuVjlRZUk2
kbtERRFf4/JNIrkqwisM9EBz0DrsWha1EzHaTyJS8e8FIhYyDknP8jeSbpzDZTZr
agv51v/cByRv/mN1MRRSbXbYtrtk0cuvSlmkFdSH45aCnYrTqefxQ6wEdBvvn3Ho
/jidBbubL4XKve+3NyE9USBKNxQpBerL/WOrBCYdQ7/N5F9CuhYI1JhcsaAiBCqO
Rqq0nfZBGfaLrTfaTio+LD2rdBQhPPTxCw1rg4gCVBeh6r4bmtzkKm7UHhbOfRl4
bQKCAQEAo3h0m5dzQlhkRQJJ5U4c9PRkGfQCk6LPHLAk2Qq/PSOxj15xLijLSSIR
p+311tdNzikExQpj9nqyw6NHMaEtV6f6Z1kux+XANe9xS7OkxiPLKLks2pV5hmnS
dQHadVDNwYSgAT4HMXFow/wg6Fh9kcJDJkImPy+R10IWuBAlgwcfGuKMG0Gb6mzW
amvfzW+vn9EGIALuT6YG2TpAKKES6ykfqHrbADPhQ/Q4ggWnn+05arFiQq5I4Qsm
d4AgAbGPCq2WZ7kxKCVgOJv1EbmDrVFvu0fDSaIJyaMgIaGYyQZwARd4NHZBiXCS
hFvkWRZjMYs0AR0xU827vN7rn5Mfpw==
-----END PRIVATE KEY-----
7 changes: 5 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
[tool.poetry]
package-mode = false
name="Jandig"
version="1.5.0"
description="AR Platform"
authors=["Check Github"]

[tool.poetry.dependencies]
python = "^3.10"
Expand Down Expand Up @@ -27,7 +30,7 @@ djangorestframework = "^3.13.1"
drf-nested-routers = "^0.93.4"
django-htmx = "^1.18.0"

[tool.poetry.dev-dependencies]
[tool.poetry.group.dev.dependencies]
playwright = "^1.41.2"
pytest = "^7.2.0"
pytest-xdist = "^3.0.2"
Expand Down
Loading