You've already forked Mailu
mirror of
https://github.com/Mailu/Mailu.git
synced 2025-08-10 22:31:47 +02:00
Merge branch 'master' into refactor-repo
This commit is contained in:
10
.gitignore
vendored
10
.gitignore
vendored
@@ -1,13 +1,15 @@
|
|||||||
*.pyc
|
*.pyc
|
||||||
*.mo
|
*.mo
|
||||||
__pycache__
|
__pycache__
|
||||||
/core/admin/lib
|
pip-selfcheck.json
|
||||||
|
/core/admin/lib*
|
||||||
/core/admin/bin
|
/core/admin/bin
|
||||||
/core/admin/include
|
/core/admin/include
|
||||||
pip-selfcheck.json
|
/docs/lib*
|
||||||
|
/docs/bin
|
||||||
|
/docs/include
|
||||||
|
/docs/_build
|
||||||
/.env
|
/.env
|
||||||
/data
|
|
||||||
/docker-compose.mac.yml
|
|
||||||
/docker-compose.yml
|
/docker-compose.yml
|
||||||
/.idea
|
/.idea
|
||||||
/.vscode
|
/.vscode
|
||||||
|
@@ -9,6 +9,8 @@ import flask_limiter
|
|||||||
|
|
||||||
import os
|
import os
|
||||||
import docker
|
import docker
|
||||||
|
import socket
|
||||||
|
import uuid
|
||||||
|
|
||||||
# Create application
|
# Create application
|
||||||
app = flask.Flask(__name__)
|
app = flask.Flask(__name__)
|
||||||
@@ -16,6 +18,8 @@ app = flask.Flask(__name__)
|
|||||||
default_config = {
|
default_config = {
|
||||||
'SQLALCHEMY_DATABASE_URI': 'sqlite:////data/main.db',
|
'SQLALCHEMY_DATABASE_URI': 'sqlite:////data/main.db',
|
||||||
'SQLALCHEMY_TRACK_MODIFICATIONS': False,
|
'SQLALCHEMY_TRACK_MODIFICATIONS': False,
|
||||||
|
'INSTANCE_ID_PATH': '/data/instance',
|
||||||
|
'STATS_ENDPOINT': '0.{}.stats.mailu.io',
|
||||||
'SECRET_KEY': 'changeMe',
|
'SECRET_KEY': 'changeMe',
|
||||||
'DOCKER_SOCKET': 'unix:///var/run/docker.sock',
|
'DOCKER_SOCKET': 'unix:///var/run/docker.sock',
|
||||||
'HOSTNAMES': 'mail.mailu.io',
|
'HOSTNAMES': 'mail.mailu.io',
|
||||||
@@ -50,6 +54,19 @@ db = flask_sqlalchemy.SQLAlchemy(app)
|
|||||||
migrate = flask_migrate.Migrate(app, db)
|
migrate = flask_migrate.Migrate(app, db)
|
||||||
limiter = flask_limiter.Limiter(app, key_func=lambda: current_user.username)
|
limiter = flask_limiter.Limiter(app, key_func=lambda: current_user.username)
|
||||||
|
|
||||||
|
# Run statistics
|
||||||
|
if os.path.isfile(app.config["INSTANCE_ID_PATH"]):
|
||||||
|
with open(app.config["INSTANCE_ID_PATH"], "r") as handle:
|
||||||
|
instance_id = handle.read()
|
||||||
|
else:
|
||||||
|
instance_id = str(uuid.uuid4())
|
||||||
|
with open(app.config["INSTANCE_ID_PATH"], "w") as handle:
|
||||||
|
handle.write(instance_id)
|
||||||
|
try:
|
||||||
|
socket.gethostbyname(app.config["STATS_ENDPOINT"].format(instance_id))
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
# Debugging toolbar
|
# Debugging toolbar
|
||||||
if app.config.get("DEBUG"):
|
if app.config.get("DEBUG"):
|
||||||
import flask_debugtoolbar
|
import flask_debugtoolbar
|
||||||
|
@@ -124,6 +124,8 @@ mail {
|
|||||||
listen 25;
|
listen 25;
|
||||||
listen [::]:25;
|
listen [::]:25;
|
||||||
{% if TLS and not TLS_ERROR %}
|
{% if TLS and not TLS_ERROR %}
|
||||||
|
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
|
||||||
|
ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4";
|
||||||
starttls on;
|
starttls on;
|
||||||
{% endif %}
|
{% endif %}
|
||||||
protocol smtp;
|
protocol smtp;
|
||||||
|
@@ -1,7 +1,7 @@
|
|||||||
ssl_protocols TLSv1.1 TLSv1.2;
|
ssl_protocols TLSv1.1 TLSv1.2;
|
||||||
ssl_ciphers 'EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA256:EECDH:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!IDEA:!ECDSA:kEDH:CAMELLIA128-SHA:AES128-SHA';
|
ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384';
|
||||||
ssl_prefer_server_ciphers on;
|
ssl_prefer_server_ciphers on;
|
||||||
ssl_session_timeout 5m;
|
ssl_session_timeout 10m;
|
||||||
ssl_certificate {{ TLS[0] }};
|
ssl_certificate {{ TLS[0] }};
|
||||||
ssl_certificate_key {{ TLS[1] }};
|
ssl_certificate_key {{ TLS[1] }};
|
||||||
|
ssl_dhparam /certs/dhparam.pem;
|
||||||
|
Reference in New Issue
Block a user