From 2ea9c89002ac02dcb74e9c15859b993e96a47f19 Mon Sep 17 00:00:00 2001 From: Pablo Silva Date: Sat, 26 Oct 2024 17:39:04 +0100 Subject: [PATCH 1/2] Add Mailpit service --- docker-compose.yml | 24 ++++++++++++++--- etc/mailpit/mailpit_cert.pem | 33 +++++++++++++++++++++++ etc/mailpit/mailpit_key.pem | 52 ++++++++++++++++++++++++++++++++++++ 3 files changed, 106 insertions(+), 3 deletions(-) create mode 100644 etc/mailpit/mailpit_cert.pem create mode 100644 etc/mailpit/mailpit_key.pem diff --git a/docker-compose.yml b/docker-compose.yml index 555e958e..4ae2d8cf 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -19,6 +19,8 @@ services: condition: service_started createbuckets: condition: service_started + mailpit: + condition: service_started postgres: condition: service_healthy command: /jandig/run.sh @@ -49,7 +51,7 @@ services: volumes: - media_data:/storage env_file: - - .envs/.env + - .envs/.example command: server /storage --console-address ":9001" createbuckets: @@ -57,7 +59,7 @@ services: 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; @@ -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: \ No newline at end of file + media_data: + mailpit_data: \ No newline at end of file diff --git a/etc/mailpit/mailpit_cert.pem b/etc/mailpit/mailpit_cert.pem new file mode 100644 index 00000000..055d3282 --- /dev/null +++ b/etc/mailpit/mailpit_cert.pem @@ -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----- diff --git a/etc/mailpit/mailpit_key.pem b/etc/mailpit/mailpit_key.pem new file mode 100644 index 00000000..859654db --- /dev/null +++ b/etc/mailpit/mailpit_key.pem @@ -0,0 +1,52 @@ +-----BEGIN PRIVATE KEY----- +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 +hFvkWRZjMYs0AR0xU827vN7rn5Mfpw== +-----END PRIVATE KEY----- From c2bab27339762ccc09d3bb03d146621804f3f470 Mon Sep 17 00:00:00 2001 From: Pablo Silva Date: Sat, 26 Oct 2024 17:39:47 +0100 Subject: [PATCH 2/2] Update project configuration to use mailpit --- .envs/.example | 4 ++-- etc/mailpit/README.md | 10 ++++++++++ pyproject.toml | 7 +++++-- 3 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 etc/mailpit/README.md diff --git a/.envs/.example b/.envs/.example index ff7e1fe1..34c0fbc5 100644 --- a/.envs/.example +++ b/.envs/.example @@ -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 JANDIG_EMAIL=local_jandig@jandig.com JANDIG_EMAIL_PASSWORD=local_password diff --git a/etc/mailpit/README.md b/etc/mailpit/README.md new file mode 100644 index 00000000..95f9dd19 --- /dev/null +++ b/etc/mailpit/README.md @@ -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 +``` \ No newline at end of file diff --git a/pyproject.toml b/pyproject.toml index 845541a9..788c974a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -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" @@ -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"